## OGMJobContainer OGMJobContainer — Base class for spawns which contain other spawns |

## Synopsis

    #include <ogmjob-container.h>

    void                (*OGMJobCallback)                   (OGMJobSpawn *spawn,
                                                             gpointer data);
    struct              OGMJobContainer;
    void                ogmjob_container_add                (OGMJobContainer *container,
                                                             OGMJobSpawn *spawn);
    void                ogmjob_container_remove             (OGMJobContainer *container,
                                                             OGMJobSpawn *spawn);
    void                ogmjob_container_foreach            (OGMJobContainer *container,
                                                             OGMJobCallback callback,
                                                             gpointer data);

## Object Hierarchy

      GObject
       +----OGMJobSpawn
             +----OGMJobContainer
                   +----OGMJobBin
                   +----OGMJobList

## Signals

      "add"                                            : No Hooks
      "remove"                                         : No Hooks

## Description

## Details

### OGMJobCallback ()

    void                (*OGMJobCallback)                   (OGMJobSpawn *spawn,
                                                             gpointer data);

Specifies the type of functions passed to `ogmjob_container_foreach()`.

`spawn` : | An OGMJobSpawn
`data` : | The user data

### struct OGMJobContainer

    struct OGMJobContainer;

### ogmjob_container_add ()

    void                ogmjob_container_add                (OGMJobContainer *container,
                                                             OGMJobSpawn *spawn);

Adds `spawn` to `container`.

`container` : | An OGMJobContainer
`spawn` : | An OGMJobSpawn

### ogmjob_container_remove ()

    void                ogmjob_container_remove             (OGMJobContainer *container,
                                                             OGMJobSpawn *spawn);

Removes `spawn` from `container`.

`container` : | An OGMJobContainer
`spawn` : | An OGMJobSpawn

### ogmjob_container_foreach ()

    void                ogmjob_container_foreach            (OGMJobContainer *container,
                                                             OGMJobCallback callback,
                                                             gpointer data);

Invokes `callback` on each child of `container`.

`container` : | An OGMJobContainer
`callback` : | A callback
`data` : | Callback user data

## Signal Details

### The `"add"` signal

    void                user_function                      (OGMJobContainer *container,
                                                            OGMJobSpawn     *child,
                                                            gpointer         user_data)      : No Hooks

Emitted each time a child is added to a container.

`container` : | the container that received the signal
`child` : | the child to be added
`user_data` : | user data set when the signal handler was connected.

### The `"remove"` signal

    void                user_function                      (OGMJobContainer *container,
                                                            OGMJobSpawn     *child,
                                                            gpointer         user_data)      : No Hooks

Emitted each time a child is removed from a container.

`container` : | the container that received the signal
`child` : | the child to be removed
`user_data` : | user data set when the signal handler was connected.