## Service-side Channel Dispatcher interface

Service-side Channel Dispatcher interface — GInterfaces for Telepathy ChannelDispatcher object

## Functions

void | tp_svc_channel_dispatcher_return_from_create_channel ()
void | (*tp_svc_channel_dispatcher_create_channel_impl) ()
void | tp_svc_channel_dispatcher_implement_create_channel ()
void | tp_svc_channel_dispatcher_return_from_create_channel_with_hints ()
void | (*tp_svc_channel_dispatcher_create_channel_with_hints_impl) ()
void | tp_svc_channel_dispatcher_implement_create_channel_with_hints ()
void | tp_svc_channel_dispatcher_return_from_ensure_channel ()
void | (*tp_svc_channel_dispatcher_ensure_channel_impl) ()
void | tp_svc_channel_dispatcher_implement_ensure_channel ()
void | tp_svc_channel_dispatcher_return_from_ensure_channel_with_hints ()
void | (*tp_svc_channel_dispatcher_ensure_channel_with_hints_impl) ()
void | tp_svc_channel_dispatcher_implement_ensure_channel_with_hints ()
void | (*tp_svc_channel_dispatcher_delegate_channels_impl) ()
void | tp_svc_channel_dispatcher_implement_delegate_channels ()
void | tp_svc_channel_dispatcher_implement_present_channel ()
void | (*tp_svc_channel_dispatcher_present_channel_impl) ()
void | tp_svc_channel_dispatcher_return_from_delegate_channels ()
void | tp_svc_channel_dispatcher_return_from_present_channel ()
void | tp_svc_channel_dispatcher_interface_operation_list_emit_new_dispatch_operation ()
void | tp_svc_channel_dispatcher_interface_operation_list_emit_dispatch_operation_finished ()
void | tp_svc_channel_dispatcher_interface_messages1_implement_send_message ()
void | tp_svc_channel_dispatcher_interface_messages1_return_from_send_message ()
void | (*tp_svc_channel_dispatcher_interface_messages1_send_message_impl) ()

## Signals

void | dispatch-operation-finished | Has Details
void | new-dispatch-operation | Has Details

## Types and Values

| TpSvcChannelDispatcher
| TpSvcChannelDispatcherClass
| TpSvcChannelDispatcherInterfaceOperationList
| TpSvcChannelDispatcherInterfaceOperationListClass
| TpSvcChannelDispatcherInterfaceMessages1
| TpSvcChannelDispatcherInterfaceMessages1Class

## Object Hierarchy

        GInterface
        ├── TpSvcChannelDispatcher
        ├── TpSvcChannelDispatcherInterfaceMessages1
        ╰── TpSvcChannelDispatcherInterfaceOperationList

## Includes

    #include <telepathy-glib/telepathy-glib-dbus.h>

## Description

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

Similarly, TpSvcChannelDispatcherInterfaceOperationList helps to implement the optional OperationList interface.

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

## Functions

### tp_svc_channel_dispatcher_return_from_create_channel ()

    void
    tp_svc_channel_dispatcher_return_from_create_channel
                                   (DBusGMethodInvocation *context,
                                    const gchar *out_Request);

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

#### Parameters

