IdeApplicationAddin: Builder SDK Reference

## IdeApplicationAddin IdeApplicationAddin — extend functionality of IdeApplication |

## Functions

void | ide_application_addin_load ()
void | ide_application_addin_unload ()

## Types and Values

#define | IDE_TYPE_APPLICATION_ADDIN
struct | IdeApplicationAddinInterface
| IdeApplicationAddin

## Object Hierarchy

        GInterface
        ╰── IdeApplicationAddin

## Prerequisites

IdeApplicationAddin requires GObject.

## Description

The IdeApplicationAddin interface is used by plugins that want to extend the set of features provided by IdeApplication. This is useful if you need utility code that is bound to the lifetime of the IdeApplication.

The IdeApplicationAddin is created after the application has initialized and unloaded when Builder is shut down.

Use this interface when you can share code between multiple projects that are open at the same time.

## Functions

### ide_application_addin_load ()

    void
    ide_application_addin_load (IdeApplicationAddin *self,
                                IdeApplication *application);

This interface method is called when the application is started or the plugin has just been activated.

Use this to setup code in your plugin that needs to be loaded once per application process.

#### Parameters

self | An IdeApplicationAddin. |
application | An IdeApplication. |

Since: 3.24

### ide_application_addin_unload ()

    void
    ide_application_addin_unload (IdeApplicationAddin *self,
                                  IdeApplication *application);

This inteface method is called when the application is shutting down or the plugin has been unloaded.

Use this function to cleanup after anything setup in `ide_application_addin_load()`.

#### Parameters

self | An IdeApplicationAddin. |
application | An IdeApplication. |

Since: 3.24

## Types and Values

### IDE_TYPE_APPLICATION_ADDIN

    #define IDE_TYPE_APPLICATION_ADDIN (ide_application_addin_get_type())

### struct IdeApplicationAddinInterface

    struct IdeApplicationAddinInterface {
      GTypeInterface parent_interface;

      void (*load)   (IdeApplicationAddin *self,
                      IdeApplication      *application);
      void (*unload) (IdeApplicationAddin *self,
                      IdeApplication      *application);
    };

#### Members

GTypeInterface `parent_interface`; |  |
`load` () | Set this field to implement the `ide_application_addin_load()` virtual method. |
`unload` () | Set this field to implement the `ide_application_addin_unload()` virtual method. |

### IdeApplicationAddin

    typedef struct _IdeApplicationAddin IdeApplicationAddin;