## McdMission McdMission — Base class for server classes |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <mcd-mission.h>

                        McdMission;
    gboolean            mcd_mission_is_connected            (McdMission *mission);
    McdMission *        mcd_mission_get_parent              (McdMission *mission);
    void                mcd_mission_abort                   (McdMission *mission);
    void                mcd_mission_connect                 (McdMission *mission);
    void                mcd_mission_disconnect              (McdMission *mission);

## Object Hierarchy

      GObject
       +----McdMission
             +----McdChannel
             +----McdOperation
             +----McdDispatcher

## Properties

      "parent"                   McdMission*           : Read / Write

## Signals

      "abort"                                          : Run First
      "connected"                                      : Run First
      "disconnected"                                   : Run First
      "parent-set"                                     : Run First

## Description

It is the base class for every object in mission-control. It defines a set of virtual functions and set of corresponding action signals. all virtual functions results in emission of their corresponding action signals. The virtual functions define states of the object, such as memory conserved state, connected state, locked state, low power state, lit state, sleeping state etc. Each of the object states can also be queried independently as properties.

There are also some action signals such as abort, which is used to notify other objects holding hard references to it to release them (this object should then automatically die since all held references are released). It is mandatory for all other objects that hold a hard reference to it to listen for this signal and release the reference in signal handler.

Concrete derived classes should override the sate methods to implement object specific state managements.

## Details

### McdMission

    typedef struct _McdMission McdMission;

### mcd_mission_is_connected ()

    gboolean            mcd_mission_is_connected            (McdMission *mission);

`mission` : |
Returns : |

### mcd_mission_get_parent ()

    McdMission *        mcd_mission_get_parent              (McdMission *mission);

`mission` : |
Returns : |

### mcd_mission_abort ()

    void                mcd_mission_abort                   (McdMission *mission);

`mission` : |

### mcd_mission_connect ()

    void                mcd_mission_connect                 (McdMission *mission);

`mission` : |

### mcd_mission_disconnect ()

    void                mcd_mission_disconnect              (McdMission *mission);

`mission` : |

## Property Details

### The `"parent"` property

      "parent"                   McdMission*           : Read / Write

Parent mission.

## Signal Details

### The `"abort"` signal

    void                user_function                      (McdMission *mcdmission,
                                                            gpointer    user_data)       : Run First

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

### The `"connected"` signal

    void                user_function                      (McdMission *mcdmission,
                                                            gpointer    user_data)       : Run First

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

### The `"disconnected"` signal

    void                user_function                      (McdMission *mcdmission,
                                                            gpointer    user_data)       : Run First

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

### The `"parent-set"` signal

    void                user_function                      (McdMission *mcdmission,
                                                            gpointer    user_data)       : Run First

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