## IdeBuildPipelineAddin IdeBuildPipelineAddin |

## Functions

void | ide_build_pipeline_addin_load ()
void | ide_build_pipeline_addin_unload ()
void | ide_build_pipeline_addin_track ()

## Types and Values

#define | IDE_TYPE_BUILD_PIPELINE_ADDIN
struct | IdeBuildPipelineAddinInterface
| IdeBuildPipelineAddin

## Object Hierarchy

        GInterface
        ╰── IdeBuildPipelineAddin

## Prerequisites

IdeBuildPipelineAddin requires IdeObject.

## Description

## Functions

### ide_build_pipeline_addin_load ()

    void
    ide_build_pipeline_addin_load (IdeBuildPipelineAddin *self,
                                   IdeBuildPipeline *pipeline);

### ide_build_pipeline_addin_unload ()

    void
    ide_build_pipeline_addin_unload (IdeBuildPipelineAddin *self,
                                     IdeBuildPipeline *pipeline);

### ide_build_pipeline_addin_track ()

    void
    ide_build_pipeline_addin_track (IdeBuildPipelineAddin *self,
                                    guint stage_id);

This function will track the stage_id that was returned from `ide_build_pipeline_connect()` or similar functions. Doing so results in the stage being automatically disconnected when the addin is unloaded.

This means that many IdeBuildPipelineAddin implementations do not need an unload vfunc if they track all registered stages.

You should not mix this function with manual pipeline disconnections. While it should work, that is not yet guaranteed.

#### Parameters

self | An IdeBuildPipelineAddin |
stage_id | a stage id returned from `ide_build_pipeline_connect()` |

## Types and Values

### IDE_TYPE_BUILD_PIPELINE_ADDIN

    #define IDE_TYPE_BUILD_PIPELINE_ADDIN (ide_build_pipeline_addin_get_type())

### struct IdeBuildPipelineAddinInterface

    struct IdeBuildPipelineAddinInterface {
      GTypeInterface type_interface;

      void (*load)   (IdeBuildPipelineAddin *self,
                      IdeBuildPipeline      *pipeline);
      void (*unload) (IdeBuildPipelineAddin *self,
                      IdeBuildPipeline      *pipeline);
    };

### IdeBuildPipelineAddin

    typedef struct _IdeBuildPipelineAddin IdeBuildPipelineAddin;