Service-side Channel Group and Conference interfaces

Service-side Channel Group and Conference interfaces — Groups of contacts

Synopsis

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

                    TpSvcChannelInterfaceGroup;
                    TpSvcChannelInterfaceGroupClass;
void                (*tp_svc_channel_interface_group_add_members_impl)
                                                        (TpSvcChannelInterfaceGroup *self,
                                                         const GArray *in_Contacts,
                                                         const gchar *in_Message,
                                                         DBusGMethodInvocation *context);
void                tp_svc_channel_interface_group_implement_add_members
                                                        (TpSvcChannelInterfaceGroupClass *klass,
                                                         tp_svc_channel_interface_group_add_members_impl impl);
void                tp_svc_channel_interface_group_return_from_add_members
                                                        (DBusGMethodInvocation *context);
void                (*tp_svc_channel_interface_group_remove_members_impl)
                                                        (TpSvcChannelInterfaceGroup *self,
                                                         const GArray *in_Contacts,
                                                         const gchar *in_Message,
                                                         guint in_Reason,
                                                         DBusGMethodInvocation *context);
void                tp_svc_channel_interface_group_implement_remove_members
                                                        (TpSvcChannelInterfaceGroupClass *klass,
                                                         tp_svc_channel_interface_group_remove_members_impl impl);
void                tp_svc_channel_interface_group_return_from_remove_members
                                                        (DBusGMethodInvocation *context);
void                tp_svc_channel_interface_group_emit_group_flags_changed
                                                        (gpointer instance,
                                                         guint arg_Added,
                                                         guint arg_Removed);
void                tp_svc_channel_interface_group_emit_members_changed
                                                        (gpointer instance,
                                                         const GArray *arg_Added,
                                                         const GArray *arg_Removed,
                                                         const GArray *arg_Local_Pending,
                                                         const GArray *arg_Remote_Pending,
                                                         GHashTable *arg_Details);
void                tp_svc_channel_interface_group_emit_handle_owners_changed
                                                        (gpointer instance,
                                                         GHashTable *arg_Added,
                                                         const GArray *arg_Removed,
                                                         GHashTable *arg_Identifiers);


                    TpSvcChannelInterfaceConference;
                    TpSvcChannelInterfaceConferenceClass;
void                tp_svc_channel_interface_conference_emit_channel_merged
                                                        (gpointer instance,
                                                         const gchar *arg_Channel,
                                                         guint arg_Channel_Specific_Handle,
                                                         GHashTable *arg_Properties);
void                tp_svc_channel_interface_conference_emit_channel_removed
                                                        (gpointer instance,
                                                         const gchar *arg_Channel,
                                                         GHashTable *arg_Details);

Object Hierarchy

  GInterface
   +----TpSvcChannelInterfaceGroup
  GInterface
   +----TpSvcChannelInterfaceConference

Signals

  "group-flags-changed"                            : Has Details
  "handle-owners-changed"                          : Has Details
  "members-changed"                                : Has Details
  "self-contact-changed"                           : Has Details
  "channel-merged"                                 : Has Details
  "channel-removed"                                : Has Details

Description

Many Telepathy Channel objects can be seen as representing groups or sets of contacts. The Telepathy specification represents this by a common interface, Group. This section documents the auto-generated GInterface used to implement the Group interface.

Contacts can be in four states:

* in the group (the "members" set)

* "local pending" (waiting to be added to the group by the local client calling AddMembers())

* "remote pending" (waiting to be added to the group by some other action, probably by someone else)

* no relationship with the group at all

For instance, chatrooms implement the Group interface. Contacts in the chatroom are members, and contacts who we've invited to the group, or contacts who've requested permission to join, are remote pending. If the local user has been invited by another contact, they will appear in the local-pending set until they accept or decline the invitation.

Since 0.11.16, telepathy-glib also includes basic support for the Conference interface, which represents a Group channel that can be initiated by merging or upgrading individual 1-1 channels.

Details

TpSvcChannelInterfaceGroup

typedef struct _TpSvcChannelInterfaceGroup TpSvcChannelInterfaceGroup;

Dummy typedef representing any implementation of this interface.


TpSvcChannelInterfaceGroupClass

typedef struct _TpSvcChannelInterfaceGroupClass TpSvcChannelInterfaceGroupClass;

The class of TpSvcChannelInterfaceGroup.

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

