|  |  |  | telepathy-glib API Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Known Implementations | ||||
| Service-side Protocol interfaceService-side Protocol interface — GInterface for Telepathy Protocol objects | 
#include <telepathy-glib/telepathy-glib-dbus.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);
                    TpSvcProtocolInterfaceAddressing;
                    TpSvcProtocolInterfaceAddressingClass;
                    TpSvcProtocolInterfacePresence;
                    TpSvcProtocolInterfacePresenceClass;
                    TpSvcProtocolInterfaceAvatars;
                    TpSvcProtocolInterfaceAvatarsClass;
GInterface +----TpSvcProtocol
GInterface +----TpSvcProtocolInterfaceAddressing
GInterface +----TpSvcProtocolInterfacePresence
GInterface +----TpSvcProtocolInterfaceAvatars
TpSvcProtocol is implemented by TpBaseProtocol.
TpSvcProtocolInterfaceAddressing is implemented by TpBaseProtocol.
TpSvcProtocolInterfacePresence is implemented by TpBaseProtocol.
TpSvcProtocolInterfaceAvatars is implemented by TpBaseProtocol.
The TpSvcProtocol interface (auto-generated from the Telepathy spec) makes it easier to export an object implementing the Telepathy Protocol interface.
typedef struct _TpSvcProtocol TpSvcProtocol;
Dummy typedef representing any implementation of this interface.
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
}
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.
| 
 | The object implementing this interface | 
| 
 | GHashTable * (FIXME, generate documentation) | 
| 
 | Used to return values or throw an error | 
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.
| 
 | A class whose instances implement this interface | 
| 
 | A callback used to implement the IdentifyAccount D-Bus method | 
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.
| 
 | A class whose instances implement this interface | 
| 
 | A callback used to implement the NormalizeContact D-Bus method | 
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.
| 
 | The object implementing this interface | 
| 
 | const gchar * (FIXME, generate documentation) | 
| 
 | Used to return values or throw an error | 
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.
| 
 | The D-Bus method invocation context | 
| 
 | const gchar * (FIXME, generate documentation) | 
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.
| 
 | The D-Bus method invocation context | 
| 
 | const gchar * (FIXME, generate documentation) | 
typedef struct _TpSvcProtocolInterfaceAddressing TpSvcProtocolInterfaceAddressing;
Dummy typedef representing any implementation of this interface.
typedef struct _TpSvcProtocolInterfaceAddressingClass TpSvcProtocolInterfaceAddressingClass;
The class of TpSvcProtocolInterfaceAddressing.
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_interface_addressing (gpointer klass,
    gpointer unused G_GNUC_UNUSED)
{
#define IMPLEMENT(x) tp_svc_protocol_interface_addressing_implement_##x (\
  klass, my_object_##x)
  IMPLEMENT (normalize_vcard_address);
  IMPLEMENT (normalize_contact_uri);
#undef IMPLEMENT
}
typedef struct _TpSvcProtocolInterfacePresence TpSvcProtocolInterfacePresence;
Dummy typedef representing any implementation of this interface.
typedef struct _TpSvcProtocolInterfacePresenceClass TpSvcProtocolInterfacePresenceClass;
The class of TpSvcProtocolInterfacePresence.
This interface has no D-Bus methods, so an
implementation can typically pass NULL to
G_IMPLEMENT_INTERFACE() as the interface
initialization function.
typedef struct _TpSvcProtocolInterfaceAvatars TpSvcProtocolInterfaceAvatars;
Dummy typedef representing any implementation of this interface.
typedef struct _TpSvcProtocolInterfaceAvatarsClass TpSvcProtocolInterfaceAvatarsClass;
The class of TpSvcProtocolInterfaceAvatars.
This interface has no D-Bus methods, so an
implementation can typically pass NULL to
G_IMPLEMENT_INTERFACE() as the interface
initialization function.