## ianjuta-project-manager

ianjuta-project-manager —

##

# Synopsis

    enum        IAnjutaProjectManagerElementType;
    enum        IAnjutaProjectManagerTargetType;
    #define     IANJUTA_PROJECT_MANAGER_ERROR
    struct      IAnjutaProjectManager;
    struct      IAnjutaProjectManagerIface;
    GQuark      ianjuta_project_manager_error_quark
                                                (void);
    gchar*      ianjuta_project_manager_add_group
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *group_name_to_add,
                                                 const gchar *default_location_uri,
                                                 GError **err);
    char*       ianjuta_project_manager_add_source
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *source_uri_to_add,
                                                 const gchar *default_location_uri,
                                                 GError **err);
    gchar*      ianjuta_project_manager_add_target
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *target_name_to_add,
                                                 const gchar *default_location_uri,
                                                 GError **err);
    GList*      ianjuta_project_manager_get_children
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *element_uri,
                                                 GError **err);
    IAnjutaProjectManagerElementType ianjuta_project_manager_get_element_type
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *element_uri,
                                                 GError **err);
    GList*      ianjuta_project_manager_get_elements
                                                (IAnjutaProjectManager *obj,
                                                 IAnjutaProjectManagerElementType element_type,
                                                 GError **err);
    gchar*      ianjuta_project_manager_get_parent
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *element_uri,
                                                 GError **err);
    gchar*      ianjuta_project_manager_get_selected
                                                (IAnjutaProjectManager *obj,
                                                 GError **err);
    IAnjutaProjectManagerTargetType ianjuta_project_manager_get_target_type
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *target_uri,
                                                 GError **err);
    GList*      ianjuta_project_manager_get_targets
                                                (IAnjutaProjectManager *obj,
                                                 IAnjutaProjectManagerTargetType target_type,
                                                 GError **err);
    gboolean    ianjuta_project_manager_is_open (IAnjutaProjectManager *obj,
                                                 GError **err);

## Object Hierarchy

      GInterface
       +----IAnjutaProjectManager

## Prerequisites

IAnjutaProjectManager requires GObject.

## Description

## Details

### enum IAnjutaProjectManagerElementType

    typedef enum {
    	IANJUTA_PROJECT_MANAGER_UNKNOWN,
    	IANJUTA_PROJECT_MANAGER_SOURCE,
    	IANJUTA_PROJECT_MANAGER_TARGET,
    	IANJUTA_PROJECT_MANAGER_GROUP
    } IAnjutaProjectManagerElementType;

### enum IAnjutaProjectManagerTargetType

    typedef enum {
    	IANJUTA_PROJECT_MANAGER_TARGET_UNKNOWN,
    	IANJUTA_PROJECT_MANAGER_TARGET_SHAREDLIB,
    	IANJUTA_PROJECT_MANAGER_TARGET_STATICLIB,
    	IANJUTA_PROJECT_MANAGER_TARGET_EXECUTABLE
    } IAnjutaProjectManagerTargetType;

### IANJUTA_PROJECT_MANAGER_ERROR

    #define IANJUTA_PROJECT_MANAGER_ERROR ianjuta_project_manager_error_quark()

### struct IAnjutaProjectManager

    struct IAnjutaProjectManager;