static void
implement_channel_interface_group (gpointer klass,
    gpointer unused G_GNUC_UNUSED)
{
#define IMPLEMENT(x) tp_svc_channel_interface_group_implement_##x (\
  klass, my_object_##x)
  IMPLEMENT (add_members);
  IMPLEMENT (remove_members);
#undef IMPLEMENT
}


tp_svc_channel_interface_group_add_members_impl ()

void                (*tp_svc_channel_interface_group_add_members_impl)
                                                        (TpSvcChannelInterfaceGroup *self,
                                                         const GArray *in_Contacts,
                                                         const gchar *in_Message,
                                                         DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method AddMembers on interface im.telepathy1.Channel.Interface.Group1.

self :

The object implementing this interface

in_Contacts :

const GArray * (FIXME, generate documentation)

in_Message :

const gchar * (FIXME, generate documentation)

context :

Used to return values or throw an error

tp_svc_channel_interface_group_implement_add_members ()

void                tp_svc_channel_interface_group_implement_add_members
                                                        (TpSvcChannelInterfaceGroupClass *klass,
                                                         tp_svc_channel_interface_group_add_members_impl impl);

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

tp_svc_channel_interface_group_return_from_add_members ()

void                tp_svc_channel_interface_group_return_from_add_members
                                                        (DBusGMethodInvocation *context);

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

context :

The D-Bus method invocation context

tp_svc_channel_interface_group_remove_members_impl ()

void                (*tp_svc_channel_interface_group_remove_members_impl)
                                                        (TpSvcChannelInterfaceGroup *self,
                                                         const GArray *in_Contacts,
                                                         const gchar *in_Message,
                                                         guint in_Reason,
                                                         DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method RemoveMembers on interface im.telepathy1.Channel.Interface.Group1.

self :

The object implementing this interface

in_Contacts :

const GArray * (FIXME, generate documentation)

in_Message :

const gchar * (FIXME, generate documentation)

in_Reason :

guint (FIXME, generate documentation)

context :

Used to return values or throw an error

tp_svc_channel_interface_group_implement_remove_members ()

void                tp_svc_channel_interface_group_implement_remove_members
                                                        (TpSvcChannelInterfaceGroupClass *klass,
                                                         tp_svc_channel_interface_group_remove_members_impl impl);

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

tp_svc_channel_interface_group_return_from_remove_members ()

void                tp_svc_channel_interface_group_return_from_remove_members
                                                        (DBusGMethodInvocation *context);

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

context :

The D-Bus method invocation context

tp_svc_channel_interface_group_emit_group_flags_changed ()

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

Type-safe wrapper around g_signal_emit to emit the GroupFlagsChanged signal on interface im.telepathy1.Channel.Interface.Group1.

instance :

The object implementing this interface

arg_Added :

guint (FIXME, generate documentation)

arg_Removed :

guint (FIXME, generate documentation)

tp_svc_channel_interface_group_emit_members_changed ()

void                tp_svc_channel_interface_group_emit_members_changed
                                                        (gpointer instance,
                                                         const GArray *arg_Added,
                                                         const GArray *arg_Removed,
                                                         const GArray *arg_Local_Pending,
                                                         const GArray *arg_Remote_Pending,
                                                         GHashTable *arg_Details);

Type-safe wrapper around g_signal_emit to emit the MembersChanged signal on interface im.telepathy1.Channel.Interface.Group1.

instance :

The object implementing this interface

arg_Added :

const GArray * (FIXME, generate documentation)

arg_Removed :

const GArray * (FIXME, generate documentation)

arg_Local_Pending :

const GArray * (FIXME, generate documentation)

arg_Remote_Pending :

const GArray * (FIXME, generate documentation)

arg_Details :

GHashTable * (FIXME, generate documentation)

tp_svc_channel_interface_group_emit_handle_owners_changed ()

void                tp_svc_channel_interface_group_emit_handle_owners_changed
                                                        (gpointer instance,
                                                         GHashTable *arg_Added,
                                                         const GArray *arg_Removed,
                                                         GHashTable *arg_Identifiers);

Type-safe wrapper around g_signal_emit to emit the HandleOwnersChanged signal on interface im.telepathy1.Channel.Interface.Group1.

instance :

The object implementing this interface

arg_Added :

GHashTable * (FIXME, generate documentation)

arg_Removed :

const GArray * (FIXME, generate documentation)

arg_Identifiers :

GHashTable * (FIXME, generate documentation)

TpSvcChannelInterfaceConference

typedef struct _TpSvcChannelInterfaceConference TpSvcChannelInterfaceConference;

Dummy typedef representing any implementation of this interface.


TpSvcChannelInterfaceConferenceClass

typedef struct _TpSvcChannelInterfaceConferenceClass TpSvcChannelInterfaceConferenceClass;

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


tp_svc_channel_interface_conference_emit_channel_merged ()

void                tp_svc_channel_interface_conference_emit_channel_merged
                                                        (gpointer instance,
                                                         const gchar *arg_Channel,
                                                         guint arg_Channel_Specific_Handle,
                                                         GHashTable *arg_Properties);

Type-safe wrapper around g_signal_emit to emit the ChannelMerged signal on interface im.telepathy1.Channel.Interface.Conference1.

instance :

The object implementing this interface

arg_Channel :

const gchar * (FIXME, generate documentation)

arg_Channel_Specific_Handle :

guint (FIXME, generate documentation)

arg_Properties :

GHashTable * (FIXME, generate documentation)

tp_svc_channel_interface_conference_emit_channel_removed ()

void                tp_svc_channel_interface_conference_emit_channel_removed
                                                        (gpointer instance,
                                                         const gchar *arg_Channel,
                                                         GHashTable *arg_Details);

Type-safe wrapper around g_signal_emit to emit the ChannelRemoved signal on interface im.telepathy1.Channel.Interface.Conference1.

instance :

The object implementing this interface

arg_Channel :

const gchar * (FIXME, generate documentation)

arg_Details :

GHashTable * (FIXME, generate documentation)

Signal Details

The "group-flags-changed" signal

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

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

self :

an object

arg_Added :

guint (FIXME, generate documentation)

arg_Removed :

guint (FIXME, generate documentation)

user_data :

user data set when the signal handler was connected.

The "handle-owners-changed" signal

void                user_function                      (TpSvcChannelInterfaceGroup *self,
                                                        GArray_guint_              *arg_Removed,
                                                        gpointer                    user_data)        : Has Details

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

self :

an object

arg_Added :

GHashTable * (FIXME, generate documentation)

arg_Removed :

const GArray * (FIXME, generate documentation)

arg_Identifiers :

GHashTable * (FIXME, generate documentation)

user_data :

user data set when the signal handler was connected.

The "members-changed" signal

void                user_function                      (TpSvcChannelInterfaceGroup *self,
                                                        GArray_guint_              *arg_Added,
                                                        GArray_guint_              *arg_Removed,
                                                        GArray_guint_              *arg_Local_Pending,
                                                        GArray_guint_              *arg_Remote_Pending,
                                                        gpointer                    user_data)               : Has Details

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

self :

an object

arg_Added :

const GArray * (FIXME, generate documentation)

arg_Removed :

const GArray * (FIXME, generate documentation)

arg_Local_Pending :

const GArray * (FIXME, generate documentation)

arg_Remote_Pending :

const GArray * (FIXME, generate documentation)

arg_Details :

GHashTable * (FIXME, generate documentation)

user_data :

user data set when the signal handler was connected.

The "self-contact-changed" signal

void                user_function                      (TpSvcChannelInterfaceGroup *self,
                                                        guint                       arg_Self_Handle,
                                                        gchar                      *arg_Self_ID,
                                                        gpointer                    user_data)            : Has Details

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

self :

an object

arg_Self_Handle :

guint (FIXME, generate documentation)

arg_Self_ID :

const gchar * (FIXME, generate documentation)

user_data :

user data set when the signal handler was connected.

The "channel-merged" signal

void                user_function                      (TpSvcChannelInterfaceConference *self,
                                                        DBusGObjectPath                 *arg_Channel,
                                                        guint                            arg_Channel_Specific_Handle,
                                                        gpointer                         user_data)                        : Has Details

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

self :

an object

arg_Channel :

const gchar * (FIXME, generate documentation)

arg_Channel_Specific_Handle :

guint (FIXME, generate documentation)

arg_Properties :

GHashTable * (FIXME, generate documentation)

user_data :

user data set when the signal handler was connected.

The "channel-removed" signal

void                user_function                      (TpSvcChannelInterfaceConference *self,
                                                        DBusGObjectPath                 *arg_Channel,
                                                        gpointer                         user_data)        : Has Details

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

self :

an object

arg_Channel :

const gchar * (FIXME, generate documentation)

arg_Details :

GHashTable * (FIXME, generate documentation)

user_data :

user data set when the signal handler was connected.

See Also

TpGroupMixin