IdePipelineAddin

IdePipelineAddin

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── IdePipelineAddin

Prerequisites

IdePipelineAddin requires IdeObject.

Description

Functions

ide_pipeline_addin_prepare ()

void
ide_pipeline_addin_prepare (IdePipelineAddin *self,
                            IdePipeline *pipeline);

This function is called before prepare so that plugins may setup signals on the pipeline that may allow them to affect how other plugins interact.

For example, if you need to connect to pipeline::launcher-created, you might want to do that here.

Parameters

self

a IdePipelineAddin

 

pipeline

an IdePipeline

 

Since: 3.34


ide_pipeline_addin_load ()

void
ide_pipeline_addin_load (IdePipelineAddin *self,
                         IdePipeline *pipeline);

ide_pipeline_addin_unload ()

void
ide_pipeline_addin_unload (IdePipelineAddin *self,
                           IdePipeline *pipeline);

ide_pipeline_addin_track ()

void
ide_pipeline_addin_track (IdePipelineAddin *self,
                          guint stage_id);

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

This means that many IdePipelineAddin 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 IdePipelineAddin

 

stage_id

a stage id returned from ide_pipeline_attach()

 

Since: 3.32

Types and Values

IDE_TYPE_PIPELINE_ADDIN

#define IDE_TYPE_PIPELINE_ADDIN (ide_pipeline_addin_get_type())

struct IdePipelineAddinInterface

struct IdePipelineAddinInterface {
  GTypeInterface type_interface;

  void (*load)    (IdePipelineAddin *self,
                   IdePipeline      *pipeline);
  void (*unload)  (IdePipelineAddin *self,
                   IdePipeline      *pipeline);
  void (*prepare) (IdePipelineAddin *self,
                   IdePipeline      *pipeline);
};

IdePipelineAddin

typedef struct _IdePipelineAddin IdePipelineAddin;