IAnjutaProject

IAnjutaProject — Interface implemented by project backend

Stability Level

Unstable, unless otherwise indicated

Functions

Signals

Object Hierarchy

    GEnum
    ├── IAnjutaProjectError
    ╰── IAnjutaProjectProbe
    GInterface
    ╰── IAnjutaProject

Includes

#include <libanjuta/interfaces/ianjuta-project-backend.h>

Description

This is the new interface that is replacing Gnome Build.

Functions

ianjuta_project_error_quark ()

GQuark
ianjuta_project_error_quark (void);

ianjuta_project_add_node_after ()

AnjutaProjectNode *
ianjuta_project_add_node_after (IAnjutaProject *obj,
                                AnjutaProjectNode *parent,
                                AnjutaProjectNode *sibling,
                                AnjutaProjectNodeType type,
                                GFile *file,
                                const gchar *name,
                                GError **err);

Create a new node and insert it after sibling

Parameters

obj

Self

 

parent

Parent.

[transfer none]

sibling

Sibling.

[allow-none][transfer none]

type

Node type

 

file

Optional file object for the node.

[allow-none][transfer none]

name

Optional name for the node.

[allow-none][transfer none]

err

Error propagation and reporting

 

Returns

The new node, NULL if error.

[transfer none]


ianjuta_project_add_node_before ()

AnjutaProjectNode *
ianjuta_project_add_node_before (IAnjutaProject *obj,
                                 AnjutaProjectNode *parent,
                                 AnjutaProjectNode *sibling,
                                 AnjutaProjectNodeType type,
                                 GFile *file,
                                 const gchar *name,
                                 GError **err);

Create a new node and insert it before sibling

Parameters

obj

Self

 

parent

Parent.

[transfer none]

sibling

Sibling.

[allow-none][transfer none]

type

Node type

 

file

Optional file object for the node.

[allow-none][transfer none]

name

Optional name for the node.

[allow-none][transfer none]

err

Error propagation and reporting

 

Returns

The new node, NULL if error.

[transfer none]


ianjuta_project_get_node_info ()

const GList *
ianjuta_project_get_node_info (IAnjutaProject *obj,
                               GError **err);

Return a list of possible node;

Parameters

obj

Self

 

err

Error propagation and reporting

 

Returns

A list containing information on all node supported by the project.

[element-type Anjuta.ProjectNodeInfo][transfer none]


ianjuta_project_get_root ()

AnjutaProjectNode *
ianjuta_project_get_root (IAnjutaProject *obj,
                          GError **err);

Get root_node

Parameters

obj

Self

 

err

Error propagation and reporting

 

Returns

The root node.

[transfer none]


ianjuta_project_is_loaded ()

gboolean
ianjuta_project_is_loaded (IAnjutaProject *obj,
                           GError **err);

Return TRUE if the project is loaded;

Parameters

obj

Self

 

err

Error propagation and reporting

 

Returns

TRUE if the project is completely loaded.


ianjuta_project_load_node ()

gboolean
ianjuta_project_load_node (IAnjutaProject *obj,
                           AnjutaProjectNode *node,
                           GError **err);

Reload a project node

Parameters

obj

Self

 

node

Project node to reload.

[transfer none]

err

Error propagation and reporting

 

Returns

TRUE if the node has been loaded without error


ianjuta_project_remove_node ()

gboolean
ianjuta_project_remove_node (IAnjutaProject *obj,
                             AnjutaProjectNode *node,
                             GError **err);

Remove a node

Parameters

obj

Self

 

node

Node.

[transfer none]

err

Error propagation and reporting

 

Returns

TRUE if the node can be removed


ianjuta_project_remove_property ()

gboolean
ianjuta_project_remove_property (IAnjutaProject *obj,
                                 AnjutaProjectNode *node,
                                 const gchar *id,
                                 const gchar *name,
                                 GError **err);

Remove a property of the node

Parameters

obj

Self

 

node

Node.

[transfer none]

id

Property.

[transfer none]

name

Name for map property.

[allow-none][transfer none]

err

Error propagation and reporting

 

Returns

TRUE if the node is removed


ianjuta_project_save_node ()

gboolean
ianjuta_project_save_node (IAnjutaProject *obj,
                           AnjutaProjectNode *node,
                           GError **err);

Save a project node

Parameters

obj

Self

 

node

Project node to save.

[transfer none]

err

Error propagation and reporting

 

Returns

TRUE if the node has been saved without error


ianjuta_project_set_property ()

AnjutaProjectProperty *
ianjuta_project_set_property (IAnjutaProject *obj,
                              AnjutaProjectNode *node,
                              const gchar *id,
                              const gchar *name,
                              const gchar *value,
                              GError **err);

Change a properties on node.

Parameters

obj

Self

 

node

Node.

[transfer none]

id

Property.

[transfer none]

name

Name for map property.

[allow-none][transfer none]

value

Value.

[transfer none]

err

Error propagation and reporting

 

Returns

The new property of NULL if the property cannot be set.

[allow-none][transfer none]

Types and Values

Signal Details

The “file-changed” signal

void
user_function (IAnjutaProject *obj,
               gpointer        node,
               gpointer        user_data)

This signal is emitted when the project is changed on the disk. The corresponding node has to be reloaded.

Parameters

obj

Self

 

node

Node to be reloaded.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “node-changed” signal

void
user_function (IAnjutaProject *obj,
               gpointer        node,
               GError         *error,
               gpointer        user_data)

This signal is emitted when a node is changed by a function of this interface. The error argument is not NULL if the change was not possible. The corresponding node need to be saved.

Parameters

obj

Self

 

node

Changed node.

 

error

Error while changing node

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “node-loaded” signal

void
user_function (IAnjutaProject *obj,
               gpointer        node,
               GError         *error,
               gpointer        user_data)

This signal is emitted when a node is loaded. It returns an error if the load operation fail.

Parameters

obj

Self

 

node

Loaded node.

 

error

Error while loading node

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “node-saved” signal

void
user_function (IAnjutaProject *obj,
               gpointer        node,
               GError         *error,
               gpointer        user_data)

This signal is emitted when a node is saved. It returns an error if the save operation fail.

Parameters

obj

Self

 

node

Saved node.

 

error

Error while saving node

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last