## Service-side Connection interfaces Service-side Connection interfaces — GInterfaces for Telepathy Connection objects |

## Synopsis

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

                        TpSvcConnection;
                        TpSvcConnectionClass;
    void                (*tp_svc_connection_connect_impl)   (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_connect (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_connect_impl impl);
    void                tp_svc_connection_return_from_connect
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_disconnect_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_disconnect
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_disconnect_impl impl);
    void                tp_svc_connection_return_from_disconnect
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_get_interfaces_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_get_interfaces
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_interfaces_impl impl);
    void                tp_svc_connection_return_from_get_interfaces
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Interfaces);
    void                (*tp_svc_connection_get_protocol_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_get_protocol
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_protocol_impl impl);
    void                tp_svc_connection_return_from_get_protocol
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Protocol);
    void                (*tp_svc_connection_get_self_handle_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_get_self_handle
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_self_handle_impl impl);
    void                tp_svc_connection_return_from_get_self_handle
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Self_Handle);
    void                (*tp_svc_connection_get_status_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_get_status
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_status_impl impl);
    void                tp_svc_connection_return_from_get_status
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Status);
    void                (*tp_svc_connection_hold_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_hold_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_hold_handles_impl impl);
    void                tp_svc_connection_return_from_hold_handles
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_inspect_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_inspect_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_inspect_handles_impl impl);
    void                tp_svc_connection_return_from_inspect_handles
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Identifiers);
    void                (*tp_svc_connection_list_channels_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_list_channels
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_list_channels_impl impl);
    void                tp_svc_connection_return_from_list_channels
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Channel_Info);
    void                (*tp_svc_connection_release_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_release_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_release_handles_impl impl);
    void                tp_svc_connection_return_from_release_handles
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_request_channel_impl)
                                                            (TpSvcConnection *self,
                                                             const gchar *in_Type,
                                                             guint in_Handle_Type,
                                                             guint in_Handle,
                                                             gboolean in_Suppress_Handler,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_request_channel
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_request_channel_impl impl);
    void                tp_svc_connection_return_from_request_channel
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Object_Path);
    void                (*tp_svc_connection_request_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const gchar **in_Identifiers,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_implement_request_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_request_handles_impl impl);
    void                tp_svc_connection_return_from_request_handles
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Handles);
    void                tp_svc_connection_emit_new_channel  (gpointer instance,
                                                             const gchar *arg_Object_Path,
                                                             const gchar *arg_Channel_Type,
                                                             guint arg_Handle_Type,
                                                             guint arg_Handle,
                                                             gboolean arg_Suppress_Handler);
    void                tp_svc_connection_emit_self_handle_changed
                                                            (gpointer instance,
                                                             guint arg_Self_Handle);
    void                tp_svc_connection_emit_status_changed
                                                            (gpointer instance,
                                                             guint arg_Status,
                                                             guint arg_Reason);
    void                tp_svc_connection_emit_connection_error
                                                            (gpointer instance,
                                                             const gchar *arg_Error,
                                                             GHashTable *arg_Details);

                        TpSvcConnectionInterfaceContacts;
                        TpSvcConnectionInterfaceContactsClass;
    void                (*tp_svc_connection_interface_contacts_get_contact_attributes_impl)
                                                            (TpSvcConnectionInterfaceContacts *self,
                                                             const GArray *in_Handles,
                                                             const gchar **in_Interfaces,
                                                             gboolean in_Hold,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_contacts_implement_get_contact_attributes
                                                            (TpSvcConnectionInterfaceContactsClass *klass,
                                                             tp_svc_connection_interface_contacts_get_contact_attributes_impl impl);
    void                tp_svc_connection_interface_contacts_return_from_get_contact_attributes
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Attributes);

                        TpSvcConnectionInterfaceRequests;
                        TpSvcConnectionInterfaceRequestsClass;
    void                (*tp_svc_connection_interface_requests_create_channel_impl)
                                                            (TpSvcConnectionInterfaceRequests *self,
                                                             GHashTable *in_Request,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_requests_emit_channel_closed
                                                            (gpointer instance,
                                                             const gchar *arg_Removed);
    void                tp_svc_connection_interface_requests_emit_new_channels
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Channels);
    void                (*tp_svc_connection_interface_requests_ensure_channel_impl)
                                                            (TpSvcConnectionInterfaceRequests *self,
                                                             GHashTable *in_Request,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_requests_implement_create_channel
                                                            (TpSvcConnectionInterfaceRequestsClass *klass,
                                                             tp_svc_connection_interface_requests_create_channel_impl impl);
    void                tp_svc_connection_interface_requests_implement_ensure_channel
                                                            (TpSvcConnectionInterfaceRequestsClass *klass,
                                                             tp_svc_connection_interface_requests_ensure_channel_impl impl);
    void                tp_svc_connection_interface_requests_return_from_create_channel
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Channel,
                                                             GHashTable *out_Properties);
    void                tp_svc_connection_interface_requests_return_from_ensure_channel
                                                            (DBusGMethodInvocation *context,
                                                             gboolean out_Yours,
                                                             const gchar *out_Channel,
                                                             GHashTable *out_Properties);

                        TpSvcConnectionInterfaceSimplePresence;
                        TpSvcConnectionInterfaceSimplePresenceClass;
    void                tp_svc_connection_interface_simple_presence_emit_presences_changed
                                                            (gpointer instance,
                                                             GHashTable *arg_Presence);
    void                (*tp_svc_connection_interface_simple_presence_get_presences_impl)
                                                            (TpSvcConnectionInterfaceSimplePresence *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_simple_presence_implement_get_presences
                                                            (TpSvcConnectionInterfaceSimplePresenceClass *klass,
                                                             tp_svc_connection_interface_simple_presence_get_presences_impl impl);
    void                tp_svc_connection_interface_simple_presence_implement_set_presence
                                                            (TpSvcConnectionInterfaceSimplePresenceClass *klass,
                                                             tp_svc_connection_interface_simple_presence_set_presence_impl impl);
    void                tp_svc_connection_interface_simple_presence_return_from_get_presences
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Presence);
    void                tp_svc_connection_interface_simple_presence_return_from_set_presence
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_simple_presence_set_presence_impl)
                                                            (TpSvcConnectionInterfaceSimplePresence *self,
                                                             const gchar *in_Status,
                                                             const gchar *in_Status_Message,
                                                             DBusGMethodInvocation *context);

                        TpSvcConnectionInterfacePresence;
                        TpSvcConnectionInterfacePresenceClass;
    void                (*tp_svc_connection_interface_presence_add_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const gchar *in_Status,
                                                             GHashTable *in_Parameters,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_add_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_add_status_impl impl);
    void                tp_svc_connection_interface_presence_return_from_add_status
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_presence_clear_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_clear_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_clear_status_impl impl);
    void                tp_svc_connection_interface_presence_return_from_clear_status
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_presence_get_presence_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_get_presence
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_get_presence_impl impl);
    void                tp_svc_connection_interface_presence_return_from_get_presence
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Presence);
    void                (*tp_svc_connection_interface_presence_get_statuses_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_get_statuses
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_get_statuses_impl impl);
    void                tp_svc_connection_interface_presence_return_from_get_statuses
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Available_Statuses);
    void                (*tp_svc_connection_interface_presence_remove_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const gchar *in_Status,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_remove_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_remove_status_impl impl);
    void                tp_svc_connection_interface_presence_return_from_remove_status
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_presence_request_presence_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_request_presence
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_request_presence_impl impl);
    void                tp_svc_connection_interface_presence_return_from_request_presence
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_presence_set_last_activity_time_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             guint in_Time,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_set_last_activity_time
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_set_last_activity_time_impl impl);
    void                tp_svc_connection_interface_presence_return_from_set_last_activity_time
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_presence_set_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             GHashTable *in_Statuses,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_implement_set_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_set_status_impl impl);
    void                tp_svc_connection_interface_presence_return_from_set_status
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_presence_emit_presence_update
                                                            (gpointer instance,
                                                             GHashTable *arg_Presence);

                        TpSvcConnectionInterfaceAvatars;
                        TpSvcConnectionInterfaceAvatarsClass;
    void                (*tp_svc_connection_interface_avatars_clear_avatar_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_implement_clear_avatar
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_clear_avatar_impl impl);
    void                tp_svc_connection_interface_avatars_return_from_clear_avatar
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_avatars_get_avatar_requirements_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_implement_get_avatar_requirements
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_get_avatar_requirements_impl impl);
    void                tp_svc_connection_interface_avatars_return_from_get_avatar_requirements
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_MIME_Types,
                                                             guint out_Min_Width,
                                                             guint out_Min_Height,
                                                             guint out_Max_Width,
                                                             guint out_Max_Height,
                                                             guint out_Max_Bytes);
    void                (*tp_svc_connection_interface_avatars_get_avatar_tokens_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_implement_get_avatar_tokens
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_get_avatar_tokens_impl impl);
    void                tp_svc_connection_interface_avatars_return_from_get_avatar_tokens
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Tokens);
    void                (*tp_svc_connection_interface_avatars_request_avatar_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             guint in_Contact,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_implement_request_avatar
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_request_avatar_impl impl);
    void                tp_svc_connection_interface_avatars_return_from_request_avatar
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Data,
                                                             const gchar *out_MIME_Type);
    void                (*tp_svc_connection_interface_avatars_set_avatar_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Avatar,
                                                             const gchar *in_MIME_Type,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_implement_set_avatar
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_set_avatar_impl impl);
    void                tp_svc_connection_interface_avatars_return_from_set_avatar
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Token);
    void                tp_svc_connection_interface_avatars_emit_avatar_updated
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             const gchar *arg_New_Avatar_Token);
    void                tp_svc_connection_interface_avatars_emit_avatar_retrieved
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             const gchar *arg_Token,
                                                             const GArray *arg_Avatar,
                                                             const gchar *arg_Type);
    void                tp_svc_connection_interface_avatars_implement_request_avatars
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_request_avatars_impl impl);
    void                (*tp_svc_connection_interface_avatars_request_avatars_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_return_from_request_avatars
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_connection_interface_avatars_get_known_avatar_tokens_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_avatars_implement_get_known_avatar_tokens
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_get_known_avatar_tokens_impl impl);
    void                tp_svc_connection_interface_avatars_return_from_get_known_avatar_tokens
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Tokens);

                        TpSvcConnectionInterfaceAliasing;
                        TpSvcConnectionInterfaceAliasingClass;
    void                (*tp_svc_connection_interface_aliasing_get_alias_flags_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_aliasing_implement_get_alias_flags
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_get_alias_flags_impl impl);
    void                tp_svc_connection_interface_aliasing_return_from_get_alias_flags
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Alias_Flags);
    void                (*tp_svc_connection_interface_aliasing_request_aliases_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_aliasing_implement_request_aliases
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_request_aliases_impl impl);
    void                tp_svc_connection_interface_aliasing_return_from_request_aliases
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Aliases);
    void                (*tp_svc_connection_interface_aliasing_get_aliases_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_aliasing_implement_get_aliases
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_get_aliases_impl impl);
    void                tp_svc_connection_interface_aliasing_return_from_get_aliases
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Aliases);
    void                (*tp_svc_connection_interface_aliasing_set_aliases_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             GHashTable *in_Aliases,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_aliasing_implement_set_aliases
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_set_aliases_impl impl);
    void                tp_svc_connection_interface_aliasing_return_from_set_aliases
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_aliasing_emit_aliases_changed
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Aliases);

                        TpSvcConnectionInterfaceCapabilities;
                        TpSvcConnectionInterfaceCapabilitiesClass;
    void                (*tp_svc_connection_interface_capabilities_advertise_capabilities_impl)
                                                            (TpSvcConnectionInterfaceCapabilities *self,
                                                             const GPtrArray *in_Add,
                                                             const gchar **in_Remove,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_capabilities_implement_advertise_capabilities
                                                            (TpSvcConnectionInterfaceCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_capabilities_advertise_capabilities_impl impl);
    void                tp_svc_connection_interface_capabilities_return_from_advertise_capabilities
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Self_Capabilities);
    void                (*tp_svc_connection_interface_capabilities_get_capabilities_impl)
                                                            (TpSvcConnectionInterfaceCapabilities *self,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_capabilities_implement_get_capabilities
                                                            (TpSvcConnectionInterfaceCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_capabilities_get_capabilities_impl impl);
    void                tp_svc_connection_interface_capabilities_return_from_get_capabilities
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Contact_Capabilities);
    void                tp_svc_connection_interface_capabilities_emit_capabilities_changed
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Caps);

                        TpSvcConnectionInterfaceContactCapabilities;
                        TpSvcConnectionInterfaceContactCapabilitiesClass;
    void                tp_svc_connection_interface_contact_capabilities_emit_contact_capabilities_changed
                                                            (gpointer instance,
                                                             GHashTable *arg_caps);
    void                (*tp_svc_connection_interface_contact_capabilities_get_contact_capabilities_impl)
                                                            (TpSvcConnectionInterfaceContactCapabilities *self,
                                                             const GArray *in_handles,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_contact_capabilities_return_from_get_contact_capabilities
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Contact_Capabilities);
    void                tp_svc_connection_interface_contact_capabilities_implement_get_contact_capabilities
                                                            (TpSvcConnectionInterfaceContactCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_contact_capabilities_get_contact_capabilities_impl impl);
    void                (*tp_svc_connection_interface_contact_capabilities_update_capabilities_impl)
                                                            (TpSvcConnectionInterfaceContactCapabilities *self,
                                                             const GPtrArray *in_Handler_Capabilities,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_contact_capabilities_return_from_update_capabilities
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_contact_capabilities_implement_update_capabilities
                                                            (TpSvcConnectionInterfaceContactCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_contact_capabilities_update_capabilities_impl impl);

                        TpSvcConnectionInterfaceLocation;
                        TpSvcConnectionInterfaceLocationClass;
    void                tp_svc_connection_interface_location_emit_location_updated
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             GHashTable *arg_Location);
    void                (*tp_svc_connection_interface_location_get_locations_impl)
                                                            (TpSvcConnectionInterfaceLocation *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_location_return_from_get_locations
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Locations);
    void                tp_svc_connection_interface_location_implement_get_locations
                                                            (TpSvcConnectionInterfaceLocationClass *klass,
                                                             tp_svc_connection_interface_location_get_locations_impl impl);
    void                (*tp_svc_connection_interface_location_request_location_impl)
                                                            (TpSvcConnectionInterfaceLocation *self,
                                                             guint in_Contact,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_location_return_from_request_location
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Location);
    void                tp_svc_connection_interface_location_implement_request_location
                                                            (TpSvcConnectionInterfaceLocationClass *klass,
                                                             tp_svc_connection_interface_location_request_location_impl impl);
    void                (*tp_svc_connection_interface_location_set_location_impl)
                                                            (TpSvcConnectionInterfaceLocation *self,
                                                             GHashTable *in_Location,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_location_return_from_set_location
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_connection_interface_location_implement_set_location
                                                            (TpSvcConnectionInterfaceLocationClass *klass,
                                                             tp_svc_connection_interface_location_set_location_impl impl);

## Object Hierarchy

      GInterface
       +----TpSvcConnection

      GInterface
       +----TpSvcConnectionInterfaceContacts

      GInterface
       +----TpSvcConnectionInterfaceRequests

      GInterface
       +----TpSvcConnectionInterfaceSimplePresence

      GInterface
       +----TpSvcConnectionInterfacePresence

      GInterface
       +----TpSvcConnectionInterfaceAvatars

      GInterface
       +----TpSvcConnectionInterfaceAliasing

      GInterface
       +----TpSvcConnectionInterfaceCapabilities

## Known Implementations

TpSvcConnection is implemented by TpBaseConnection.

TpSvcConnectionInterfaceRequests is implemented by TpBaseConnection.

## Signals

      "connection-error"                               : Run Last / Has Details
      "new-channel"                                    : Run Last / Has Details
      "self-handle-changed"                            : Run Last / Has Details
      "status-changed"                                 : Run Last / Has Details
      "channel-closed"                                 : Run Last / Has Details
      "new-channels"                                   : Run Last / Has Details
      "presences-changed"                              : Run Last / Has Details
      "presence-update"                                : Run Last / Has Details
      "avatar-retrieved"                               : Run Last / Has Details
      "avatar-updated"                                 : Run Last / Has Details
      "aliases-changed"                                : Run Last / Has Details
      "capabilities-changed"                           : Run Last / Has Details

## Description

These interfaces (auto-generated from the Telepathy spec) make it easier to export objects implementing the Telepathy Connection and its optional interfaces, with the correct method and signal signatures, and emit signals from those objects in a type-safe way.

## Details

### TpSvcConnection

    typedef struct _TpSvcConnection TpSvcConnection;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionClass

    typedef struct _TpSvcConnectionClass TpSvcConnectionClass;

The class of TpSvcConnection.

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_connection (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (connect);
      IMPLEMENT (disconnect);
      IMPLEMENT (get_interfaces);
      IMPLEMENT (get_protocol);
      IMPLEMENT (get_self_handle);
      IMPLEMENT (get_status);
      IMPLEMENT (hold_handles);
      IMPLEMENT (inspect_handles);
      IMPLEMENT (list_channels);
      IMPLEMENT (release_handles);
      IMPLEMENT (request_channel);
      IMPLEMENT (request_handles);
    #undef IMPLEMENT
    }

### tp_svc_connection_connect_impl ()

    void                (*tp_svc_connection_connect_impl)   (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_connect ()

    void                tp_svc_connection_implement_connect (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_connect_impl impl);

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

### tp_svc_connection_return_from_connect ()

    void                tp_svc_connection_return_from_connect
                                                            (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_connection_disconnect_impl ()

    void                (*tp_svc_connection_disconnect_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_disconnect ()

    void                tp_svc_connection_implement_disconnect
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_disconnect_impl impl);

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

### tp_svc_connection_return_from_disconnect ()

    void                tp_svc_connection_return_from_disconnect
                                                            (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_connection_get_interfaces_impl ()

    void                (*tp_svc_connection_get_interfaces_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_get_interfaces ()

    void                tp_svc_connection_implement_get_interfaces
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_interfaces_impl impl);

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

### tp_svc_connection_return_from_get_interfaces ()

    void                tp_svc_connection_return_from_get_interfaces
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Interfaces);

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_Interfaces` : | const gchar ** (FIXME, generate documentation)

### tp_svc_connection_get_protocol_impl ()

    void                (*tp_svc_connection_get_protocol_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_get_protocol ()

    void                tp_svc_connection_implement_get_protocol
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_protocol_impl impl);

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

### tp_svc_connection_return_from_get_protocol ()

    void                tp_svc_connection_return_from_get_protocol
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Protocol);

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_Protocol` : | const gchar * (FIXME, generate documentation)

### tp_svc_connection_get_self_handle_impl ()

    void                (*tp_svc_connection_get_self_handle_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_get_self_handle ()

    void                tp_svc_connection_implement_get_self_handle
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_self_handle_impl impl);

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

### tp_svc_connection_return_from_get_self_handle ()

    void                tp_svc_connection_return_from_get_self_handle
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Self_Handle);

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_Self_Handle` : | guint (FIXME, generate documentation)

### tp_svc_connection_get_status_impl ()

    void                (*tp_svc_connection_get_status_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_get_status ()

    void                tp_svc_connection_implement_get_status
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_get_status_impl impl);

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

### tp_svc_connection_return_from_get_status ()

    void                tp_svc_connection_return_from_get_status
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Status);

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_Status` : | guint (FIXME, generate documentation)

### tp_svc_connection_hold_handles_impl ()

    void                (*tp_svc_connection_hold_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_hold_handles ()

    void                tp_svc_connection_implement_hold_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_hold_handles_impl impl);

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

### tp_svc_connection_return_from_hold_handles ()

    void                tp_svc_connection_return_from_hold_handles
                                                            (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_connection_inspect_handles_impl ()

    void                (*tp_svc_connection_inspect_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_inspect_handles ()

    void                tp_svc_connection_implement_inspect_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_inspect_handles_impl impl);

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

### tp_svc_connection_return_from_inspect_handles ()

    void                tp_svc_connection_return_from_inspect_handles
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Identifiers);

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_Identifiers` : | const gchar ** (FIXME, generate documentation)

### tp_svc_connection_list_channels_impl ()

    void                (*tp_svc_connection_list_channels_impl)
                                                            (TpSvcConnection *self,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_list_channels ()

    void                tp_svc_connection_implement_list_channels
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_list_channels_impl impl);

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

### tp_svc_connection_return_from_list_channels ()

    void                tp_svc_connection_return_from_list_channels
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Channel_Info);

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_Channel_Info` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_connection_release_handles_impl ()

    void                (*tp_svc_connection_release_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_release_handles ()

    void                tp_svc_connection_implement_release_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_release_handles_impl impl);

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

### tp_svc_connection_return_from_release_handles ()

    void                tp_svc_connection_return_from_release_handles
                                                            (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_connection_request_channel_impl ()

    void                (*tp_svc_connection_request_channel_impl)
                                                            (TpSvcConnection *self,
                                                             const gchar *in_Type,
                                                             guint in_Handle_Type,
                                                             guint in_Handle,
                                                             gboolean in_Suppress_Handler,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_request_channel ()

    void                tp_svc_connection_implement_request_channel
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_request_channel_impl impl);

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

### tp_svc_connection_return_from_request_channel ()

    void                tp_svc_connection_return_from_request_channel
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Object_Path);

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_Object_Path` : | const gchar * (FIXME, generate documentation)

### tp_svc_connection_request_handles_impl ()

    void                (*tp_svc_connection_request_handles_impl)
                                                            (TpSvcConnection *self,
                                                             guint in_Handle_Type,
                                                             const gchar **in_Identifiers,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_implement_request_handles ()

    void                tp_svc_connection_implement_request_handles
                                                            (TpSvcConnectionClass *klass,
                                                             tp_svc_connection_request_handles_impl impl);

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

### tp_svc_connection_return_from_request_handles ()

    void                tp_svc_connection_return_from_request_handles
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Handles);

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_Handles` : | const GArray * (FIXME, generate documentation)

### tp_svc_connection_emit_new_channel ()

    void                tp_svc_connection_emit_new_channel  (gpointer instance,
                                                             const gchar *arg_Object_Path,
                                                             const gchar *arg_Channel_Type,
                                                             guint arg_Handle_Type,
                                                             guint arg_Handle,
                                                             gboolean arg_Suppress_Handler);

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

`instance` : | The object implementing this interface
`arg_Object_Path` : | const gchar * (FIXME, generate documentation)
`arg_Channel_Type` : | const gchar * (FIXME, generate documentation)
`arg_Handle_Type` : | guint (FIXME, generate documentation)
`arg_Handle` : | guint (FIXME, generate documentation)
`arg_Suppress_Handler` : | gboolean (FIXME, generate documentation)

### tp_svc_connection_emit_self_handle_changed ()

    void                tp_svc_connection_emit_self_handle_changed
                                                            (gpointer instance,
                                                             guint arg_Self_Handle);

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

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

### tp_svc_connection_emit_status_changed ()

    void                tp_svc_connection_emit_status_changed
                                                            (gpointer instance,
                                                             guint arg_Status,
                                                             guint arg_Reason);

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

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

### tp_svc_connection_emit_connection_error ()

    void                tp_svc_connection_emit_connection_error
                                                            (gpointer instance,
                                                             const gchar *arg_Error,
                                                             GHashTable *arg_Details);

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

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

### TpSvcConnectionInterfaceContacts

    typedef struct _TpSvcConnectionInterfaceContacts TpSvcConnectionInterfaceContacts;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceContactsClass

    typedef struct _TpSvcConnectionInterfaceContactsClass TpSvcConnectionInterfaceContactsClass;

The class of TpSvcConnectionInterfaceContacts.

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

### tp_svc_connection_interface_contacts_get_contact_attributes_impl ()

    void                (*tp_svc_connection_interface_contacts_get_contact_attributes_impl)
                                                            (TpSvcConnectionInterfaceContacts *self,
                                                             const GArray *in_Handles,
                                                             const gchar **in_Interfaces,
                                                             gboolean in_Hold,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetContactAttributes on interface org.freedesktop.Telepathy.Connection.Interface.Contacts.

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

### tp_svc_connection_interface_contacts_implement_get_contact_attributes ()

    void                tp_svc_connection_interface_contacts_implement_get_contact_attributes
                                                            (TpSvcConnectionInterfaceContactsClass *klass,
                                                             tp_svc_connection_interface_contacts_get_contact_attributes_impl impl);

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

### tp_svc_connection_interface_contacts_return_from_get_contact_attributes ()

    void                tp_svc_connection_interface_contacts_return_from_get_contact_attributes
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Attributes);

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_Attributes` : | GHashTable * (FIXME, generate documentation)

### TpSvcConnectionInterfaceRequests

    typedef struct _TpSvcConnectionInterfaceRequests TpSvcConnectionInterfaceRequests;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceRequestsClass

    typedef struct _TpSvcConnectionInterfaceRequestsClass TpSvcConnectionInterfaceRequestsClass;

The class of TpSvcConnectionInterfaceRequests.

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_connection_interface_requests (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_requests_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (create_channel);
      IMPLEMENT (ensure_channel);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_requests_create_channel_impl ()

    void                (*tp_svc_connection_interface_requests_create_channel_impl)
                                                            (TpSvcConnectionInterfaceRequests *self,
                                                             GHashTable *in_Request,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_interface_requests_emit_channel_closed ()

    void                tp_svc_connection_interface_requests_emit_channel_closed
                                                            (gpointer instance,
                                                             const gchar *arg_Removed);

Type-safe wrapper around g_signal_emit to emit the ChannelClosed signal on interface org.freedesktop.Telepathy.Connection.Interface.Requests.

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

### tp_svc_connection_interface_requests_emit_new_channels ()

    void                tp_svc_connection_interface_requests_emit_new_channels
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Channels);

Type-safe wrapper around g_signal_emit to emit the NewChannels signal on interface org.freedesktop.Telepathy.Connection.Interface.Requests.

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

### tp_svc_connection_interface_requests_ensure_channel_impl ()

    void                (*tp_svc_connection_interface_requests_ensure_channel_impl)
                                                            (TpSvcConnectionInterfaceRequests *self,
                                                             GHashTable *in_Request,
                                                             DBusGMethodInvocation *context);

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

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

### tp_svc_connection_interface_requests_implement_create_channel ()

    void                tp_svc_connection_interface_requests_implement_create_channel
                                                            (TpSvcConnectionInterfaceRequestsClass *klass,
                                                             tp_svc_connection_interface_requests_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.

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

### tp_svc_connection_interface_requests_implement_ensure_channel ()

    void                tp_svc_connection_interface_requests_implement_ensure_channel
                                                            (TpSvcConnectionInterfaceRequestsClass *klass,
                                                             tp_svc_connection_interface_requests_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.

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

### tp_svc_connection_interface_requests_return_from_create_channel ()

    void                tp_svc_connection_interface_requests_return_from_create_channel
                                                            (DBusGMethodInvocation *context,
                                                             const gchar *out_Channel,
                                                             GHashTable *out_Properties);

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_Channel` : | const gchar * (FIXME, generate documentation)
`out_Properties` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_requests_return_from_ensure_channel ()

    void                tp_svc_connection_interface_requests_return_from_ensure_channel
                                                            (DBusGMethodInvocation *context,
                                                             gboolean out_Yours,
                                                             const gchar *out_Channel,
                                                             GHashTable *out_Properties);

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_Yours` : | gboolean (FIXME, generate documentation)
`out_Channel` : | const gchar * (FIXME, generate documentation)
`out_Properties` : | GHashTable * (FIXME, generate documentation)

### TpSvcConnectionInterfaceSimplePresence

    typedef struct _TpSvcConnectionInterfaceSimplePresence TpSvcConnectionInterfaceSimplePresence;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceSimplePresenceClass

    typedef struct _TpSvcConnectionInterfaceSimplePresenceClass TpSvcConnectionInterfaceSimplePresenceClass;

The class of TpSvcConnectionInterfaceSimplePresence.

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_connection_interface_simple_presence (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_simple_presence_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (set_presence);
      IMPLEMENT (get_presences);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_simple_presence_emit_presences_changed ()

    void                tp_svc_connection_interface_simple_presence_emit_presences_changed
                                                            (gpointer instance,
                                                             GHashTable *arg_Presence);

Type-safe wrapper around g_signal_emit to emit the PresencesChanged signal on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.

`instance` : | The object implementing this interface
`arg_Presence` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_simple_presence_get_presences_impl ()

    void                (*tp_svc_connection_interface_simple_presence_get_presences_impl)
                                                            (TpSvcConnectionInterfaceSimplePresence *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetPresences on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.

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

### tp_svc_connection_interface_simple_presence_implement_get_presences ()

    void                tp_svc_connection_interface_simple_presence_implement_get_presences
                                                            (TpSvcConnectionInterfaceSimplePresenceClass *klass,
                                                             tp_svc_connection_interface_simple_presence_get_presences_impl impl);

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

### tp_svc_connection_interface_simple_presence_implement_set_presence ()

    void                tp_svc_connection_interface_simple_presence_implement_set_presence
                                                            (TpSvcConnectionInterfaceSimplePresenceClass *klass,
                                                             tp_svc_connection_interface_simple_presence_set_presence_impl impl);

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

### tp_svc_connection_interface_simple_presence_return_from_get_presences ()

    void                tp_svc_connection_interface_simple_presence_return_from_get_presences
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Presence);

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_Presence` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_simple_presence_return_from_set_presence ()

    void                tp_svc_connection_interface_simple_presence_return_from_set_presence
                                                            (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_connection_interface_simple_presence_set_presence_impl ()

    void                (*tp_svc_connection_interface_simple_presence_set_presence_impl)
                                                            (TpSvcConnectionInterfaceSimplePresence *self,
                                                             const gchar *in_Status,
                                                             const gchar *in_Status_Message,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetPresence on interface org.freedesktop.Telepathy.Connection.Interface.SimplePresence.

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

### TpSvcConnectionInterfacePresence

    typedef struct _TpSvcConnectionInterfacePresence TpSvcConnectionInterfacePresence;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfacePresenceClass

    typedef struct _TpSvcConnectionInterfacePresenceClass TpSvcConnectionInterfacePresenceClass;

The class of TpSvcConnectionInterfacePresence.

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_connection_interface_presence (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_presence_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (add_status);
      IMPLEMENT (clear_status);
      IMPLEMENT (get_presence);
      IMPLEMENT (get_statuses);
      IMPLEMENT (remove_status);
      IMPLEMENT (request_presence);
      IMPLEMENT (set_last_activity_time);
      IMPLEMENT (set_status);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_presence_add_status_impl ()

    void                (*tp_svc_connection_interface_presence_add_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const gchar *in_Status,
                                                             GHashTable *in_Parameters,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method AddStatus on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_add_status ()

    void                tp_svc_connection_interface_presence_implement_add_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_add_status_impl impl);

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

### tp_svc_connection_interface_presence_return_from_add_status ()

    void                tp_svc_connection_interface_presence_return_from_add_status
                                                            (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_connection_interface_presence_clear_status_impl ()

    void                (*tp_svc_connection_interface_presence_clear_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method ClearStatus on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_clear_status ()

    void                tp_svc_connection_interface_presence_implement_clear_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_clear_status_impl impl);

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

### tp_svc_connection_interface_presence_return_from_clear_status ()

    void                tp_svc_connection_interface_presence_return_from_clear_status
                                                            (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_connection_interface_presence_get_presence_impl ()

    void                (*tp_svc_connection_interface_presence_get_presence_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetPresence on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_get_presence ()

    void                tp_svc_connection_interface_presence_implement_get_presence
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_get_presence_impl impl);

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

### tp_svc_connection_interface_presence_return_from_get_presence ()

    void                tp_svc_connection_interface_presence_return_from_get_presence
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Presence);

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_Presence` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_presence_get_statuses_impl ()

    void                (*tp_svc_connection_interface_presence_get_statuses_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetStatuses on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_get_statuses ()

    void                tp_svc_connection_interface_presence_implement_get_statuses
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_get_statuses_impl impl);

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

### tp_svc_connection_interface_presence_return_from_get_statuses ()

    void                tp_svc_connection_interface_presence_return_from_get_statuses
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Available_Statuses);

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_Statuses` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_presence_remove_status_impl ()

    void                (*tp_svc_connection_interface_presence_remove_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const gchar *in_Status,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RemoveStatus on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_remove_status ()

    void                tp_svc_connection_interface_presence_implement_remove_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_remove_status_impl impl);

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

### tp_svc_connection_interface_presence_return_from_remove_status ()

    void                tp_svc_connection_interface_presence_return_from_remove_status
                                                            (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_connection_interface_presence_request_presence_impl ()

    void                (*tp_svc_connection_interface_presence_request_presence_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RequestPresence on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_request_presence ()

    void                tp_svc_connection_interface_presence_implement_request_presence
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_request_presence_impl impl);

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

### tp_svc_connection_interface_presence_return_from_request_presence ()

    void                tp_svc_connection_interface_presence_return_from_request_presence
                                                            (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_connection_interface_presence_set_last_activity_time_impl ()

    void                (*tp_svc_connection_interface_presence_set_last_activity_time_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             guint in_Time,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetLastActivityTime on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_set_last_activity_time ()

    void                tp_svc_connection_interface_presence_implement_set_last_activity_time
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_set_last_activity_time_impl impl);

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

### tp_svc_connection_interface_presence_return_from_set_last_activity_time ()

    void                tp_svc_connection_interface_presence_return_from_set_last_activity_time
                                                            (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_connection_interface_presence_set_status_impl ()

    void                (*tp_svc_connection_interface_presence_set_status_impl)
                                                            (TpSvcConnectionInterfacePresence *self,
                                                             GHashTable *in_Statuses,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetStatus on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

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

### tp_svc_connection_interface_presence_implement_set_status ()

    void                tp_svc_connection_interface_presence_implement_set_status
                                                            (TpSvcConnectionInterfacePresenceClass *klass,
                                                             tp_svc_connection_interface_presence_set_status_impl impl);

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

### tp_svc_connection_interface_presence_return_from_set_status ()

    void                tp_svc_connection_interface_presence_return_from_set_status
                                                            (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_connection_interface_presence_emit_presence_update ()

    void                tp_svc_connection_interface_presence_emit_presence_update
                                                            (gpointer instance,
                                                             GHashTable *arg_Presence);

Type-safe wrapper around g_signal_emit to emit the PresenceUpdate signal on interface org.freedesktop.Telepathy.Connection.Interface.Presence.

`instance` : | The object implementing this interface
`arg_Presence` : | GHashTable * (FIXME, generate documentation)

### TpSvcConnectionInterfaceAvatars

    typedef struct _TpSvcConnectionInterfaceAvatars TpSvcConnectionInterfaceAvatars;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceAvatarsClass

    typedef struct _TpSvcConnectionInterfaceAvatarsClass TpSvcConnectionInterfaceAvatarsClass;

The class of TpSvcConnectionInterfaceAvatars.

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_connection_interface_avatars (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_avatars_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_avatar_requirements);
      IMPLEMENT (get_avatar_tokens);
      IMPLEMENT (get_known_avatar_tokens);
      IMPLEMENT (request_avatar);
      IMPLEMENT (request_avatars);
      IMPLEMENT (set_avatar);
      IMPLEMENT (clear_avatar);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_avatars_clear_avatar_impl ()

    void                (*tp_svc_connection_interface_avatars_clear_avatar_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method ClearAvatar on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_implement_clear_avatar ()

    void                tp_svc_connection_interface_avatars_implement_clear_avatar
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_clear_avatar_impl impl);

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

### tp_svc_connection_interface_avatars_return_from_clear_avatar ()

    void                tp_svc_connection_interface_avatars_return_from_clear_avatar
                                                            (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_connection_interface_avatars_get_avatar_requirements_impl ()

    void                (*tp_svc_connection_interface_avatars_get_avatar_requirements_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAvatarRequirements on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_implement_get_avatar_requirements ()

    void                tp_svc_connection_interface_avatars_implement_get_avatar_requirements
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_get_avatar_requirements_impl impl);

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

### tp_svc_connection_interface_avatars_return_from_get_avatar_requirements ()

    void                tp_svc_connection_interface_avatars_return_from_get_avatar_requirements
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_MIME_Types,
                                                             guint out_Min_Width,
                                                             guint out_Min_Height,
                                                             guint out_Max_Width,
                                                             guint out_Max_Height,
                                                             guint out_Max_Bytes);

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_MIME_Types` : | const gchar ** (FIXME, generate documentation)
`out_Min_Width` : | guint (FIXME, generate documentation)
`out_Min_Height` : | guint (FIXME, generate documentation)
`out_Max_Width` : | guint (FIXME, generate documentation)
`out_Max_Height` : | guint (FIXME, generate documentation)
`out_Max_Bytes` : | guint (FIXME, generate documentation)

### tp_svc_connection_interface_avatars_get_avatar_tokens_impl ()

    void                (*tp_svc_connection_interface_avatars_get_avatar_tokens_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAvatarTokens on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_implement_get_avatar_tokens ()

    void                tp_svc_connection_interface_avatars_implement_get_avatar_tokens
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_get_avatar_tokens_impl impl);

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

### tp_svc_connection_interface_avatars_return_from_get_avatar_tokens ()

    void                tp_svc_connection_interface_avatars_return_from_get_avatar_tokens
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Tokens);

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_Tokens` : | const gchar ** (FIXME, generate documentation)

### tp_svc_connection_interface_avatars_request_avatar_impl ()

    void                (*tp_svc_connection_interface_avatars_request_avatar_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             guint in_Contact,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RequestAvatar on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_implement_request_avatar ()

    void                tp_svc_connection_interface_avatars_implement_request_avatar
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_request_avatar_impl impl);

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

### tp_svc_connection_interface_avatars_return_from_request_avatar ()

    void                tp_svc_connection_interface_avatars_return_from_request_avatar
                                                            (DBusGMethodInvocation *context,
                                                             const GArray *out_Data,
                                                             const gchar *out_MIME_Type);

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_Data` : | const GArray * (FIXME, generate documentation)
`out_MIME_Type` : | const gchar * (FIXME, generate documentation)

### tp_svc_connection_interface_avatars_set_avatar_impl ()

    void                (*tp_svc_connection_interface_avatars_set_avatar_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Avatar,
                                                             const gchar *in_MIME_Type,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetAvatar on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_implement_set_avatar ()

    void                tp_svc_connection_interface_avatars_implement_set_avatar
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_set_avatar_impl impl);

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

### tp_svc_connection_interface_avatars_return_from_set_avatar ()

    void                tp_svc_connection_interface_avatars_return_from_set_avatar
                                                            (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_connection_interface_avatars_emit_avatar_updated ()

    void                tp_svc_connection_interface_avatars_emit_avatar_updated
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             const gchar *arg_New_Avatar_Token);

Type-safe wrapper around g_signal_emit to emit the AvatarUpdated signal on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

`instance` : | The object implementing this interface
`arg_Contact` : | guint (FIXME, generate documentation)
`arg_New_Avatar_Token` : | const gchar * (FIXME, generate documentation)

### tp_svc_connection_interface_avatars_emit_avatar_retrieved ()

    void                tp_svc_connection_interface_avatars_emit_avatar_retrieved
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             const gchar *arg_Token,
                                                             const GArray *arg_Avatar,
                                                             const gchar *arg_Type);

Type-safe wrapper around g_signal_emit to emit the AvatarRetrieved signal on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

`instance` : | The object implementing this interface
`arg_Contact` : | guint (FIXME, generate documentation)
`arg_Token` : | const gchar * (FIXME, generate documentation)
`arg_Avatar` : | const GArray * (FIXME, generate documentation)
`arg_Type` : | const gchar * (FIXME, generate documentation)

### tp_svc_connection_interface_avatars_implement_request_avatars ()

    void                tp_svc_connection_interface_avatars_implement_request_avatars
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_request_avatars_impl impl);

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

### tp_svc_connection_interface_avatars_request_avatars_impl ()

    void                (*tp_svc_connection_interface_avatars_request_avatars_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RequestAvatars on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_return_from_request_avatars ()

    void                tp_svc_connection_interface_avatars_return_from_request_avatars
                                                            (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_connection_interface_avatars_get_known_avatar_tokens_impl ()

    void                (*tp_svc_connection_interface_avatars_get_known_avatar_tokens_impl)
                                                            (TpSvcConnectionInterfaceAvatars *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetKnownAvatarTokens on interface org.freedesktop.Telepathy.Connection.Interface.Avatars.

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

### tp_svc_connection_interface_avatars_implement_get_known_avatar_tokens ()

    void                tp_svc_connection_interface_avatars_implement_get_known_avatar_tokens
                                                            (TpSvcConnectionInterfaceAvatarsClass *klass,
                                                             tp_svc_connection_interface_avatars_get_known_avatar_tokens_impl impl);

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

### tp_svc_connection_interface_avatars_return_from_get_known_avatar_tokens ()

    void                tp_svc_connection_interface_avatars_return_from_get_known_avatar_tokens
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Tokens);

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_Tokens` : | GHashTable * (FIXME, generate documentation)

### TpSvcConnectionInterfaceAliasing

    typedef struct _TpSvcConnectionInterfaceAliasing TpSvcConnectionInterfaceAliasing;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceAliasingClass

    typedef struct _TpSvcConnectionInterfaceAliasingClass TpSvcConnectionInterfaceAliasingClass;

The class of TpSvcConnectionInterfaceAliasing.

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_connection_interface_aliasing (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_aliasing_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_alias_flags);
      IMPLEMENT (request_aliases);
      IMPLEMENT (get_aliases);
      IMPLEMENT (set_aliases);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_aliasing_get_alias_flags_impl ()

    void                (*tp_svc_connection_interface_aliasing_get_alias_flags_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAliasFlags on interface org.freedesktop.Telepathy.Connection.Interface.Aliasing.

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

### tp_svc_connection_interface_aliasing_implement_get_alias_flags ()

    void                tp_svc_connection_interface_aliasing_implement_get_alias_flags
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_get_alias_flags_impl impl);

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

### tp_svc_connection_interface_aliasing_return_from_get_alias_flags ()

    void                tp_svc_connection_interface_aliasing_return_from_get_alias_flags
                                                            (DBusGMethodInvocation *context,
                                                             guint out_Alias_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_Alias_Flags` : | guint (FIXME, generate documentation)

### tp_svc_connection_interface_aliasing_request_aliases_impl ()

    void                (*tp_svc_connection_interface_aliasing_request_aliases_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RequestAliases on interface org.freedesktop.Telepathy.Connection.Interface.Aliasing.

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

### tp_svc_connection_interface_aliasing_implement_request_aliases ()

    void                tp_svc_connection_interface_aliasing_implement_request_aliases
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_request_aliases_impl impl);

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

### tp_svc_connection_interface_aliasing_return_from_request_aliases ()

    void                tp_svc_connection_interface_aliasing_return_from_request_aliases
                                                            (DBusGMethodInvocation *context,
                                                             const gchar **out_Aliases);

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_Aliases` : | const gchar ** (FIXME, generate documentation)

### tp_svc_connection_interface_aliasing_get_aliases_impl ()

    void                (*tp_svc_connection_interface_aliasing_get_aliases_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAliases on interface org.freedesktop.Telepathy.Connection.Interface.Aliasing.

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

### tp_svc_connection_interface_aliasing_implement_get_aliases ()

    void                tp_svc_connection_interface_aliasing_implement_get_aliases
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_get_aliases_impl impl);

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

### tp_svc_connection_interface_aliasing_return_from_get_aliases ()

    void                tp_svc_connection_interface_aliasing_return_from_get_aliases
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Aliases);

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_Aliases` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_aliasing_set_aliases_impl ()

    void                (*tp_svc_connection_interface_aliasing_set_aliases_impl)
                                                            (TpSvcConnectionInterfaceAliasing *self,
                                                             GHashTable *in_Aliases,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetAliases on interface org.freedesktop.Telepathy.Connection.Interface.Aliasing.

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

### tp_svc_connection_interface_aliasing_implement_set_aliases ()

    void                tp_svc_connection_interface_aliasing_implement_set_aliases
                                                            (TpSvcConnectionInterfaceAliasingClass *klass,
                                                             tp_svc_connection_interface_aliasing_set_aliases_impl impl);

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

### tp_svc_connection_interface_aliasing_return_from_set_aliases ()

    void                tp_svc_connection_interface_aliasing_return_from_set_aliases
                                                            (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_connection_interface_aliasing_emit_aliases_changed ()

    void                tp_svc_connection_interface_aliasing_emit_aliases_changed
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Aliases);

Type-safe wrapper around g_signal_emit to emit the AliasesChanged signal on interface org.freedesktop.Telepathy.Connection.Interface.Aliasing.

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

### TpSvcConnectionInterfaceCapabilities

    typedef struct _TpSvcConnectionInterfaceCapabilities TpSvcConnectionInterfaceCapabilities;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceCapabilitiesClass

    typedef struct _TpSvcConnectionInterfaceCapabilitiesClass TpSvcConnectionInterfaceCapabilitiesClass;

The class of TpSvcConnectionInterfaceCapabilities.

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_connection_interface_capabilities (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_capabilities_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (advertise_capabilities);
      IMPLEMENT (get_capabilities);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_capabilities_advertise_capabilities_impl ()

    void                (*tp_svc_connection_interface_capabilities_advertise_capabilities_impl)
                                                            (TpSvcConnectionInterfaceCapabilities *self,
                                                             const GPtrArray *in_Add,
                                                             const gchar **in_Remove,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method AdvertiseCapabilities on interface org.freedesktop.Telepathy.Connection.Interface.Capabilities.

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

### tp_svc_connection_interface_capabilities_implement_advertise_capabilities ()

    void                tp_svc_connection_interface_capabilities_implement_advertise_capabilities
                                                            (TpSvcConnectionInterfaceCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_capabilities_advertise_capabilities_impl impl);

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

### tp_svc_connection_interface_capabilities_return_from_advertise_capabilities ()

    void                tp_svc_connection_interface_capabilities_return_from_advertise_capabilities
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Self_Capabilities);

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_Self_Capabilities` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_connection_interface_capabilities_get_capabilities_impl ()

    void                (*tp_svc_connection_interface_capabilities_get_capabilities_impl)
                                                            (TpSvcConnectionInterfaceCapabilities *self,
                                                             const GArray *in_Handles,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetCapabilities on interface org.freedesktop.Telepathy.Connection.Interface.Capabilities.

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

### tp_svc_connection_interface_capabilities_implement_get_capabilities ()

    void                tp_svc_connection_interface_capabilities_implement_get_capabilities
                                                            (TpSvcConnectionInterfaceCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_capabilities_get_capabilities_impl impl);

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

### tp_svc_connection_interface_capabilities_return_from_get_capabilities ()

    void                tp_svc_connection_interface_capabilities_return_from_get_capabilities
                                                            (DBusGMethodInvocation *context,
                                                             const GPtrArray *out_Contact_Capabilities);

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_Contact_Capabilities` : | const GPtrArray * (FIXME, generate documentation)

### tp_svc_connection_interface_capabilities_emit_capabilities_changed ()

    void                tp_svc_connection_interface_capabilities_emit_capabilities_changed
                                                            (gpointer instance,
                                                             const GPtrArray *arg_Caps);

Type-safe wrapper around g_signal_emit to emit the CapabilitiesChanged signal on interface org.freedesktop.Telepathy.Connection.Interface.Capabilities.

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

### TpSvcConnectionInterfaceContactCapabilities

    typedef struct _TpSvcConnectionInterfaceContactCapabilities TpSvcConnectionInterfaceContactCapabilities;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceContactCapabilitiesClass

    typedef struct _TpSvcConnectionInterfaceContactCapabilitiesClass TpSvcConnectionInterfaceContactCapabilitiesClass;

The class of TpSvcConnectionInterfaceContactCapabilities.

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_connection_interface_contact_capabilities (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_contact_capabilities_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (update_capabilities);
      IMPLEMENT (get_contact_capabilities);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_contact_capabilities_emit_contact_capabilities_changed ()

    void                tp_svc_connection_interface_contact_capabilities_emit_contact_capabilities_changed
                                                            (gpointer instance,
                                                             GHashTable *arg_caps);

Type-safe wrapper around g_signal_emit to emit the ContactCapabilitiesChanged signal on interface org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities.

`instance` : | The object implementing this interface
`arg_caps` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_contact_capabilities_get_contact_capabilities_impl ()

    void                (*tp_svc_connection_interface_contact_capabilities_get_contact_capabilities_impl)
                                                            (TpSvcConnectionInterfaceContactCapabilities *self,
                                                             const GArray *in_handles,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetContactCapabilities on interface org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities.

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

### tp_svc_connection_interface_contact_capabilities_return_from_get_contact_capabilities ()

    void                tp_svc_connection_interface_contact_capabilities_return_from_get_contact_capabilities
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Contact_Capabilities);

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_Contact_Capabilities` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_contact_capabilities_implement_get_contact_capabilities ()

    void                tp_svc_connection_interface_contact_capabilities_implement_get_contact_capabilities
                                                            (TpSvcConnectionInterfaceContactCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_contact_capabilities_get_contact_capabilities_impl impl);

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

### tp_svc_connection_interface_contact_capabilities_update_capabilities_impl ()

    void                (*tp_svc_connection_interface_contact_capabilities_update_capabilities_impl)
                                                            (TpSvcConnectionInterfaceContactCapabilities *self,
                                                             const GPtrArray *in_Handler_Capabilities,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method UpdateCapabilities on interface org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities.

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

### tp_svc_connection_interface_contact_capabilities_return_from_update_capabilities ()

    void                tp_svc_connection_interface_contact_capabilities_return_from_update_capabilities
                                                            (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_connection_interface_contact_capabilities_implement_update_capabilities ()

    void                tp_svc_connection_interface_contact_capabilities_implement_update_capabilities
                                                            (TpSvcConnectionInterfaceContactCapabilitiesClass *klass,
                                                             tp_svc_connection_interface_contact_capabilities_update_capabilities_impl impl);

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

### TpSvcConnectionInterfaceLocation

    typedef struct _TpSvcConnectionInterfaceLocation TpSvcConnectionInterfaceLocation;

Dummy typedef representing any implementation of this interface.

### TpSvcConnectionInterfaceLocationClass

    typedef struct _TpSvcConnectionInterfaceLocationClass TpSvcConnectionInterfaceLocationClass;

The class of TpSvcConnectionInterfaceLocation.

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_connection_interface_location (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_connection_interface_location_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (get_locations);
      IMPLEMENT (request_location);
      IMPLEMENT (set_location);
    #undef IMPLEMENT
    }

### tp_svc_connection_interface_location_emit_location_updated ()

    void                tp_svc_connection_interface_location_emit_location_updated
                                                            (gpointer instance,
                                                             guint arg_Contact,
                                                             GHashTable *arg_Location);

Type-safe wrapper around g_signal_emit to emit the LocationUpdated signal on interface org.freedesktop.Telepathy.Connection.Interface.Location.

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

### tp_svc_connection_interface_location_get_locations_impl ()

    void                (*tp_svc_connection_interface_location_get_locations_impl)
                                                            (TpSvcConnectionInterfaceLocation *self,
                                                             const GArray *in_Contacts,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetLocations on interface org.freedesktop.Telepathy.Connection.Interface.Location.

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

### tp_svc_connection_interface_location_return_from_get_locations ()

    void                tp_svc_connection_interface_location_return_from_get_locations
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Locations);

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_Locations` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_location_implement_get_locations ()

    void                tp_svc_connection_interface_location_implement_get_locations
                                                            (TpSvcConnectionInterfaceLocationClass *klass,
                                                             tp_svc_connection_interface_location_get_locations_impl impl);

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

### tp_svc_connection_interface_location_request_location_impl ()

    void                (*tp_svc_connection_interface_location_request_location_impl)
                                                            (TpSvcConnectionInterfaceLocation *self,
                                                             guint in_Contact,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RequestLocation on interface org.freedesktop.Telepathy.Connection.Interface.Location.

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

### tp_svc_connection_interface_location_return_from_request_location ()

    void                tp_svc_connection_interface_location_return_from_request_location
                                                            (DBusGMethodInvocation *context,
                                                             GHashTable *out_Location);

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_Location` : | GHashTable * (FIXME, generate documentation)

### tp_svc_connection_interface_location_implement_request_location ()

    void                tp_svc_connection_interface_location_implement_request_location
                                                            (TpSvcConnectionInterfaceLocationClass *klass,
                                                             tp_svc_connection_interface_location_request_location_impl impl);

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

### tp_svc_connection_interface_location_set_location_impl ()

    void                (*tp_svc_connection_interface_location_set_location_impl)
                                                            (TpSvcConnectionInterfaceLocation *self,
                                                             GHashTable *in_Location,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method SetLocation on interface org.freedesktop.Telepathy.Connection.Interface.Location.

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

### tp_svc_connection_interface_location_return_from_set_location ()

    void                tp_svc_connection_interface_location_return_from_set_location
                                                            (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_connection_interface_location_implement_set_location ()

    void                tp_svc_connection_interface_location_implement_set_location
                                                            (TpSvcConnectionInterfaceLocationClass *klass,
                                                             tp_svc_connection_interface_location_set_location_impl impl);

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

## Signal Details

### The `"connection-error"` signal

    void                user_function                      (TpSvcConnection *arg_Error,
                                                            gchar           *arg_Details,
                                                            gpointer         user_data)        : Run Last / Has Details

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

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

### The `"new-channel"` signal

    void                user_function                      (TpSvcConnection *arg_Object_Path,
                                                            DBusGObjectPath *arg_Channel_Type,
                                                            gchar           *arg_Handle_Type,
                                                            guint            arg_Handle,
                                                            guint            arg_Suppress_Handler,
                                                            gboolean         arg5,
                                                            gpointer         user_data)                 : Run Last / Has Details

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

`arg_Object_Path` : | const gchar * (FIXME, generate documentation)
`arg_Channel_Type` : | const gchar * (FIXME, generate documentation)
`arg_Handle_Type` : | guint (FIXME, generate documentation)
`arg_Handle` : | guint (FIXME, generate documentation)
`arg_Suppress_Handler` : | gboolean (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"self-handle-changed"` signal

    void                user_function                      (TpSvcConnection *arg_Self_Handle,
                                                            guint            arg1,
                                                            gpointer         user_data)            : Run Last / Has Details

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

`arg_Self_Handle` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"status-changed"` signal

    void                user_function                      (TpSvcConnection *arg_Status,
                                                            guint            arg_Reason,
                                                            guint            arg2,
                                                            gpointer         user_data)       : Run Last / Has Details

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

`arg_Status` : | guint (FIXME, generate documentation)
`arg_Reason` : | guint (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"channel-closed"` signal

    void                user_function                      (TpSvcConnectionInterfaceRequests *arg_Removed,
                                                            DBusGObjectPath                  *arg1,
                                                            gpointer                          user_data)        : Run Last / Has Details

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

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

### The `"new-channels"` signal

    void                user_function                      (TpSvcConnectionInterfaceRequests *arg_Channels,
                                                            gpointer                          user_data)         : Run Last / Has Details

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

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

### The `"presences-changed"` signal

    void                user_function                      (TpSvcConnectionInterfaceSimplePresence *arg_Presence,
                                                            gpointer                                user_data)         : Run Last / Has Details

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

`arg_Presence` : | GHashTable * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"presence-update"` signal

    void                user_function                      (TpSvcConnectionInterfacePresence *arg_Presence,
                                                            gpointer                          user_data)         : Run Last / Has Details

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

`arg_Presence` : | GHashTable * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"avatar-retrieved"` signal

    void                user_function                      (TpSvcConnectionInterfaceAvatars *arg_Contact,
                                                            guint                            arg_Token,
                                                            gchar                           *arg_Avatar,
                                                            GArray_guchar_                  *arg_Type,
                                                            gchar                           *arg4,
                                                            gpointer                         user_data)        : Run Last / Has Details

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

`arg_Contact` : | guint (FIXME, generate documentation)
`arg_Token` : | const gchar * (FIXME, generate documentation)
`arg_Avatar` : | const GArray * (FIXME, generate documentation)
`arg_Type` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"avatar-updated"` signal

    void                user_function                      (TpSvcConnectionInterfaceAvatars *arg_Contact,
                                                            guint                            arg_New_Avatar_Token,
                                                            gchar                           *arg2,
                                                            gpointer                         user_data)                 : Run Last / Has Details

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

`arg_Contact` : | guint (FIXME, generate documentation)
`arg_New_Avatar_Token` : | const gchar * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"aliases-changed"` signal

    void                user_function                      (TpSvcConnectionInterfaceAliasing *arg_Aliases,
                                                            gpointer                          user_data)        : Run Last / Has Details

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

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

### The `"capabilities-changed"` signal

    void                user_function                      (TpSvcConnectionInterfaceCapabilities *arg_Caps,
                                                            gpointer                              user_data)      : Run Last / Has Details

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

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

## See Also

TpBaseConnection