## EmpathyDispatchOperation EmpathyDispatchOperation |

## Synopsis

                        EmpathyDispatchOperation;
    enum                EmpathyDispatchOperationState;
    EmpathyDispatchOperation * empathy_dispatch_operation_new
                                                            (TpConnection *connection,
                                                             TpChannel *channel,
                                                             EmpathyContact *contact,
                                                             gboolean incoming);
    EmpathyDispatchOperation * empathy_dispatch_operation_new_with_wrapper
                                                            (TpConnection *connection,
                                                             TpChannel *channel,
                                                             EmpathyContact *contact,
                                                             gboolean incoming,
                                                             GObject *channel_wrapper);
    void                empathy_dispatch_operation_start    (EmpathyDispatchOperation *operation);
    void                empathy_dispatch_operation_approve  (EmpathyDispatchOperation *operation);
    gboolean            empathy_dispatch_operation_claim    (EmpathyDispatchOperation *operation);
    TpChannel *         empathy_dispatch_operation_get_channel
                                                            (EmpathyDispatchOperation *operation);
    GObject *           empathy_dispatch_operation_get_channel_wrapper
                                                            (EmpathyDispatchOperation *operation);
    TpConnection *      empathy_dispatch_operation_get_tp_connection
                                                            (EmpathyDispatchOperation *operation);
    const gchar *       empathy_dispatch_operation_get_channel_type
                                                            (EmpathyDispatchOperation *operation);
    GQuark              empathy_dispatch_operation_get_channel_type_id
                                                            (EmpathyDispatchOperation *operation);
    const gchar *       empathy_dispatch_operation_get_object_path
                                                            (EmpathyDispatchOperation *operation);
    EmpathyDispatchOperationState  empathy_dispatch_operation_get_status
                                                            (EmpathyDispatchOperation *operation);
    gboolean            empathy_dispatch_operation_is_incoming
                                                            (EmpathyDispatchOperation *operation);

## Object Hierarchy

      GObject
       +----EmpathyDispatchOperation

## Properties

      "channel"                  TpChannel*            : Read / Write / Construct Only
      "channel-wrapper"          GObject*              : Read / Write / Construct Only
      "connection"               TpConnection*         : Read / Write / Construct Only
      "contact"                  EmpathyContact*       : Read / Write / Construct
      "incoming"                 gboolean              : Read / Write / Construct Only
      "status"                   EmpathyDispatchOperationState  : Read

## Signals

      "approved"                                       : Run Last
      "claimed"                                        : Run Last
      "invalidated"                                    : Run Last
      "ready"                                          : Run Last

## Description

## Details

### EmpathyDispatchOperation

    typedef struct _EmpathyDispatchOperation EmpathyDispatchOperation;

### enum EmpathyDispatchOperationState

    typedef enum {
        /* waiting for the channel information to be ready */
        EMPATHY_DISPATCHER_OPERATION_STATE_PREPARING = 0,
        /* Information gathered ready to be dispatched */
        EMPATHY_DISPATCHER_OPERATION_STATE_PENDING,
        /* Send to approving bits for approval */
        EMPATHY_DISPATCHER_OPERATION_STATE_APPROVING,
        /* Send to handlers for dispatching */
        EMPATHY_DISPATCHER_OPERATION_STATE_DISPATCHING,
        /* somebody claimed the channel */
        EMPATHY_DISPATCHER_OPERATION_STATE_CLAIMED,
        /* dispatch operation invalidated, underlying channel died */
        EMPATHY_DISPATCHER_OPERATION_STATE_INVALIDATED,
    } EmpathyDispatchOperationState;

### empathy_dispatch_operation_new ()

    EmpathyDispatchOperation * empathy_dispatch_operation_new
                                                            (TpConnection *connection,
                                                             TpChannel *channel,
                                                             EmpathyContact *contact,
                                                             gboolean incoming);

`connection` : |
`channel` : |
`contact` : |
`incoming` : |
Returns : |

### empathy_dispatch_operation_new_with_wrapper ()

    EmpathyDispatchOperation * empathy_dispatch_operation_new_with_wrapper
                                                            (TpConnection *connection,
                                                             TpChannel *channel,
                                                             EmpathyContact *contact,
                                                             gboolean incoming,
                                                             GObject *channel_wrapper);

`connection` : |
`channel` : |
`contact` : |
`incoming` : |
`channel_wrapper` : |
Returns : |

### empathy_dispatch_operation_start ()

    void                empathy_dispatch_operation_start    (EmpathyDispatchOperation *operation);

`operation` : |

### empathy_dispatch_operation_approve ()

    void                empathy_dispatch_operation_approve  (EmpathyDispatchOperation *operation);

`operation` : |

### empathy_dispatch_operation_claim ()

    gboolean            empathy_dispatch_operation_claim    (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_channel ()

    TpChannel *         empathy_dispatch_operation_get_channel
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_channel_wrapper ()

    GObject *           empathy_dispatch_operation_get_channel_wrapper
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_tp_connection ()

    TpConnection *      empathy_dispatch_operation_get_tp_connection
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_channel_type ()

    const gchar *       empathy_dispatch_operation_get_channel_type
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_channel_type_id ()

    GQuark              empathy_dispatch_operation_get_channel_type_id
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_object_path ()

    const gchar *       empathy_dispatch_operation_get_object_path
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_get_status ()

    EmpathyDispatchOperationState  empathy_dispatch_operation_get_status
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

### empathy_dispatch_operation_is_incoming ()

    gboolean            empathy_dispatch_operation_is_incoming
                                                            (EmpathyDispatchOperation *operation);

`operation` : |
Returns : |

## Property Details

### The `"channel"` property

      "channel"                  TpChannel*            : Read / Write / Construct Only

The telepathy channel.

### The `"channel-wrapper"` property

      "channel-wrapper"          GObject*              : Read / Write / Construct Only

The empathy specific channel wrapper.

### The `"connection"` property

      "connection"               TpConnection*         : Read / Write / Construct Only

The telepathy connection.

### The `"contact"` property

      "contact"                  EmpathyContact*       : Read / Write / Construct

The empathy contact.

### The `"incoming"` property

      "incoming"                 gboolean              : Read / Write / Construct Only

Whether or not the channel is incoming.

Default value: FALSE

### The `"status"` property

      "status"                   EmpathyDispatchOperationState  : Read

Status of the dispatch operation.

Default value: EMPATHY_DISPATCHER_OPERATION_STATE_PREPARING

## Signal Details

### The `"approved"` signal

    void                user_function                      (EmpathyDispatchOperation *empathydispatchoperation,
                                                            gpointer                  user_data)                     : Run Last

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

### The `"claimed"` signal

    void                user_function                      (EmpathyDispatchOperation *empathydispatchoperation,
                                                            gpointer                  user_data)                     : Run Last

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

### The `"invalidated"` signal

    void                user_function                      (EmpathyDispatchOperation *empathydispatchoperation,
                                                            guint                     arg1,
                                                            gint                      arg2,
                                                            gchar                    *arg3,
                                                            gpointer                  user_data)                     : Run Last

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

### The `"ready"` signal

    void                user_function                      (EmpathyDispatchOperation *empathydispatchoperation,
                                                            gpointer                  user_data)                     : Run Last

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