Service-side Channel Group and Conference interfaces

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

Functions

Signals

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

Types and Values

Object Hierarchy

    GInterface
    ├── TpSvcChannelInterfaceConference1
    ╰── TpSvcChannelInterfaceGroup1

Includes

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

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.

Functions

tp_svc_channel_interface_group1_add_members_impl ()

void
(*tp_svc_channel_interface_group1_add_members_impl)
                               (TpSvcChannelInterfaceGroup1 *self,
                                const GArray *in_Contacts,
                                const gchar *in_Message,
                                GDBusMethodInvocation *invocation);

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

Parameters

self

The object implementing this interface

 

in_Contacts

const GArray * (FIXME, generate documentation)

 

in_Message

const gchar * (FIXME, generate documentation)

 

invocation

Used to return values or throw an error

 

tp_svc_channel_interface_group1_implement_add_members ()

void
tp_svc_channel_interface_group1_implement_add_members
                               (TpSvcChannelInterfaceGroup1Class *klass,
                                tp_svc_channel_interface_group1_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.

Parameters

klass

A class whose instances implement this interface

 

impl

A callback used to implement the AddMembers D-Bus method

 

tp_svc_channel_interface_group1_return_from_add_members ()

void
tp_svc_channel_interface_group1_return_from_add_members
                               (GDBusMethodInvocation *invocation);

Return successfully by calling g_dbus_method_invocation_return_value().

Parameters

invocation

The D-Bus method invocation context

 

tp_svc_channel_interface_group1_remove_members_impl ()

void
(*tp_svc_channel_interface_group1_remove_members_impl)
                               (TpSvcChannelInterfaceGroup1 *self,
                                const GArray *in_Contacts,
                                const gchar *in_Message,
                                guint in_Reason,
                                GDBusMethodInvocation *invocation);

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

Parameters

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)

 

invocation

Used to return values or throw an error

 

tp_svc_channel_interface_group1_implement_remove_members ()

void
tp_svc_channel_interface_group1_implement_remove_members
                               (TpSvcChannelInterfaceGroup1Class *klass,
                                tp_svc_channel_interface_group1_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.

Parameters

klass

A class whose instances implement this interface

 

impl

A callback used to implement the RemoveMembers D-Bus method

 

tp_svc_channel_interface_group1_return_from_remove_members ()

void
tp_svc_channel_interface_group1_return_from_remove_members
                               (GDBusMethodInvocation *invocation);

Return successfully by calling g_dbus_method_invocation_return_value().

Parameters

invocation

The D-Bus method invocation context

 

tp_svc_channel_interface_group1_emit_group_flags_changed ()

void
tp_svc_channel_interface_group1_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.telepathy.v1.Channel.Interface.Group1.

Parameters

instance

The object implementing this interface

 

arg_Added

guint (FIXME, generate documentation)

 

arg_Removed

guint (FIXME, generate documentation)

 

tp_svc_channel_interface_group1_emit_members_changed ()

void
tp_svc_channel_interface_group1_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.telepathy.v1.Channel.Interface.Group1.

Parameters

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_group1_emit_handle_owners_changed ()

void
tp_svc_channel_interface_group1_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.telepathy.v1.Channel.Interface.Group1.

Parameters

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)

 

tp_svc_channel_interface_conference1_emit_channel_merged ()

void
tp_svc_channel_interface_conference1_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.telepathy.v1.Channel.Interface.Conference1.

Parameters

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_conference1_emit_channel_removed ()

void
tp_svc_channel_interface_conference1_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.telepathy.v1.Channel.Interface.Conference1.

Parameters

instance

The object implementing this interface

 

arg_Channel

const gchar * (FIXME, generate documentation)

 

arg_Details

GHashTable * (FIXME, generate documentation)

 

Types and Values

TpSvcChannelInterfaceGroup1

typedef struct _TpSvcChannelInterfaceGroup1 TpSvcChannelInterfaceGroup1;

Dummy typedef representing any implementation of this interface.


TpSvcChannelInterfaceGroup1Class

typedef struct _TpSvcChannelInterfaceGroup1Class TpSvcChannelInterfaceGroup1Class;

The class of TpSvcChannelInterfaceGroup1.

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_group1 (gpointer klass,
    gpointer unused G_GNUC_UNUSED)
{
#define IMPLEMENT(x) tp_svc_channel_interface_group1_implement_##x (\
  klass, my_object_##x)
  IMPLEMENT (add_members);
  IMPLEMENT (remove_members);
#undef IMPLEMENT
}

TpSvcChannelInterfaceConference1

typedef struct _TpSvcChannelInterfaceConference1 TpSvcChannelInterfaceConference1;

Dummy typedef representing any implementation of this interface.


TpSvcChannelInterfaceConference1Class

typedef struct _TpSvcChannelInterfaceConference1Class TpSvcChannelInterfaceConference1Class;

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

Signal Details

The “group-flags-changed” signal

void
user_function (TpSvcChannelInterfaceGroup1 *self,
               guint                        arg_Added,
               guint                        arg_Removed,
               gpointer                     user_data)

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

Parameters

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.

 

Flags: Has Details


The “handle-owners-changed” signal

void
user_function (TpSvcChannelInterfaceGroup1 *self,
               GArray_guint_               *arg_Removed,
               gpointer                     user_data)

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

Parameters

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.

 

Flags: Has Details


The “members-changed” signal

void
user_function (TpSvcChannelInterfaceGroup1 *self,
               GArray_guint_               *arg_Added,
               GArray_guint_               *arg_Removed,
               GArray_guint_               *arg_Local_Pending,
               GArray_guint_               *arg_Remote_Pending,
               gpointer                     user_data)

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

Parameters

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.

 

Flags: Has Details


The “self-contact-changed” signal

void
user_function (TpSvcChannelInterfaceGroup1 *self,
               guint                        arg_Self_Handle,
               gchar                       *arg_Self_ID,
               gpointer                     user_data)

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

Parameters

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.

 

Flags: Has Details


The “channel-merged” signal

void
user_function (TpSvcChannelInterfaceConference1 *self,
               DBusGObjectPath                  *arg_Channel,
               guint                             arg_Channel_Specific_Handle,
               gpointer                          user_data)

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

Parameters

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.

 

Flags: Has Details


The “channel-removed” signal

void
user_function (TpSvcChannelInterfaceConference1 *self,
               DBusGObjectPath                  *arg_Channel,
               gpointer                          user_data)

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

Parameters

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.

 

Flags: Has Details

See Also

TpGroupMixin