context | The D-Bus method invocation context |
out_Request | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_create_channel_impl ()

    void
    (*tp_svc_channel_dispatcher_create_channel_impl)
                                   (TpSvcChannelDispatcher *self,
                                    const gchar *in_Account,
                                    GHashTable *in_Requested_Properties,
                                    gint64 in_User_Action_Time,
                                    const gchar *in_Preferred_Handler,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Account | const gchar * (FIXME, generate documentation) |
in_Requested_Properties | GHashTable * (FIXME, generate documentation) |
in_User_Action_Time | gint64 (FIXME, generate documentation) |
in_Preferred_Handler | const gchar * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_dispatcher_implement_create_channel ()

    void
    tp_svc_channel_dispatcher_implement_create_channel
                                   (TpSvcChannelDispatcherClass *klass,
                                    tp_svc_channel_dispatcher_create_channel_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_return_from_create_channel_with_hints ()

    void
    tp_svc_channel_dispatcher_return_from_create_channel_with_hints
                                   (DBusGMethodInvocation *context,
                                    const gchar *out_Request);

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

#### Parameters

context | The D-Bus method invocation context |
out_Request | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_create_channel_with_hints_impl ()

    void
    (*tp_svc_channel_dispatcher_create_channel_with_hints_impl)
                                   (TpSvcChannelDispatcher *self,
                                    const gchar *in_Account,
                                    GHashTable *in_Requested_Properties,
                                    gint64 in_User_Action_Time,
                                    const gchar *in_Preferred_Handler,
                                    GHashTable *in_Hints,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Account | const gchar * (FIXME, generate documentation) |
in_Requested_Properties | GHashTable * (FIXME, generate documentation) |
in_User_Action_Time | gint64 (FIXME, generate documentation) |
in_Preferred_Handler | const gchar * (FIXME, generate documentation) |
in_Hints | GHashTable * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_dispatcher_implement_create_channel_with_hints ()

    void
    tp_svc_channel_dispatcher_implement_create_channel_with_hints
                                   (TpSvcChannelDispatcherClass *klass,
                                    tp_svc_channel_dispatcher_create_channel_with_hints_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_return_from_ensure_channel ()

    void
    tp_svc_channel_dispatcher_return_from_ensure_channel
                                   (DBusGMethodInvocation *context,
                                    const gchar *out_Request);

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

#### Parameters

context | The D-Bus method invocation context |
out_Request | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_ensure_channel_impl ()

    void
    (*tp_svc_channel_dispatcher_ensure_channel_impl)
                                   (TpSvcChannelDispatcher *self,
                                    const gchar *in_Account,
                                    GHashTable *in_Requested_Properties,
                                    gint64 in_User_Action_Time,
                                    const gchar *in_Preferred_Handler,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Account | const gchar * (FIXME, generate documentation) |
in_Requested_Properties | GHashTable * (FIXME, generate documentation) |
in_User_Action_Time | gint64 (FIXME, generate documentation) |
in_Preferred_Handler | const gchar * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_dispatcher_implement_ensure_channel ()

    void
    tp_svc_channel_dispatcher_implement_ensure_channel
                                   (TpSvcChannelDispatcherClass *klass,
                                    tp_svc_channel_dispatcher_ensure_channel_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_return_from_ensure_channel_with_hints ()

    void
    tp_svc_channel_dispatcher_return_from_ensure_channel_with_hints
                                   (DBusGMethodInvocation *context,
                                    const gchar *out_Request);

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

#### Parameters

context | The D-Bus method invocation context |
out_Request | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_ensure_channel_with_hints_impl ()

    void
    (*tp_svc_channel_dispatcher_ensure_channel_with_hints_impl)
                                   (TpSvcChannelDispatcher *self,
                                    const gchar *in_Account,
                                    GHashTable *in_Requested_Properties,
                                    gint64 in_User_Action_Time,
                                    const gchar *in_Preferred_Handler,
                                    GHashTable *in_Hints,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Account | const gchar * (FIXME, generate documentation) |
in_Requested_Properties | GHashTable * (FIXME, generate documentation) |
in_User_Action_Time | gint64 (FIXME, generate documentation) |
in_Preferred_Handler | const gchar * (FIXME, generate documentation) |
in_Hints | GHashTable * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_dispatcher_implement_ensure_channel_with_hints ()

    void
    tp_svc_channel_dispatcher_implement_ensure_channel_with_hints
                                   (TpSvcChannelDispatcherClass *klass,
                                    tp_svc_channel_dispatcher_ensure_channel_with_hints_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_delegate_channels_impl ()

    void
    (*tp_svc_channel_dispatcher_delegate_channels_impl)
                                   (TpSvcChannelDispatcher *self,
                                    const GPtrArray *in_Channels,
                                    gint64 in_User_Action_Time,
                                    const gchar *in_Preferred_Handler,
                                    DBusGMethodInvocation *context);

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

#### Parameters

self | The object implementing this interface |
in_Channels | const GPtrArray * (FIXME, generate documentation) |
in_User_Action_Time | gint64 (FIXME, generate documentation) |
in_Preferred_Handler | const gchar * (FIXME, generate documentation) |
context | Used to return values or throw an error |

### tp_svc_channel_dispatcher_implement_delegate_channels ()

    void
    tp_svc_channel_dispatcher_implement_delegate_channels
                                   (TpSvcChannelDispatcherClass *klass,
                                    tp_svc_channel_dispatcher_delegate_channels_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_implement_present_channel ()

    void
    tp_svc_channel_dispatcher_implement_present_channel
                                   (TpSvcChannelDispatcherClass *klass,
                                    tp_svc_channel_dispatcher_present_channel_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_present_channel_impl ()

    void
    (*tp_svc_channel_dispatcher_present_channel_impl)
                                   (TpSvcChannelDispatcher *self,
                                    const gchar *in_Channel,
                                    gint64 in_User_Action_Time,
                                    DBusGMethodInvocation *context);

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

#### Parameters

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

### tp_svc_channel_dispatcher_return_from_delegate_channels ()

    void
    tp_svc_channel_dispatcher_return_from_delegate_channels
                                   (DBusGMethodInvocation *context,
                                    const GPtrArray *out_Delegated,
                                    GHashTable *out_Not_Delegated);

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

#### Parameters

context | The D-Bus method invocation context |
out_Delegated | const GPtrArray * (FIXME, generate documentation) |
out_Not_Delegated | GHashTable * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_return_from_present_channel ()

    void
    tp_svc_channel_dispatcher_return_from_present_channel
                                   (DBusGMethodInvocation *context);

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

#### Parameters

context | The D-Bus method invocation context |

### tp_svc_channel_dispatcher_interface_operation_list_emit_new_dispatch_operation ()

    void
    tp_svc_channel_dispatcher_interface_operation_list_emit_new_dispatch_operation
                                   (gpointer instance,
                                    const gchar *arg_Dispatch_Operation,
                                    GHashTable *arg_Properties);

Type-safe wrapper around g_signal_emit to emit the NewDispatchOperation signal on interface org.freedesktop.Telepathy.ChannelDispatcher.Interface.OperationList.

#### Parameters

instance | The object implementing this interface |
arg_Dispatch_Operation | const gchar * (FIXME, generate documentation) |
arg_Properties | GHashTable * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_interface_operation_list_emit_dispatch_operation_finished ()

    void
    tp_svc_channel_dispatcher_interface_operation_list_emit_dispatch_operation_finished
                                   (gpointer instance,
                                    const gchar *arg_Dispatch_Operation);

Type-safe wrapper around g_signal_emit to emit the DispatchOperationFinished signal on interface org.freedesktop.Telepathy.ChannelDispatcher.Interface.OperationList.

#### Parameters

instance | The object implementing this interface |
arg_Dispatch_Operation | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_interface_messages1_implement_send_message ()

    void
    tp_svc_channel_dispatcher_interface_messages1_implement_send_message
                                   (TpSvcChannelDispatcherInterfaceMessages1Class *klass,
                                    tp_svc_channel_dispatcher_interface_messages1_send_message_impl impl);

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

#### Parameters

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

### tp_svc_channel_dispatcher_interface_messages1_return_from_send_message ()

    void
    tp_svc_channel_dispatcher_interface_messages1_return_from_send_message
                                   (DBusGMethodInvocation *context,
                                    const gchar *out_Token);

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

#### Parameters

context | The D-Bus method invocation context |
out_Token | const gchar * (FIXME, generate documentation) |

### tp_svc_channel_dispatcher_interface_messages1_send_message_impl ()

    void
    (*tp_svc_channel_dispatcher_interface_messages1_send_message_impl)
                                   (TpSvcChannelDispatcherInterfaceMessages1 *self,
                                    const gchar *in_Account,
                                    const gchar *in_Target_ID,
                                    const GPtrArray *in_Message,
                                    guint in_Flags,
                                    DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SendMessage on interface org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1.

#### Parameters

self | The object implementing this interface |
in_Account | const gchar * (FIXME, generate documentation) |
in_Target_ID | const gchar * (FIXME, generate documentation) |
in_Message | const GPtrArray * (FIXME, generate documentation) |
in_Flags | guint (FIXME, generate documentation) |
context | Used to return values or throw an error |

## Types and Values

### TpSvcChannelDispatcher

    typedef struct _TpSvcChannelDispatcher TpSvcChannelDispatcher;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelDispatcherClass

    typedef struct _TpSvcChannelDispatcherClass TpSvcChannelDispatcherClass;

The class of TpSvcChannelDispatcher.

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_dispatcher (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_dispatcher_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (create_channel);
      IMPLEMENT (ensure_channel);
      IMPLEMENT (create_channel_with_hints);
      IMPLEMENT (ensure_channel_with_hints);
      IMPLEMENT (delegate_channels);
      IMPLEMENT (present_channel);
    #undef IMPLEMENT
    }

### TpSvcChannelDispatcherInterfaceOperationList

    typedef struct _TpSvcChannelDispatcherInterfaceOperationList TpSvcChannelDispatcherInterfaceOperationList;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelDispatcherInterfaceOperationListClass

    typedef struct _TpSvcChannelDispatcherInterfaceOperationListClass TpSvcChannelDispatcherInterfaceOperationListClass;

The class of TpSvcChannelDispatcherInterfaceOperationList. This interface has no D-Bus methods, so an implementation can typically pass `NULL` to `G_IMPLEMENT_INTERFACE()` as the interface initialization function.

### TpSvcChannelDispatcherInterfaceMessages1

    typedef struct _TpSvcChannelDispatcherInterfaceMessages1 TpSvcChannelDispatcherInterfaceMessages1;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelDispatcherInterfaceMessages1Class

    typedef struct _TpSvcChannelDispatcherInterfaceMessages1Class TpSvcChannelDispatcherInterfaceMessages1Class;

The class of TpSvcChannelDispatcherInterfaceMessages1.

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_dispatcher_interface_messages1 (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_dispatcher_interface_messages1_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (send_message);
    #undef IMPLEMENT
    }

## Signal Details

### The `“dispatch-operation-finished”` signal

    void
    user_function (TpSvcChannelDispatcherInterfaceOperationList *self,
                   DBusGObjectPath                              *arg_Dispatch_Operation,
                   gpointer                                      user_data)

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

#### Parameters

self | an object |
arg_Dispatch_Operation | const gchar * (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details

### The `“new-dispatch-operation”` signal

    void
    user_function (TpSvcChannelDispatcherInterfaceOperationList *self,
                   DBusGObjectPath                              *arg_Dispatch_Operation,
                   gpointer                                      user_data)

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

#### Parameters

self | an object |
arg_Dispatch_Operation | const gchar * (FIXME, generate documentation) |
arg_Properties | GHashTable * (FIXME, generate documentation) |
user_data | user data set when the signal handler was connected. |

Flags: Has Details