Service-side Protocol interface

Service-side Protocol interface — GInterface for Telepathy Protocol objects

Synopsis

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

                    TpSvcProtocol;
                    TpSvcProtocolClass;

void                (*tp_svc_protocol_identify_account_impl)
                                                        (TpSvcProtocol *self,
                                                         GHashTable *in_Parameters,
                                                         DBusGMethodInvocation *context);
void                tp_svc_protocol_implement_identify_account
                                                        (TpSvcProtocolClass *klass,
                                                         tp_svc_protocol_identify_account_impl impl);
void                tp_svc_protocol_implement_normalize_contact
                                                        (TpSvcProtocolClass *klass,
                                                         tp_svc_protocol_normalize_contact_impl impl);
void                (*tp_svc_protocol_normalize_contact_impl)
                                                        (TpSvcProtocol *self,
                                                         const gchar *in_Contact_ID,
                                                         DBusGMethodInvocation *context);
void                tp_svc_protocol_return_from_identify_account
                                                        (DBusGMethodInvocation *context,
                                                         const gchar *out_Account_ID);
void                tp_svc_protocol_return_from_normalize_contact
                                                        (DBusGMethodInvocation *context,
                                                         const gchar *out_Normalized_Contact_ID);

Object Hierarchy

  GInterface
   +----TpSvcProtocol

Known Implementations

TpSvcProtocol is implemented by TpBaseProtocol.

Description

The TpSvcProtocol interface (auto-generated from the Telepathy spec) makes it easier to export an object implementing the Telepathy Protocol interface.

Details

TpSvcProtocol

typedef struct _TpSvcProtocol TpSvcProtocol;

Dummy typedef representing any implementation of this interface.


TpSvcProtocolClass

typedef struct _TpSvcProtocolClass TpSvcProtocolClass;

The class of TpSvcProtocol.

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_protocol (gpointer klass,
    gpointer unused G_GNUC_UNUSED)
{
#define IMPLEMENT(x) tp_svc_protocol_implement_##x (\
  klass, my_object_##x)
  IMPLEMENT (identify_account);
  IMPLEMENT (normalize_contact);
#undef IMPLEMENT
}


tp_svc_protocol_identify_account_impl ()

void                (*tp_svc_protocol_identify_account_impl)
                                                        (TpSvcProtocol *self,
                                                         GHashTable *in_Parameters,
                                                         DBusGMethodInvocation *context);

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

self :

The object implementing this interface

in_Parameters :

GHashTable * (FIXME, generate documentation)

context :

Used to return values or throw an error

tp_svc_protocol_implement_identify_account ()

void                tp_svc_protocol_implement_identify_account
                                                        (TpSvcProtocolClass *klass,
                                                         tp_svc_protocol_identify_account_impl impl);

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

tp_svc_protocol_implement_normalize_contact ()

void                tp_svc_protocol_implement_normalize_contact
                                                        (TpSvcProtocolClass *klass,
                                                         tp_svc_protocol_normalize_contact_impl impl);

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

tp_svc_protocol_normalize_contact_impl ()

void                (*tp_svc_protocol_normalize_contact_impl)
                                                        (TpSvcProtocol *self,
                                                         const gchar *in_Contact_ID,
                                                         DBusGMethodInvocation *context);

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

self :

The object implementing this interface

in_Contact_ID :

const gchar * (FIXME, generate documentation)

context :

Used to return values or throw an error

tp_svc_protocol_return_from_identify_account ()

void                tp_svc_protocol_return_from_identify_account
                                                        (DBusGMethodInvocation *context,
                                                         const gchar *out_Account_ID);

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_Account_ID :

const gchar * (FIXME, generate documentation)

tp_svc_protocol_return_from_normalize_contact ()

void                tp_svc_protocol_return_from_normalize_contact
                                                        (DBusGMethodInvocation *context,
                                                         const gchar *out_Normalized_Contact_ID);

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_Normalized_Contact_ID :

const gchar * (FIXME, generate documentation)

See Also

TpBaseProtocol