## McdOperation McdOperation — Container class for holding missions |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <mcd-operation.h>

                        McdOperation;
    McdOperation *      mcd_operation_new                   (void);
    void                mcd_operation_take_mission          (McdOperation *operation,
                                                             McdMission *mission);
    void                mcd_operation_remove_mission        (McdOperation *operation,
                                                             McdMission *mission);
    void                mcd_operation_foreach               (McdOperation *operation,
                                                             GFunc func,
                                                             gpointer user_data);
    const GList *       mcd_operation_get_missions          (McdOperation *operation);

## Object Hierarchy

      GObject
       +----McdMission
             +----McdOperation
                   +----McdConnection
                   +----McdController
                   +----McdManager
                   +----McdProxy

## Signals

      "mission-removed"                                : Run First
      "mission-taken"                                  : Run First

## Description

This is a simple container class that can hold a list of mission objects as children. McdOperation makes sure that object states (see: McdMission) of the container are all proxied to the children. Children life cycles also managed by this class and parent-child relationship is correctly established.

## Details

### McdOperation

    typedef struct _McdOperation McdOperation;

### mcd_operation_new ()

    McdOperation *      mcd_operation_new                   (void);

Returns : |

### mcd_operation_take_mission ()

    void                mcd_operation_take_mission          (McdOperation *operation,
                                                             McdMission *mission);

`operation` : |
`mission` : |

### mcd_operation_remove_mission ()

    void                mcd_operation_remove_mission        (McdOperation *operation,
                                                             McdMission *mission);

`operation` : |
`mission` : |

### mcd_operation_foreach ()

    void                mcd_operation_foreach               (McdOperation *operation,
                                                             GFunc func,
                                                             gpointer user_data);

`operation` : |
`func` : |
`user_data` : |

### mcd_operation_get_missions ()

    const GList *       mcd_operation_get_missions          (McdOperation *operation);

`operation` : |
Returns : |

## Signal Details

### The `"mission-removed"` signal

    void                user_function                      (McdOperation *mcdoperation,
                                                            GObject      *arg1,
                                                            gpointer      user_data)         : Run First

`mcdoperation` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"mission-taken"` signal

    void                user_function                      (McdOperation *mcdoperation,
                                                            GObject      *arg1,
                                                            gpointer      user_data)         : Run First

`mcdoperation` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.