## IAnjutaBuilder IAnjutaBuilder — Implemented by plugins that can build |

## Stability Level

Unstable, unless otherwise indicated

## Functions

void | (*IAnjutaBuilderCallback) ()
GQuark | ianjuta_builder_error_quark ()
IAnjutaBuilderHandle | ianjuta_builder_build ()
void | ianjuta_builder_cancel ()
const gchar * | ianjuta_builder_get_uri_configuration ()
IAnjutaBuilderHandle | ianjuta_builder_is_built ()
GList * | ianjuta_builder_list_configuration ()

## Types and Values

#define | IANJUTA_BUILDER_ROOT_URI
#define | IANJUTA_BUILDER_CONFIGURATION_DEBUG
#define | IANJUTA_BUILDER_CONFIGURATION_OPTIMIZED
#define | IANJUTA_BUILDER_CONFIGURATION_PROFILING
enum | IAnjutaBuilderError
typedef | IAnjutaBuilderHandle

## Object Hierarchy

        GEnum
        ╰── IAnjutaBuilderError
        GInterface
        ╰── IAnjutaBuilder

## Includes

    #include <libanjuta/interfaces/ianjuta-builder.h>

## Description

## Functions

### IAnjutaBuilderCallback ()

    void
    (*IAnjutaBuilderCallback) (GObject *sender,
                               IAnjutaBuilderHandle command,
                               GError *err,
                               gpointer user_data);

### ianjuta_builder_error_quark ()

    GQuark
    ianjuta_builder_error_quark (void);

### ianjuta_builder_build ()

    IAnjutaBuilderHandle
    ianjuta_builder_build (IAnjutaBuilder *obj,
                           const gchar *uri,
                           IAnjutaBuilderCallback callback,
                           gpointer user_data,
                           GError **err);

Build the specified target. When the command if finished, the callback function is called if defined.

#### Parameters

obj | Self |
uri | target uri |
callback | callback called when command is finished |
user_data | data passed to the callback |
err | Error propagation and reporting. |

#### Returns

non null command handle if succeed

### ianjuta_builder_cancel ()

    void
    ianjuta_builder_cancel (IAnjutaBuilder *obj,
                            IAnjutaBuilderHandle handle,
                            GError **err);

Cancel specified command. The callback function will not be called.

#### Parameters

obj | Self |
handle | handle of the command to cancel |
err | Error propagation and reporting. |

### ianjuta_builder_get_uri_configuration ()

    const gchar *
    ianjuta_builder_get_uri_configuration (IAnjutaBuilder *obj,
                                           const gchar *uri,
                                           GError **err);

Get the configuration corresponding to the target uri.

#### Parameters

obj | Self |
uri | target uri |
err | Error propagation and reporting. |

#### Returns

The configuration name or NULL if the corresponding configuration cannot be found.

### ianjuta_builder_is_built ()

    IAnjutaBuilderHandle
    ianjuta_builder_is_built (IAnjutaBuilder *obj,
                              const gchar *uri,
                              IAnjutaBuilderCallback callback,
                              gpointer user_data,
                              GError **err);

Check if the corresponding target is up to date or not. This command doesn't display anything. If this command cannot be implemented, it is possible to return always TRUE. When the command is finished, the callback function is called if defined.

#### Parameters

obj | Self |
uri | target uri |
callback | callback called when command is finished |
user_data | data passed to the callback |
err | Error propagation and reporting. |

#### Returns

non null command handle if succeed

### ianjuta_builder_list_configuration ()

    GList *
    ianjuta_builder_list_configuration (IAnjutaBuilder *obj,
                                        GError **err);

List all defined configuration. These names returned are the internal non localized names for the following predefined configuration: Debug, Profiling, Optimized. The default configuration has no name and is not returned.

#### Parameters

obj | Self |
err | Error propagation and reporting. |

#### Returns

a list configuration name. The names are owned by the plugin, so only the list has to be free using g_list_free.

[element-type utf8][transfer container]

## Types and Values

### IANJUTA_BUILDER_ROOT_URI

    #define IANJUTA_BUILDER_ROOT_URI "build_root_uri"

Build directory uri. It is the same than the project_root_uri for in source build.

### IANJUTA_BUILDER_CONFIGURATION_DEBUG

    #define IANJUTA_BUILDER_CONFIGURATION_DEBUG "Debug"

Name of debugging configutation.

### IANJUTA_BUILDER_CONFIGURATION_OPTIMIZED

    #define IANJUTA_BUILDER_CONFIGURATION_OPTIMIZED "Optimized"

Name of optimized configutation.

### IANJUTA_BUILDER_CONFIGURATION_PROFILING

    #define IANJUTA_BUILDER_CONFIGURATION_PROFILING "Profiling"

Name of profiling configutation.

### enum IAnjutaBuilderError

Possible build errors

#### Members

IANJUTA_BUILDER_SUCCEED | Build succeeded |
IANJUTA_BUILDER_FAILED | Build failed |
IANJUTA_BUILDER_CANCELED | Build was canceld |
IANJUTA_BUILDER_ABORTED | Build aborted |
IANJUTA_BUILDER_INTERRUPTED | Build interruped |
IANJUTA_BUILDER_TERMINATED | Build interruped |
IANJUTA_BUILDER_UNKNOWN_TARGET | The specified target is unknown |
IANJUTA_BUILDER_UNKNOWN_ERROR | Unknown Error |
IANJUTA_BUILDER_OTHER_ERROR | Other Error (no unknown ;-)) |

### IAnjutaBuilderHandle

    typedef gpointer IAnjutaBuilderHandle;