### struct IAnjutaProjectManagerIface

    struct IAnjutaProjectManagerIface {

    	GTypeInterface g_iface;

    	/* Signal */
    	void (*element_added) (IAnjutaProjectManager *obj, const gchar *element_uri);
    	/* Signal */
    	void (*element_removed) (IAnjutaProjectManager *obj, const gchar *element_uri);
    	/* Signal */
    	void (*element_selected) (IAnjutaProjectManager *obj, const gchar *element_uri);

    	gchar* (*add_group) (IAnjutaProjectManager *obj, const gchar *group_name_to_add, const gchar *default_location_uri, GError **err);
    	char* (*add_source) (IAnjutaProjectManager *obj, const gchar *source_uri_to_add, const gchar *default_location_uri, GError **err);
    	GSList* (*add_source_multi) (IAnjutaProjectManager *obj, GSList *source_uri_to_add, const gchar *default_location_uri, GError **err);
    	gchar* (*add_target) (IAnjutaProjectManager *obj, const gchar *target_name_to_add, const gchar *default_location_uri, GError **err);
    	GList* (*get_children) (IAnjutaProjectManager *obj, const gchar *element_uri, GError **err);
    	IAnjutaProjectManagerElementType (*get_element_type) (IAnjutaProjectManager *obj, const gchar *element_uri, GError **err);
    	GList* (*get_elements) (IAnjutaProjectManager *obj, IAnjutaProjectManagerElementType element_type, GError **err);
    	gchar* (*get_parent) (IAnjutaProjectManager *obj, const gchar *element_uri, GError **err);
    	gchar* (*get_selected) (IAnjutaProjectManager *obj, GError **err);
    	IAnjutaProjectManagerTargetType (*get_target_type) (IAnjutaProjectManager *obj, const gchar *target_uri, GError **err);
    	GList* (*get_targets) (IAnjutaProjectManager *obj, IAnjutaProjectManagerTargetType target_type, GError **err);
    	gboolean (*is_open) (IAnjutaProjectManager *obj, GError **err);

    };

### ianjuta_project_manager_error_quark ()

    GQuark      ianjuta_project_manager_error_quark
                                                (void);

Returns : |

### ianjuta_project_manager_add_group ()

    gchar*      ianjuta_project_manager_add_group
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *group_name_to_add,
                                                 const gchar *default_location_uri,
                                                 GError **err);

fixme

`obj` : | Self
`group_name_to_add` : | fixme
`default_location_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_add_source ()

    char*       ianjuta_project_manager_add_source
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *source_uri_to_add,
                                                 const gchar *default_location_uri,
                                                 GError **err);

Prompt the user to add a file to the project. If the user selects multiple files only the first uri is returned.

`obj` : | Self
`source_uri_to_add` : | fixme
`default_location_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : | element URIs. Must be freed when no longer required.

### ianjuta_project_manager_add_target ()

    gchar*      ianjuta_project_manager_add_target
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *target_name_to_add,
                                                 const gchar *default_location_uri,
                                                 GError **err);

fixme

`obj` : | Self
`target_name_to_add` : | fixme
`default_location_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : |

### ianjuta_project_manager_get_children ()

    GList*      ianjuta_project_manager_get_children
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *element_uri,
                                                 GError **err);

fixme

`obj` : | Self
`element_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_get_element_type ()

    IAnjutaProjectManagerElementType ianjuta_project_manager_get_element_type
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *element_uri,
                                                 GError **err);

fixme

`obj` : | Self
`element_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_get_elements ()

    GList*      ianjuta_project_manager_get_elements
                                                (IAnjutaProjectManager *obj,
                                                 IAnjutaProjectManagerElementType element_type,
                                                 GError **err);

fixme

`obj` : | Self
`element_type` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_get_parent ()

    gchar*      ianjuta_project_manager_get_parent
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *element_uri,
                                                 GError **err);

fixme

`obj` : | Self
`element_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_get_selected ()

    gchar*      ianjuta_project_manager_get_selected
                                                (IAnjutaProjectManager *obj,
                                                 GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : |

### ianjuta_project_manager_get_target_type ()

    IAnjutaProjectManagerTargetType ianjuta_project_manager_get_target_type
                                                (IAnjutaProjectManager *obj,
                                                 const gchar *target_uri,
                                                 GError **err);

fixme

`obj` : | Self
`target_uri` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_get_targets ()

    GList*      ianjuta_project_manager_get_targets
                                                (IAnjutaProjectManager *obj,
                                                 IAnjutaProjectManagerTargetType target_type,
                                                 GError **err);

fixme

`obj` : | Self
`target_type` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_project_manager_is_open ()

    gboolean    ianjuta_project_manager_is_open (IAnjutaProjectManager *obj,
                                                 GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : |