## Text channels

Text channels — service-side interfaces for the Text channel type, and the Chat State, Password and SMS interfaces

## Synopsis

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

                        TpSvcChannelTypeText;
                        TpSvcChannelTypeTextClass;
    void                (*tp_svc_channel_type_text_acknowledge_pending_messages_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             const GArray *in_IDs,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_text_implement_acknowledge_pending_messages
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_acknowledge_pending_messages_impl impl);
    void                tp_svc_channel_type_text_return_from_acknowledge_pending_messages
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_channel_type_text_get_message_types_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_text_implement_get_message_types
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_get_message_types_impl impl);
    void                tp_svc_channel_type_text_return_from_get_message_types
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Available_Types);
    void                (*tp_svc_channel_type_text_list_pending_messages_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             gboolean in_Clear,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_text_implement_list_pending_messages
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_list_pending_messages_impl impl);
    void                tp_svc_channel_type_text_return_from_list_pending_messages
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Pending_Messages);
    void                (*tp_svc_channel_type_text_send_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             guint in_Type,
                                                             const gchar *in_Text,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_text_implement_send
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_send_impl impl);
    void                tp_svc_channel_type_text_return_from_send
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_channel_type_text_emit_lost_message
                                                            (gpointer instance);
    void                tp_svc_channel_type_text_emit_received
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_Timestamp,
                                                             guint arg_Sender,
                                                             guint arg_Type,
                                                             guint arg_Flags,
                                                             const gchar *arg_Text);
    void                tp_svc_channel_type_text_emit_send_error
                                                            (gpointer instance,
                                                             guint arg_Error,
                                                             guint arg_Timestamp,
                                                             guint arg_Type,
                                                             const gchar *arg_Text);
    void                tp_svc_channel_type_text_emit_sent  (gpointer instance,
                                                             guint arg_Timestamp,
                                                             guint arg_Type,
                                                             const gchar *arg_Text);

                        TpSvcChannelInterfaceChatState;
                        TpSvcChannelInterfaceChatStateClass;
    void                (*tp_svc_channel_interface_chat_state_set_chat_state_impl)
                                                            (TpSvcChannelInterfaceChatState *self,
                                                             guint in_State,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_interface_chat_state_implement_set_chat_state
                                                            (TpSvcChannelInterfaceChatStateClass *klass,
                                                             tp_svc_channel_interface_chat_state_set_chat_state_impl impl);
    void                tp_svc_channel_interface_chat_state_return_from_set_chat_state
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_channel_interface_chat_state_emit_chat_state_changed
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             guint arg_State);

                        TpSvcChannelInterfaceMessages;
                        TpSvcChannelInterfaceMessagesClass;
    void                tp_svc_channel_interface_messages_emit_message_received
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Message);
    void                tp_svc_channel_interface_messages_emit_message_sent
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Content,
                                                             guint arg_Flags,
                                                             const gchar *arg_Message_Token);
    void                tp_svc_channel_interface_messages_emit_pending_messages_removed
                                                            (gpointer instance,
                                                             const GArray *arg_Message_IDs);
    void                (*tp_svc_channel_interface_messages_get_pending_message_content_impl)
                                                            (TpSvcChannelInterfaceMessages *self,
                                                             guint in_Message_ID,
                                                             const GArray *in_Parts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_interface_messages_implement_get_pending_message_content
                                                            (TpSvcChannelInterfaceMessagesClass *klass,
                                                             tp_svc_channel_interface_messages_get_pending_message_content_impl impl);
    void                tp_svc_channel_interface_messages_implement_send_message
                                                            (TpSvcChannelInterfaceMessagesClass *klass,
                                                             tp_svc_channel_interface_messages_send_message_impl impl);
    void                tp_svc_channel_interface_messages_return_from_get_pending_message_content
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Content);
    void                tp_svc_channel_interface_messages_return_from_send_message
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Token);
    void                (*tp_svc_channel_interface_messages_send_message_impl)
                                                            (TpSvcChannelInterfaceMessages *self,
                                                             const GPtrArray *in_Message,
                                                             guint in_Flags,
                                                             DBusGMethodInvocation *context);

                        TpSvcChannelInterfacePassword;
                        TpSvcChannelInterfacePasswordClass;
    void                (*tp_svc_channel_interface_password_get_password_flags_impl)
                                                            (TpSvcChannelInterfacePassword *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_interface_password_implement_get_password_flags
                                                            (TpSvcChannelInterfacePasswordClass *klass,
                                                             tp_svc_channel_interface_password_get_password_flags_impl impl);
    void                tp_svc_channel_interface_password_return_from_get_password_flags
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Password_Flags);
    void                (*tp_svc_channel_interface_password_provide_password_impl)
                                                            (TpSvcChannelInterfacePassword *self,
                                                             const gchar *in_Password,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_interface_password_implement_provide_password
                                                            (TpSvcChannelInterfacePasswordClass *klass,
                                                             tp_svc_channel_interface_password_provide_password_impl impl);
    void                tp_svc_channel_interface_password_return_from_provide_password
                                                            (DBusGMethodInvocation *context,
                                                             gboolean out_Correct);
    void                tp_svc_channel_interface_password_emit_password_flags_changed
                                                            (gpointer instance,
                                                             guint arg_Added,
                                                             guint arg_Removed);

                        TpSvcChannelInterfaceSMS;
                        TpSvcChannelInterfaceSMSClass;
    void                tp_svc_channel_interface_sms_emit_sms_channel_changed
                                                            (gpointer instance,
                                                             gboolean arg_SMSChannel);
    void                (*tp_svc_channel_interface_sms_get_sms_length_impl)
                                                            (TpSvcChannelInterfaceSMS *self,
                                                             const GPtrArray *in_Message,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_interface_sms_implement_get_sms_length
                                                            (TpSvcChannelInterfaceSMSClass *klass,
                                                             tp_svc_channel_interface_sms_get_sms_length_impl impl);
    void                tp_svc_channel_interface_sms_return_from_get_sms_length
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Chunks_Required,
                                                             gint out_Remaining_Characters,
                                                             gint out_Estimated_Cost);

## Object Hierarchy

      GInterface
       +----TpSvcChannelTypeText

      GInterface
       +----TpSvcChannelInterfaceChatState

      GInterface
       +----TpSvcChannelInterfaceMessages

      GInterface
       +----TpSvcChannelInterfacePassword

      GInterface
       +----TpSvcChannelInterfaceSMS

## Signals

      "lost-message"                                   : Has Details
      "received"                                       : Has Details
      "send-error"                                     : Has Details
      "sent"                                           : Has Details
      "chat-state-changed"                             : Has Details
      "message-received"                               : Has Details
      "message-sent"                                   : Has Details
      "pending-messages-removed"                       : Has Details
      "password-flags-changed"                         : Has Details
      "s-ms-channel-changed"                           : Has Details

## Description

A major use for instant messaging is obviously to send messages. Channels of type Text represent conversations or chat rooms using short real-time messages, including SMS.

This section documents the auto-generated GInterfaces used to implement the Text channel type, and some interfaces used in conjunction with it.

## Details

### TpSvcChannelTypeText

    typedef struct _TpSvcChannelTypeText TpSvcChannelTypeText;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelTypeTextClass

    typedef struct _TpSvcChannelTypeTextClass TpSvcChannelTypeTextClass;

The class of TpSvcChannelTypeText.

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_type_text (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_type_text_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (acknowledge_pending_messages);
      IMPLEMENT (get_message_types);
      IMPLEMENT (list_pending_messages);
      IMPLEMENT (send);
    #undef IMPLEMENT
    }

### tp_svc_channel_type_text_acknowledge_pending_messages_impl ()

    void                (*tp_svc_channel_type_text_acknowledge_pending_messages_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             const GArray *in_IDs,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method AcknowledgePendingMessages on interface org.freedesktop.Telepathy.Channel.Type.Text.

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

### tp_svc_channel_type_text_implement_acknowledge_pending_messages ()

    void                tp_svc_channel_type_text_implement_acknowledge_pending_messages
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_acknowledge_pending_messages_impl impl);

Register an implementation for the AcknowledgePendingMessages 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 AcknowledgePendingMessages D-Bus method

### tp_svc_channel_type_text_return_from_acknowledge_pending_messages ()

    void                tp_svc_channel_type_text_return_from_acknowledge_pending_messages
                                                            (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_type_text_get_message_types_impl ()

    void                (*tp_svc_channel_type_text_get_message_types_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetMessageTypes on interface org.freedesktop.Telepathy.Channel.Type.Text.

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

### tp_svc_channel_type_text_implement_get_message_types ()

    void                tp_svc_channel_type_text_implement_get_message_types
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_get_message_types_impl impl);

Register an implementation for the GetMessageTypes 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 GetMessageTypes D-Bus method

### tp_svc_channel_type_text_return_from_get_message_types ()

    void                tp_svc_channel_type_text_return_from_get_message_types
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Available_Types);

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

`context` : | The D-Bus method invocation context
`out_Available_Types` : | const GArray * (FIXME, generate documentation)

### tp_svc_channel_type_text_list_pending_messages_impl ()

    void                (*tp_svc_channel_type_text_list_pending_messages_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             gboolean in_Clear,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method ListPendingMessages on interface org.freedesktop.Telepathy.Channel.Type.Text.

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

### tp_svc_channel_type_text_implement_list_pending_messages ()

    void                tp_svc_channel_type_text_implement_list_pending_messages
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_list_pending_messages_impl impl);

Register an implementation for the ListPendingMessages 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 ListPendingMessages D-Bus method

### tp_svc_channel_type_text_return_from_list_pending_messages ()

    void                tp_svc_channel_type_text_return_from_list_pending_messages
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Pending_Messages);

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

`context` : | The D-Bus method invocation context
`out_Pending_Messages` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_channel_type_text_send_impl ()

    void                (*tp_svc_channel_type_text_send_impl)
                                                            (TpSvcChannelTypeText *self,
                                                             guint in_Type,
                                                             const gchar *in_Text,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Send on interface org.freedesktop.Telepathy.Channel.Type.Text.

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

### tp_svc_channel_type_text_implement_send ()

    void                tp_svc_channel_type_text_implement_send
                                                            (TpSvcChannelTypeTextClass *klass,
                                                             tp_svc_channel_type_text_send_impl impl);

Register an implementation for the Send 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 Send D-Bus method

### tp_svc_channel_type_text_return_from_send ()

    void                tp_svc_channel_type_text_return_from_send
                                                            (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_type_text_emit_lost_message ()

    void                tp_svc_channel_type_text_emit_lost_message
                                                            (gpointer instance);

Type-safe wrapper around g_signal_emit to emit the LostMessage signal on interface org.freedesktop.Telepathy.Channel.Type.Text.

`instance` : | The object implementing this interface

### tp_svc_channel_type_text_emit_received ()

    void                tp_svc_channel_type_text_emit_received
                                                            (gpointer instance,
                                                             guint arg_ID,
                                                             guint arg_Timestamp,
                                                             guint arg_Sender,
                                                             guint arg_Type,
                                                             guint arg_Flags,
                                                             const gchar *arg_Text);

Type-safe wrapper around g_signal_emit to emit the Received signal on interface org.freedesktop.Telepathy.Channel.Type.Text.

`instance` : | The object implementing this interface
`arg_ID` : | guint (FIXME, generate documentation)
`arg_Timestamp` : | guint (FIXME, generate documentation)
`arg_Sender` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Flags` : | guint (FIXME, generate documentation)
`arg_Text` : | const gchar * (FIXME, generate documentation)

### tp_svc_channel_type_text_emit_send_error ()

    void                tp_svc_channel_type_text_emit_send_error
                                                            (gpointer instance,
                                                             guint arg_Error,
                                                             guint arg_Timestamp,
                                                             guint arg_Type,
                                                             const gchar *arg_Text);

Type-safe wrapper around g_signal_emit to emit the SendError signal on interface org.freedesktop.Telepathy.Channel.Type.Text.

`instance` : | The object implementing this interface
`arg_Error` : | guint (FIXME, generate documentation)
`arg_Timestamp` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Text` : | const gchar * (FIXME, generate documentation)

### tp_svc_channel_type_text_emit_sent ()

    void                tp_svc_channel_type_text_emit_sent  (gpointer instance,
                                                             guint arg_Timestamp,
                                                             guint arg_Type,
                                                             const gchar *arg_Text);

Type-safe wrapper around g_signal_emit to emit the Sent signal on interface org.freedesktop.Telepathy.Channel.Type.Text.

`instance` : | The object implementing this interface
`arg_Timestamp` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Text` : | const gchar * (FIXME, generate documentation)

### TpSvcChannelInterfaceChatState

    typedef struct _TpSvcChannelInterfaceChatState TpSvcChannelInterfaceChatState;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceChatStateClass

    typedef struct _TpSvcChannelInterfaceChatStateClass TpSvcChannelInterfaceChatStateClass;

The class of TpSvcChannelInterfaceChatState.

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

### tp_svc_channel_interface_chat_state_set_chat_state_impl ()

    void                (*tp_svc_channel_interface_chat_state_set_chat_state_impl)
                                                            (TpSvcChannelInterfaceChatState *self,
                                                             guint in_State,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetChatState on interface org.freedesktop.Telepathy.Channel.Interface.ChatState.

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

### tp_svc_channel_interface_chat_state_implement_set_chat_state ()

    void                tp_svc_channel_interface_chat_state_implement_set_chat_state
                                                            (TpSvcChannelInterfaceChatStateClass *klass,
                                                             tp_svc_channel_interface_chat_state_set_chat_state_impl impl);

Register an implementation for the SetChatState 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 SetChatState D-Bus method

### tp_svc_channel_interface_chat_state_return_from_set_chat_state ()

    void                tp_svc_channel_interface_chat_state_return_from_set_chat_state
                                                            (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_interface_chat_state_emit_chat_state_changed ()

    void                tp_svc_channel_interface_chat_state_emit_chat_state_changed
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             guint arg_State);

Type-safe wrapper around g_signal_emit to emit the ChatStateChanged signal on interface org.freedesktop.Telepathy.Channel.Interface.ChatState.

`instance` : | The object implementing this interface
`arg_Contact` : | guint (FIXME, generate documentation)
`arg_State` : | guint (FIXME, generate documentation)

### TpSvcChannelInterfaceMessages

    typedef struct _TpSvcChannelInterfaceMessages TpSvcChannelInterfaceMessages;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceMessagesClass

    typedef struct _TpSvcChannelInterfaceMessagesClass TpSvcChannelInterfaceMessagesClass;

The class of TpSvcChannelInterfaceMessages.

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

### tp_svc_channel_interface_messages_emit_message_received ()

    void                tp_svc_channel_interface_messages_emit_message_received
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Message);

Type-safe wrapper around g_signal_emit to emit the MessageReceived signal on interface org.freedesktop.Telepathy.Channel.Interface.Messages.

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

### tp_svc_channel_interface_messages_emit_message_sent ()

    void                tp_svc_channel_interface_messages_emit_message_sent
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Content,
                                                             guint arg_Flags,
                                                             const gchar *arg_Message_Token);

Type-safe wrapper around g_signal_emit to emit the MessageSent signal on interface org.freedesktop.Telepathy.Channel.Interface.Messages.

`instance` : | The object implementing this interface
`arg_Content` : | const GPtrArray * (FIXME, generate documentation)
`arg_Flags` : | guint (FIXME, generate documentation)
`arg_Message_Token` : | const gchar * (FIXME, generate documentation)

### tp_svc_channel_interface_messages_emit_pending_messages_removed ()

    void                tp_svc_channel_interface_messages_emit_pending_messages_removed
                                                            (gpointer instance,
                                                             const GArray *arg_Message_IDs);

Type-safe wrapper around g_signal_emit to emit the PendingMessagesRemoved signal on interface org.freedesktop.Telepathy.Channel.Interface.Messages.

`instance` : | The object implementing this interface
`arg_Message_IDs` : | const GArray * (FIXME, generate documentation)

### tp_svc_channel_interface_messages_get_pending_message_content_impl ()

    void                (*tp_svc_channel_interface_messages_get_pending_message_content_impl)
                                                            (TpSvcChannelInterfaceMessages *self,
                                                             guint in_Message_ID,
                                                             const GArray *in_Parts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetPendingMessageContent on interface org.freedesktop.Telepathy.Channel.Interface.Messages.

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

### tp_svc_channel_interface_messages_implement_get_pending_message_content ()

    void                tp_svc_channel_interface_messages_implement_get_pending_message_content
                                                            (TpSvcChannelInterfaceMessagesClass *klass,
                                                             tp_svc_channel_interface_messages_get_pending_message_content_impl impl);

Register an implementation for the GetPendingMessageContent 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 GetPendingMessageContent D-Bus method

### tp_svc_channel_interface_messages_implement_send_message ()

    void                tp_svc_channel_interface_messages_implement_send_message
                                                            (TpSvcChannelInterfaceMessagesClass *klass,
                                                             tp_svc_channel_interface_messages_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.

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

### tp_svc_channel_interface_messages_return_from_get_pending_message_content ()

    void                tp_svc_channel_interface_messages_return_from_get_pending_message_content
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Content);

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

`context` : | The D-Bus method invocation context
`out_Content` : | GHashTable * (FIXME, generate documentation)

### tp_svc_channel_interface_messages_return_from_send_message ()

    void                tp_svc_channel_interface_messages_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.

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

### tp_svc_channel_interface_messages_send_message_impl ()

    void                (*tp_svc_channel_interface_messages_send_message_impl)
                                                            (TpSvcChannelInterfaceMessages *self,
                                                             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.Channel.Interface.Messages.

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

### TpSvcChannelInterfacePassword

    typedef struct _TpSvcChannelInterfacePassword TpSvcChannelInterfacePassword;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfacePasswordClass

    typedef struct _TpSvcChannelInterfacePasswordClass TpSvcChannelInterfacePasswordClass;

The class of TpSvcChannelInterfacePassword.

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_interface_password (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_interface_password_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_password_flags);
      IMPLEMENT (provide_password);
    #undef IMPLEMENT
    }

### tp_svc_channel_interface_password_get_password_flags_impl ()

    void                (*tp_svc_channel_interface_password_get_password_flags_impl)
                                                            (TpSvcChannelInterfacePassword *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetPasswordFlags on interface org.freedesktop.Telepathy.Channel.Interface.Password.

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

### tp_svc_channel_interface_password_implement_get_password_flags ()

    void                tp_svc_channel_interface_password_implement_get_password_flags
                                                            (TpSvcChannelInterfacePasswordClass *klass,
                                                             tp_svc_channel_interface_password_get_password_flags_impl impl);

Register an implementation for the GetPasswordFlags 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 GetPasswordFlags D-Bus method

### tp_svc_channel_interface_password_return_from_get_password_flags ()

    void                tp_svc_channel_interface_password_return_from_get_password_flags
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Password_Flags);

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

`context` : | The D-Bus method invocation context
`out_Password_Flags` : | guint (FIXME, generate documentation)

### tp_svc_channel_interface_password_provide_password_impl ()

    void                (*tp_svc_channel_interface_password_provide_password_impl)
                                                            (TpSvcChannelInterfacePassword *self,
                                                             const gchar *in_Password,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method ProvidePassword on interface org.freedesktop.Telepathy.Channel.Interface.Password.

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

### tp_svc_channel_interface_password_implement_provide_password ()

    void                tp_svc_channel_interface_password_implement_provide_password
                                                            (TpSvcChannelInterfacePasswordClass *klass,
                                                             tp_svc_channel_interface_password_provide_password_impl impl);

Register an implementation for the ProvidePassword 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 ProvidePassword D-Bus method

### tp_svc_channel_interface_password_return_from_provide_password ()

    void                tp_svc_channel_interface_password_return_from_provide_password
                                                            (DBusGMethodInvocation *context,
                                                             gboolean out_Correct);

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

`context` : | The D-Bus method invocation context
`out_Correct` : | gboolean (FIXME, generate documentation)

### tp_svc_channel_interface_password_emit_password_flags_changed ()

    void                tp_svc_channel_interface_password_emit_password_flags_changed
                                                            (gpointer instance,
                                                             guint arg_Added,
                                                             guint arg_Removed);

Type-safe wrapper around g_signal_emit to emit the PasswordFlagsChanged signal on interface org.freedesktop.Telepathy.Channel.Interface.Password.

`instance` : | The object implementing this interface
`arg_Added` : | guint (FIXME, generate documentation)
`arg_Removed` : | guint (FIXME, generate documentation)

### TpSvcChannelInterfaceSMS

    typedef struct _TpSvcChannelInterfaceSMS TpSvcChannelInterfaceSMS;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelInterfaceSMSClass

    typedef struct _TpSvcChannelInterfaceSMSClass TpSvcChannelInterfaceSMSClass;

The class of TpSvcChannelInterfaceSMS.

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

### tp_svc_channel_interface_sms_emit_sms_channel_changed ()

    void                tp_svc_channel_interface_sms_emit_sms_channel_changed
                                                            (gpointer instance,
                                                             gboolean arg_SMSChannel);

Type-safe wrapper around g_signal_emit to emit the SMSChannelChanged signal on interface org.freedesktop.Telepathy.Channel.Interface.SMS.

`instance` : | The object implementing this interface
`arg_SMSChannel` : | gboolean (FIXME, generate documentation)

### tp_svc_channel_interface_sms_get_sms_length_impl ()

    void                (*tp_svc_channel_interface_sms_get_sms_length_impl)
                                                            (TpSvcChannelInterfaceSMS *self,
                                                             const GPtrArray *in_Message,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetSMSLength on interface org.freedesktop.Telepathy.Channel.Interface.SMS.

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

### tp_svc_channel_interface_sms_implement_get_sms_length ()

    void                tp_svc_channel_interface_sms_implement_get_sms_length
                                                            (TpSvcChannelInterfaceSMSClass *klass,
                                                             tp_svc_channel_interface_sms_get_sms_length_impl impl);

Register an implementation for the GetSMSLength 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 GetSMSLength D-Bus method

### tp_svc_channel_interface_sms_return_from_get_sms_length ()

    void                tp_svc_channel_interface_sms_return_from_get_sms_length
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Chunks_Required,
                                                             gint out_Remaining_Characters,
                                                             gint out_Estimated_Cost);

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

`context` : | The D-Bus method invocation context
`out_Chunks_Required` : | guint (FIXME, generate documentation)
`out_Remaining_Characters` : | gint (FIXME, generate documentation)
`out_Estimated_Cost` : | gint (FIXME, generate documentation)

## Signal Details

### The `"lost-message"` signal

    void                user_function                      (TpSvcChannelTypeText *self,
                                                            gpointer              user_data)      : Has Details

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

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

### The `"received"` signal

    void                user_function                      (TpSvcChannelTypeText *self,
                                                            guint                 arg_ID,
                                                            guint                 arg_Timestamp,
                                                            guint                 arg_Sender,
                                                            guint                 arg_Type,
                                                            guint                 arg_Flags,
                                                            gchar                *arg_Text,
                                                            gpointer              user_data)          : Has Details

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

`self` : | an object
`arg_ID` : | guint (FIXME, generate documentation)
`arg_Timestamp` : | guint (FIXME, generate documentation)
`arg_Sender` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Flags` : | guint (FIXME, generate documentation)
`arg_Text` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"send-error"` signal

    void                user_function                      (TpSvcChannelTypeText *self,
                                                            guint                 arg_Error,
                                                            guint                 arg_Timestamp,
                                                            guint                 arg_Type,
                                                            gchar                *arg_Text,
                                                            gpointer              user_data)          : Has Details

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

`self` : | an object
`arg_Error` : | guint (FIXME, generate documentation)
`arg_Timestamp` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Text` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"sent"` signal

    void                user_function                      (TpSvcChannelTypeText *self,
                                                            guint                 arg_Timestamp,
                                                            guint                 arg_Type,
                                                            gchar                *arg_Text,
                                                            gpointer              user_data)          : Has Details

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

`self` : | an object
`arg_Timestamp` : | guint (FIXME, generate documentation)
`arg_Type` : | guint (FIXME, generate documentation)
`arg_Text` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"chat-state-changed"` signal

    void                user_function                      (TpSvcChannelInterfaceChatState *self,
                                                            guint                           arg_Contact,
                                                            guint                           arg_State,
                                                            gpointer                        user_data)        : Has Details

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

`self` : | an object
`arg_Contact` : | guint (FIXME, generate documentation)
`arg_State` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"message-received"` signal

    void                user_function                      (TpSvcChannelInterfaceMessages *self,
                                                            gpointer                       user_data)      : Has Details

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

`self` : | an object
`arg_Message` : | const GPtrArray * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"message-sent"` signal

    void                user_function                      (TpSvcChannelInterfaceMessages *self,
                                                            guint                          arg_Flags,
                                                            gchar                         *arg_Message_Token,
                                                            gpointer                       user_data)              : Has Details

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

`self` : | an object
`arg_Content` : | const GPtrArray * (FIXME, generate documentation)
`arg_Flags` : | guint (FIXME, generate documentation)
`arg_Message_Token` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"pending-messages-removed"` signal

    void                user_function                      (TpSvcChannelInterfaceMessages *self,
                                                            GArray_guint_                 *arg_Message_IDs,
                                                            gpointer                       user_data)            : Has Details

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

`self` : | an object
`arg_Message_IDs` : | const GArray * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"password-flags-changed"` signal

    void                user_function                      (TpSvcChannelInterfacePassword *self,
                                                            guint                          arg_Added,
                                                            guint                          arg_Removed,
                                                            gpointer                       user_data)        : Has Details

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

`self` : | an object
`arg_Added` : | guint (FIXME, generate documentation)
`arg_Removed` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"s-ms-channel-changed"` signal

    void                user_function                      (TpSvcChannelInterfaceSMS *self,
                                                            gboolean                  arg_SMSChannel,
                                                            gpointer                  user_data)           : Has Details

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

`self` : | an object
`arg_SMSChannel` : | gboolean (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

## See Also

TpTextMixin