## Service-side Channel Dispatch Operation interface

Service-side Channel Dispatch Operation interface — GInterface for Telepathy ChannelDispatchOperation object

## Synopsis

    #include <telepathy-glib/svc-channel-dispatch-operation.h>

                        TpSvcChannelDispatchOperation;
                        TpSvcChannelDispatchOperationClass;
    void                tp_svc_channel_dispatch_operation_return_from_claim
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_channel_dispatch_operation_claim_impl)
                                                            (TpSvcChannelDispatchOperation *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_dispatch_operation_implement_claim
                                                            (TpSvcChannelDispatchOperationClass *klass,
                                                             tp_svc_channel_dispatch_operation_claim_impl impl);
    void                tp_svc_channel_dispatch_operation_return_from_handle_with
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_channel_dispatch_operation_handle_with_impl)
                                                            (TpSvcChannelDispatchOperation *self,
                                                             const gchar *in_Handler,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_dispatch_operation_implement_handle_with
                                                            (TpSvcChannelDispatchOperationClass *klass,
                                                             tp_svc_channel_dispatch_operation_handle_with_impl impl);
    void                tp_svc_channel_dispatch_operation_emit_channel_lost
                                                            (gpointer instance,
                                                             const gchar *arg_Channel,
                                                             const gchar *arg_Error,
                                                             const gchar *arg_Message);
    void                tp_svc_channel_dispatch_operation_emit_finished
                                                            (gpointer instance);

## Object Hierarchy

      GInterface
       +----TpSvcChannelDispatchOperation

## Signals

      "channel-lost"                                   : Run Last / Has Details
      "finished"                                       : Run Last / Has Details

## Description

This interface (auto-generated from the Telepathy spec) makes it easier to export an object implementing the Telepathy ChannelDispatchOperation interface, with the correct method and signal signatures, and emit signals from that object in a type-safe way.

You don't need these interfaces unless you're implementing a Telepathy ChannelDispatcher, such as Mission Control.

## Details

### TpSvcChannelDispatchOperation

    typedef struct _TpSvcChannelDispatchOperation TpSvcChannelDispatchOperation;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelDispatchOperationClass

    typedef struct _TpSvcChannelDispatchOperationClass TpSvcChannelDispatchOperationClass;

The class of TpSvcChannelDispatchOperation.

In a full implementation of this interface (i.e. all methods implemented), the interface initialization function used in `G_IMPLEMENT_INTERFACE()` would typically look like this:

    static void
    implement_channel_dispatch_operation (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_dispatch_operation_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (handle_with);
      IMPLEMENT (claim);
    #undef IMPLEMENT
    }

### tp_svc_channel_dispatch_operation_return_from_claim ()

    void                tp_svc_channel_dispatch_operation_return_from_claim
                                                            (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context

### tp_svc_channel_dispatch_operation_claim_impl ()

    void                (*tp_svc_channel_dispatch_operation_claim_impl)
                                                            (TpSvcChannelDispatchOperation *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Claim on interface org.freedesktop.Telepathy.ChannelDispatchOperation.

`self` : | The object implementing this interface
`context` : | Used to return values or throw an error

### tp_svc_channel_dispatch_operation_implement_claim ()

    void                tp_svc_channel_dispatch_operation_implement_claim
                                                            (TpSvcChannelDispatchOperationClass *klass,
                                                             tp_svc_channel_dispatch_operation_claim_impl impl);

Register an implementation for the Claim method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the Claim D-Bus method

### tp_svc_channel_dispatch_operation_return_from_handle_with ()

    void                tp_svc_channel_dispatch_operation_return_from_handle_with
                                                            (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context

### tp_svc_channel_dispatch_operation_handle_with_impl ()

    void                (*tp_svc_channel_dispatch_operation_handle_with_impl)
                                                            (TpSvcChannelDispatchOperation *self,
                                                             const gchar *in_Handler,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method HandleWith on interface org.freedesktop.Telepathy.ChannelDispatchOperation.

`self` : | The object implementing this interface
`in_Handler` : | const gchar * (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_dispatch_operation_implement_handle_with ()

    void                tp_svc_channel_dispatch_operation_implement_handle_with
                                                            (TpSvcChannelDispatchOperationClass *klass,
                                                             tp_svc_channel_dispatch_operation_handle_with_impl impl);

Register an implementation for the HandleWith method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the HandleWith D-Bus method

### tp_svc_channel_dispatch_operation_emit_channel_lost ()

    void                tp_svc_channel_dispatch_operation_emit_channel_lost
                                                            (gpointer instance,
                                                             const gchar *arg_Channel,
                                                             const gchar *arg_Error,
                                                             const gchar *arg_Message);

Type-safe wrapper around g_signal_emit to emit the ChannelLost signal on interface org.freedesktop.Telepathy.ChannelDispatchOperation.

`instance` : | The object implementing this interface
`arg_Channel` : | const gchar * (FIXME, generate documentation)
`arg_Error` : | const gchar * (FIXME, generate documentation)
`arg_Message` : | const gchar * (FIXME, generate documentation)

### tp_svc_channel_dispatch_operation_emit_finished ()

    void                tp_svc_channel_dispatch_operation_emit_finished
                                                            (gpointer instance);

Type-safe wrapper around g_signal_emit to emit the Finished signal on interface org.freedesktop.Telepathy.ChannelDispatchOperation.

`instance` : | The object implementing this interface

## Signal Details

### The `"channel-lost"` signal

    void                user_function                      (TpSvcChannelDispatchOperation *arg_Channel,
                                                            DBusGObjectPath               *arg_Error,
                                                            gchar                         *arg_Message,
                                                            gchar                         *arg3,
                                                            gpointer                       user_data)        : Run Last / Has Details

The ChannelLost D-Bus signal is emitted whenever this GObject signal is.

`arg_Channel` : | const gchar * (FIXME, generate documentation)
`arg_Error` : | const gchar * (FIXME, generate documentation)
`arg_Message` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"finished"` signal

    void                user_function                      (TpSvcChannelDispatchOperation *arg0,
                                                            gpointer                       user_data)      : Run Last / Has Details

The Finished D-Bus signal is emitted whenever this GObject signal is.

`user_data` : | user data set when the signal handler was connected.