## Utilities

Utilities — Random misc utilities to manipulate Bonobo_ServerInfo structures.

## Synopsis

    #include <bonobo-activation/bonobo-activation.h>

    enum                Bonobo_ActivationPropertyType;
    Bonobo_ActivationProperty * bonobo_server_info_prop_find
                                                            (Bonobo_ServerInfo *server,
                                                             const char *prop_name);
    Bonobo_ActivationID  bonobo_activation_info_stringify   (const BonoboActivationInfo *actinfo);
    BonoboActivationInfo * bonobo_activation_servinfo_to_actinfo
                                                            (const Bonobo_ServerInfo *servinfo);
    BonoboActivationInfo * bonobo_activation_id_parse       (const CORBA_char *actid);
    BonoboActivationInfo * bonobo_activation_info_new       (void);
    void                bonobo_activation_info_free         (BonoboActivationInfo *actinfo);
    const char *        bonobo_server_info_prop_lookup      (Bonobo_ServerInfo *server,
                                                             const char *prop_name,
                                                             GSList *i18n_languages);
    typedef             Bonobo_ServerInfoList;
    Bonobo_ServerInfo * bonobo_activation_get_default_component_for_mime_type
                                                            (const char *mime_type);
    GList *             bonobo_activation_get_all_components_for_mime_type
                                                            (const char *mime_type);

## Description

## Details

### enum Bonobo_ActivationPropertyType

    typedef enum {
      Bonobo_ACTIVATION_P_STRING,
      Bonobo_ACTIVATION_P_NUMBER,
      Bonobo_ACTIVATION_P_BOOLEAN,
      Bonobo_ACTIVATION_P_STRINGV
    } Bonobo_ActivationPropertyType;

### bonobo_server_info_prop_find ()

    Bonobo_ActivationProperty * bonobo_server_info_prop_find
                                                            (Bonobo_ServerInfo *server,
                                                             const char *prop_name);

Tries to find a server with the given property. Returns NULL if not found.

`server` : | the server where to seek the data.
`prop_name` : | the data to seek in the server.
Returns : | a pointer to the `Bonobo_ActivationProperty` structure.

### bonobo_activation_info_stringify ()

    Bonobo_ActivationID  bonobo_activation_info_stringify   (const BonoboActivationInfo *actinfo);

### Warning

`bonobo_activation_info_stringify` is deprecated and should not be used in newly-written code.

Serializes `actinfo` into a char *. Should be freed with `g_free()`.

`actinfo` : | the `BonoboActivationInfo` to flatten.
Returns : | the serialized version of `actinfo`.

### bonobo_activation_servinfo_to_actinfo ()

    BonoboActivationInfo * bonobo_activation_servinfo_to_actinfo
                                                            (const Bonobo_ServerInfo *servinfo);

### Warning

`bonobo_activation_servinfo_to_actinfo` is deprecated and should not be used in newly-written code.

This function converts a `Bonobo_ServerInfo` structure to a `BonoboActivationInfo` structure. The returned structure should be freed with bonobo_activation_info_free.

`servinfo` : | An array of `Bonobo_ServerInfo` structures.
Returns : | a newly allocated initialized `BonoboActivationInfo` structure.

### bonobo_activation_id_parse ()

    BonoboActivationInfo * bonobo_activation_id_parse       (const CORBA_char *actid);

### Warning

`bonobo_activation_id_parse` is deprecated and should not be used in newly-written code.

Returns a pointer to a newly allocated `BonoboActivationInfo` structure (to be freed with bonobo_activation_info_free) initialized with the data of `actid`.

`actid` : | the activation id structure.
Returns : | the `BonoboActivationInfo` corresponding to `actid`.

### bonobo_activation_info_new ()

    BonoboActivationInfo * bonobo_activation_info_new       (void);

### Warning

`bonobo_activation_info_new` is deprecated and should not be used in newly-written code.

This function allocates a `BonoboActicationInfo` structure and returns it. Should NOT be called from outside of this code.

Returns : | a newly allocated non-initialized `BonoboActicationInfo` structure.

### bonobo_activation_info_free ()

    void                bonobo_activation_info_free         (BonoboActivationInfo *actinfo);

### Warning

`bonobo_activation_info_free` is deprecated and should not be used in newly-written code.

Frees `actinfo`.

`actinfo` : | the `BonoboActivationInfo` structure to free.

### bonobo_server_info_prop_lookup ()

    const char *        bonobo_server_info_prop_lookup      (Bonobo_ServerInfo *server,
                                                             const char *prop_name,
                                                             GSList *i18n_languages);

`server` : |
`prop_name` : |
`i18n_languages` : |
Returns : |

### Bonobo_ServerInfoList

    typedef CORBA_sequence_Bonobo_ServerInfo Bonobo_ServerInfoList;

### bonobo_activation_get_default_component_for_mime_type ()

    Bonobo_ServerInfo * bonobo_activation_get_default_component_for_mime_type
                                                            (const char *mime_type);

Query the MIME database for the default Bonobo component to be activated to view files of MIME type `mime_type`.

`mime_type` : | a const char * containing a mime type, e.g. "image/png".
Returns : | a Bonobo_ServerInfo * representing the OAF server to be activated to get a reference to the proper component.

Since 2.16.0

### bonobo_activation_get_all_components_for_mime_type ()

    GList *             bonobo_activation_get_all_components_for_mime_type
                                                            (const char *mime_type);

Return an alphabetically sorted list of Bonobo_ServerInfo data structures representing all Bonobo components registered to handle files of `mime_type` (and supertypes).

`mime_type` : | a const char * containing a mime type, e.g. "image/png".
Returns : | a GList * where the elements are Bonobo_ServerInfo * representing components that can handle `mime_type`.

Since 2.16.0