## AnjutaPluginDescription

AnjutaPluginDescription — Plugins meta data description

##

# Synopsis

    struct      AnjutaPluginDescription;
    void        (*AnjutaPluginDescriptionSectionFunc)
                                                (AnjutaPluginDescription *df,
                                                 const gchar *name,
                                                 gpointer user_data);
    void        (*AnjutaPluginDescriptionLineFunc)
                                                (AnjutaPluginDescription *df,
                                                 const gchar *key,
                                                 const gchar *locale,
                                                 const gchar *value,
                                                 gpointer data);
    enum        AnjutaPluginDescriptionParseError;
    #define     ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR
    GQuark      anjuta_plugin_description_parse_error_quark
                                                (void);
    AnjutaPluginDescription* anjuta_plugin_description_new
                                                (const gchar *filename,
                                                 GError **error);
    AnjutaPluginDescription* anjuta_plugin_description_new_from_string
                                                (gchar *data,
                                                 GError **error);
    gchar*      anjuta_plugin_description_to_string
                                                (AnjutaPluginDescription *pf);
    void        anjuta_plugin_description_free  (AnjutaPluginDescription *pf);
    void        anjuta_plugin_description_foreach_section
                                                (AnjutaPluginDescription *pf,
                                                 AnjutaPluginDescriptionSectionFunc func,
                                                 gpointer user_data);
    void        anjuta_plugin_description_foreach_key
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 gboolean include_localized,
                                                 AnjutaPluginDescriptionLineFunc func,
                                                 gpointer user_data);
    gboolean    anjuta_plugin_description_get_raw
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 const gchar *locale,
                                                 gchar **val);
    gboolean    anjuta_plugin_description_get_integer
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 gint *val);
    gboolean    anjuta_plugin_description_get_string
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 gchar **val);
    gboolean    anjuta_plugin_description_get_locale_string
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 gchar **val);

## Description

## Details

### struct AnjutaPluginDescription

    struct AnjutaPluginDescription;

### AnjutaPluginDescriptionSectionFunc ()

    void        (*AnjutaPluginDescriptionSectionFunc)
                                                (AnjutaPluginDescription *df,
                                                 const gchar *name,
                                                 gpointer user_data);

`df` : |
`name` : |
`user_data` : |

### AnjutaPluginDescriptionLineFunc ()

    void        (*AnjutaPluginDescriptionLineFunc)
                                                (AnjutaPluginDescription *df,
                                                 const gchar *key,
                                                 const gchar *locale,
                                                 const gchar *value,
                                                 gpointer data);

`df` : |
`key` : |
`locale` : |
`value` : |
`data` : |

### enum AnjutaPluginDescriptionParseError

    typedef enum
    {
      ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR_INVALID_SYNTAX,
      ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR_INVALID_ESCAPES,
      ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR_INVALID_CHARS
    } AnjutaPluginDescriptionParseError;

### ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR

    #define     ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR

### anjuta_plugin_description_parse_error_quark ()

    GQuark      anjuta_plugin_description_parse_error_quark
                                                (void);

Returns : |

### anjuta_plugin_description_new ()

    AnjutaPluginDescription* anjuta_plugin_description_new
                                                (const gchar *filename,
                                                 GError **error);

`filename` : |
`error` : |
Returns : |

### anjuta_plugin_description_new_from_string ()

    AnjutaPluginDescription* anjuta_plugin_description_new_from_string
                                                (gchar *data,
                                                 GError **error);

Parses the given plugin description data (usally read from the plugin description file and creates an instance of AnjutaPluginDescription. The format of the content string is similar to .ini format.

`data` : | The data to parse. The format of the data is .ini style.
`error` : |
Returns : | a new AnjutaPluginDescription object

### anjuta_plugin_description_to_string ()

    gchar*      anjuta_plugin_description_to_string
                                                (AnjutaPluginDescription *pf);

Converts the description detains into string format, usually for saving it in a file.

`pf` : |
Returns : | The string representation of the description. The returned values must be freed after use.

### anjuta_plugin_description_free ()

    void        anjuta_plugin_description_free  (AnjutaPluginDescription *pf);

Frees the AnjutaPluginDescription instance.

`pf` : |

### anjuta_plugin_description_foreach_section ()

    void        anjuta_plugin_description_foreach_section
                                                (AnjutaPluginDescription *pf,
                                                 AnjutaPluginDescriptionSectionFunc func,
                                                 gpointer user_data);

Calls `func` for each of the sections in the description.

`pf` : |
`func` : | Callback function.
`user_data` : | User data to pass to `func`.

### anjuta_plugin_description_foreach_key ()

    void        anjuta_plugin_description_foreach_key
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 gboolean include_localized,
                                                 AnjutaPluginDescriptionLineFunc func,
                                                 gpointer user_data);

Calls `func` for each of the keys in the given section. `include_localized`, if set to TRUE will make it call `func` for the localized keys also, otherwise only one call is made for the key in current locale.

`df` : | an AnjutaPluginDescription object.
`section` : |
`include_localized` : | Whether each localized key should be called separately.
`func` : | The callback function.
`user_data` : | User data to pass to `func`.

### anjuta_plugin_description_get_raw ()

    gboolean    anjuta_plugin_description_get_raw
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 const gchar *locale,
                                                 gchar **val);

Retrieves the value of a key (in the given section) for the given locale. The value returned in `val` must be freed after use.

`df` : | an AnjutaPluginDescription object.
`section` : |
`keyname` : | Name of the key.
`locale` : | The locale for which the value is to be retrieved.
`val` : | Pointer to the variable to store the string value.
Returns : | TRUE if sucessful, otherwise FALSE.

### anjuta_plugin_description_get_integer ()

    gboolean    anjuta_plugin_description_get_integer
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 gint *val);

Returns the value of key as integer in the given section in current locale.

`df` : | an AnjutaPluginDescription object.
`section` : | Section name.
`keyname` : | Key name.
`val` : | Pointer to value to store retured value.
Returns : | TRUE if sucessful, otherwise FALSE.

### anjuta_plugin_description_get_string ()

    gboolean    anjuta_plugin_description_get_string
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 gchar **val);

Returns the value of key in the given section.

`df` : | an AnjutaPluginDescription object.
`section` : | Section name.
`keyname` : | Key name.
`val` : | Pointer to value to store retured value.
Returns : | TRUE if sucessful, otherwise FALSE.

### anjuta_plugin_description_get_locale_string ()

    gboolean    anjuta_plugin_description_get_locale_string
                                                (AnjutaPluginDescription *df,
                                                 const gchar *section,
                                                 const gchar *keyname,
                                                 gchar **val);

Returns the value of key in the given section in current locale.

`df` : | an AnjutaPluginDescription object.
`section` : | Section name.
`keyname` : | Key name.
`val` : | Pointer to value to store retured value.
Returns : | TRUE if sucessful, otherwise FALSE.