## AnjutaProfile

AnjutaProfile — Profile is a collection of plugins

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/anjuta-profile.h>

    #define             ANJUTA_PROFILE_ERROR
    enum                AnjutaProfileError;
                        AnjutaProfilePriv;
                        AnjutaProfile;
    GQuark              anjuta_profile_error_quark          (void);
    AnjutaProfile*      anjuta_profile_new                  (const gchar *profile_name,
                                                             AnjutaPluginManager *plugin_manager);
    const gchar*        anjuta_profile_get_name             (AnjutaProfile *profile);
    void                anjuta_profile_add_plugin           (AnjutaProfile *profile,
                                                             AnjutaPluginDescription *plugin);
    void                anjuta_profile_remove_plugin        (AnjutaProfile *profile,
                                                             AnjutaPluginDescription *plugin);
    gboolean            anjuta_profile_add_plugins_from_xml (AnjutaProfile *profile,
                                                             const gchar *profile_xml_uri,
                                                             gboolean exclude_from_sync,
                                                             GError **error);
    gboolean            anjuta_profile_has_plugin           (AnjutaProfile *profile,
                                                             AnjutaPluginDescription *plugin);
    GList*              anjuta_profile_get_plugins          (AnjutaProfile *profile);
    gchar*              anjuta_profile_to_xml               (AnjutaProfile *profile);
    void                anjuta_profile_set_sync_uri         (AnjutaProfile *profile,
                                                             const gchar *sync_uri);
    gboolean            anjuta_profile_sync                 (AnjutaProfile *profile,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----AnjutaProfile

## Properties

      "plugin-manager"           AnjutaPluginManager*  : Read / Write / Construct
      "plugins"                  gpointer              : Read / Write / Construct
      "profile-name"             gchar*                : Read / Write / Construct
      "sync-uri"                 gchar*                : Read / Write

## Signals

      "changed"                                        : Run First
      "plugin-added"                                   : Run First
      "plugin-removed"                                 : Run First

## Description

## Details

### ANJUTA_PROFILE_ERROR

    #define ANJUTA_PROFILE_ERROR            (anjuta_profile_error_quark())

### enum AnjutaProfileError

    typedef enum
    {
    	ANJUTA_PROFILE_ERROR_URI_READ_FAILED,
    	ANJUTA_PROFILE_ERROR_URI_WRITE_FAILED
    } AnjutaProfileError;

### AnjutaProfilePriv

    typedef struct _AnjutaProfilePriv AnjutaProfilePriv;

### AnjutaProfile

    typedef struct _AnjutaProfile AnjutaProfile;

### anjuta_profile_error_quark ()

    GQuark              anjuta_profile_error_quark          (void);

Returns : |

### anjuta_profile_new ()

    AnjutaProfile*      anjuta_profile_new                  (const gchar *profile_name,
                                                             AnjutaPluginManager *plugin_manager);

`profile_name` : |
`plugin_manager` : |
Returns : |

### anjuta_profile_get_name ()

    const gchar*        anjuta_profile_get_name             (AnjutaProfile *profile);

`profile` : |
Returns : |

### anjuta_profile_add_plugin ()

    void                anjuta_profile_add_plugin           (AnjutaProfile *profile,
                                                             AnjutaPluginDescription *plugin);

`profile` : |
`plugin` : |

### anjuta_profile_remove_plugin ()

    void                anjuta_profile_remove_plugin        (AnjutaProfile *profile,
                                                             AnjutaPluginDescription *plugin);

`profile` : |
`plugin` : |

### anjuta_profile_add_plugins_from_xml ()

    gboolean            anjuta_profile_add_plugins_from_xml (AnjutaProfile *profile,
                                                             const gchar *profile_xml_uri,
                                                             gboolean exclude_from_sync,
                                                             GError **error);

`profile` : |
`profile_xml_uri` : |
`exclude_from_sync` : |
`error` : |
Returns : |

### anjuta_profile_has_plugin ()

    gboolean            anjuta_profile_has_plugin           (AnjutaProfile *profile,
                                                             AnjutaPluginDescription *plugin);

`profile` : |
`plugin` : |
Returns : |

### anjuta_profile_get_plugins ()

    GList*              anjuta_profile_get_plugins          (AnjutaProfile *profile);

`profile` : |
Returns : |

### anjuta_profile_to_xml ()

    gchar*              anjuta_profile_to_xml               (AnjutaProfile *profile);

`profile` : |
Returns : |

### anjuta_profile_set_sync_uri ()

    void                anjuta_profile_set_sync_uri         (AnjutaProfile *profile,
                                                             const gchar *sync_uri);

`profile` : |
`sync_uri` : |

### anjuta_profile_sync ()

    gboolean            anjuta_profile_sync                 (AnjutaProfile *profile,
                                                             GError **error);

`profile` : |
`error` : |
Returns : |

## Property Details

### The `"plugin-manager"` property

      "plugin-manager"           AnjutaPluginManager*  : Read / Write / Construct

The plugin manager to use for resolving plugins.

### The `"plugins"` property

      "plugins"                  gpointer              : Read / Write / Construct

List of plugins for this profile.

### The `"profile-name"` property

      "profile-name"             gchar*                : Read / Write / Construct

Name of the plugin profile.

Default value: NULL

### The `"sync-uri"` property

      "sync-uri"                 gchar*                : Read / Write

URI to sync the profile xml.

Default value: NULL

## Signal Details

### The `"changed"` signal

    void                user_function                      (AnjutaProfile *anjutaprofile,
                                                            gpointer       arg1,
                                                            gpointer       user_data)          : Run First

`anjutaprofile` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"plugin-added"` signal

    void                user_function                      (AnjutaProfile *anjutaprofile,
                                                            gpointer       arg1,
                                                            gpointer       user_data)          : Run First

`anjutaprofile` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"plugin-removed"` signal

    void                user_function                      (AnjutaProfile *anjutaprofile,
                                                            gpointer       arg1,
                                                            gpointer       user_data)          : Run First

`anjutaprofile` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

## See Also

AnjutaProfileManager, AnjutaPlugin