Generic service-side interfaces

Generic service-side interfaces — GInterfaces for D-Bus objects exporting Telepathy properties and common D-Bus core interfaces

Synopsis


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

                    TpSvcDBusIntrospectable;
                    TpSvcDBusIntrospectableClass;
                    TpSvcDBusProperties;
                    TpSvcDBusPropertiesClass;
                    TpSvcPropertiesInterface;
                    TpSvcPropertiesInterfaceClass;
void                tp_svc_dbus_introspectable_implement_introspect
                                                        (TpSvcDBusIntrospectableClass *klass,
                                                         tp_svc_dbus_introspectable_introspect_impl impl);
void                (*tp_svc_dbus_introspectable_introspect_impl)
                                                        (TpSvcDBusIntrospectable *self,
                                                         DBusGMethodInvocation *context);
void                tp_svc_dbus_introspectable_return_from_introspect
                                                        (DBusGMethodInvocation *context,
                                                         const gchar *out_XML_Data);
void                (*tp_svc_dbus_properties_get_all_impl)
                                                        (TpSvcDBusProperties *self,
                                                         const gchar *in_Interface_Name,
                                                         DBusGMethodInvocation *context);
void                (*tp_svc_dbus_properties_get_impl)  (TpSvcDBusProperties *self,
                                                         const gchar *in_Interface_Name,
                                                         const gchar *in_Property_Name,
                                                         DBusGMethodInvocation *context);
void                tp_svc_dbus_properties_implement_get
                                                        (TpSvcDBusPropertiesClass *klass,
                                                         tp_svc_dbus_properties_get_impl impl);
void                tp_svc_dbus_properties_implement_get_all
                                                        (TpSvcDBusPropertiesClass *klass,
                                                         tp_svc_dbus_properties_get_all_impl impl);
void                tp_svc_dbus_properties_implement_set
                                                        (TpSvcDBusPropertiesClass *klass,
                                                         tp_svc_dbus_properties_set_impl impl);
void                tp_svc_dbus_properties_return_from_get
                                                        (DBusGMethodInvocation *context,
                                                         const GValue *out_Value);
void                tp_svc_dbus_properties_return_from_get_all
                                                        (DBusGMethodInvocation *context,
                                                         GHashTable *out_Properties);
void                tp_svc_dbus_properties_return_from_set
                                                        (DBusGMethodInvocation *context);
void                (*tp_svc_dbus_properties_set_impl)  (TpSvcDBusProperties *self,
                                                         const gchar *in_Interface_Name,
                                                         const gchar *in_Property_Name,
                                                         const GValue *in_Value,
                                                         DBusGMethodInvocation *context);
void                (*tp_svc_properties_interface_get_properties_impl)
                                                        (TpSvcPropertiesInterface *self,
                                                         const GArray *in_Properties,
                                                         DBusGMethodInvocation *context);
void                tp_svc_properties_interface_return_from_get_properties
                                                        (DBusGMethodInvocation *context,
                                                         const GPtrArray *out_Values);
void                tp_svc_properties_interface_implement_get_properties
                                                        (TpSvcPropertiesInterfaceClass *klass,
                                                         tp_svc_properties_interface_get_properties_impl impl);
void                (*tp_svc_properties_interface_list_properties_impl)
                                                        (TpSvcPropertiesInterface *self,
                                                         DBusGMethodInvocation *context);
void                tp_svc_properties_interface_return_from_list_properties
                                                        (DBusGMethodInvocation *context,
                                                         const GPtrArray *out_Available_Properties);
void                tp_svc_properties_interface_implement_list_properties
                                                        (TpSvcPropertiesInterfaceClass *klass,
                                                         tp_svc_properties_interface_list_properties_impl impl);
void                (*tp_svc_properties_interface_set_properties_impl)
                                                        (TpSvcPropertiesInterface *self,
                                                         const GPtrArray *in_Properties,
                                                         DBusGMethodInvocation *context);
void                tp_svc_properties_interface_return_from_set_properties
                                                        (DBusGMethodInvocation *context);
void                tp_svc_properties_interface_implement_set_properties
                                                        (TpSvcPropertiesInterfaceClass *klass,
                                                         tp_svc_properties_interface_set_properties_impl impl);
void                tp_svc_properties_interface_emit_properties_changed
                                                        (gpointer instance,
                                                         const GPtrArray *arg_Properties);
void                tp_svc_properties_interface_emit_property_flags_changed
                                                        (gpointer instance,
                                                         const GPtrArray *arg_Properties);

Object Hierarchy

  GInterface
   +----TpSvcDBusIntrospectable
  GInterface
   +----TpSvcDBusProperties
  GInterface
   +----TpSvcPropertiesInterface

Known Implementations

TpSvcDBusProperties is implemented by TpDebugSender and TpBaseConnection.

Signals

  "properties-changed"                             : Run Last / Has Details
  "property-flags-changed"                         : Run Last / Has Details

Description

The D-Bus Properties interface associates named properties with any D-Bus object.

The D-Bus Introspectable interface provides introspection information.

The D-Bus Peer interface is exported by every D-Bus object.

The Telepathy Properties interface associates a number of named properties with a channel, connection or other D-Bus object. Signals are emitted when the properties or their flags (readable/writable) change.

Details

TpSvcDBusIntrospectable

typedef struct _TpSvcDBusIntrospectable TpSvcDBusIntrospectable;

Dummy typedef representing any implementation of this interface.


TpSvcDBusIntrospectableClass

typedef struct _TpSvcDBusIntrospectableClass TpSvcDBusIntrospectableClass;

The class of TpSvcDBusIntrospectable.

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


TpSvcDBusProperties

typedef struct _TpSvcDBusProperties TpSvcDBusProperties;

Dummy typedef representing any implementation of this interface.


TpSvcDBusPropertiesClass

typedef struct _TpSvcDBusPropertiesClass TpSvcDBusPropertiesClass;

The class of TpSvcDBusProperties.

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_dbus_properties (gpointer klass,
    gpointer unused G_GNUC_UNUSED)
{
#define IMPLEMENT(x) tp_svc_dbus_properties_implement_##x (\
  klass, my_object_##x)
  IMPLEMENT (get);
  IMPLEMENT (set);
  IMPLEMENT (get_all);
#undef IMPLEMENT
}


TpSvcPropertiesInterface

typedef struct _TpSvcPropertiesInterface TpSvcPropertiesInterface;

Dummy typedef representing any implementation of this interface.


TpSvcPropertiesInterfaceClass

typedef struct _TpSvcPropertiesInterfaceClass TpSvcPropertiesInterfaceClass;

The class of TpSvcPropertiesInterface.

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_properties_interface (gpointer klass,
    gpointer unused G_GNUC_UNUSED)
{
#define IMPLEMENT(x) tp_svc_properties_interface_implement_##x (\
  klass, my_object_##x)
  IMPLEMENT (get_properties);
  IMPLEMENT (list_properties);
  IMPLEMENT (set_properties);
#undef IMPLEMENT
}


tp_svc_dbus_introspectable_implement_introspect ()

void                tp_svc_dbus_introspectable_implement_introspect
                                                        (TpSvcDBusIntrospectableClass *klass,
                                                         tp_svc_dbus_introspectable_introspect_impl impl);

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

tp_svc_dbus_introspectable_introspect_impl ()

void                (*tp_svc_dbus_introspectable_introspect_impl)
                                                        (TpSvcDBusIntrospectable *self,
                                                         DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Introspect on interface org.freedesktop.DBus.Introspectable.

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

tp_svc_dbus_introspectable_return_from_introspect ()

void                tp_svc_dbus_introspectable_return_from_introspect
                                                        (DBusGMethodInvocation *context,
                                                         const gchar *out_XML_Data);

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

tp_svc_dbus_properties_get_all_impl ()

void                (*tp_svc_dbus_properties_get_all_impl)
                                                        (TpSvcDBusProperties *self,
                                                         const gchar *in_Interface_Name,
                                                         DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method GetAll on interface org.freedesktop.DBus.Properties.

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

tp_svc_dbus_properties_get_impl ()

void                (*tp_svc_dbus_properties_get_impl)  (TpSvcDBusProperties *self,
                                                         const gchar *in_Interface_Name,
                                                         const gchar *in_Property_Name,
                                                         DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Get on interface org.freedesktop.DBus.Properties.

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

tp_svc_dbus_properties_implement_get ()

void                tp_svc_dbus_properties_implement_get
                                                        (TpSvcDBusPropertiesClass *klass,
                                                         tp_svc_dbus_properties_get_impl impl);

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

tp_svc_dbus_properties_implement_get_all ()

void                tp_svc_dbus_properties_implement_get_all
                                                        (TpSvcDBusPropertiesClass *klass,
                                                         tp_svc_dbus_properties_get_all_impl impl);

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

tp_svc_dbus_properties_implement_set ()

void                tp_svc_dbus_properties_implement_set
                                                        (TpSvcDBusPropertiesClass *klass,
                                                         tp_svc_dbus_properties_set_impl impl);

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

tp_svc_dbus_properties_return_from_get ()

void                tp_svc_dbus_properties_return_from_get
                                                        (DBusGMethodInvocation *context,
                                                         const GValue *out_Value);

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_Value : const GValue * (FIXME, generate documentation)

tp_svc_dbus_properties_return_from_get_all ()

void                tp_svc_dbus_properties_return_from_get_all
                                                        (DBusGMethodInvocation *context,
                                                         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_Properties : GHashTable * (FIXME, generate documentation)

tp_svc_dbus_properties_return_from_set ()

void                tp_svc_dbus_properties_return_from_set
                                                        (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_dbus_properties_set_impl ()

void                (*tp_svc_dbus_properties_set_impl)  (TpSvcDBusProperties *self,
                                                         const gchar *in_Interface_Name,
                                                         const gchar *in_Property_Name,
                                                         const GValue *in_Value,
                                                         DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Set on interface org.freedesktop.DBus.Properties.

self : The object implementing this interface
in_Interface_Name : const gchar * (FIXME, generate documentation)
in_Property_Name : const gchar * (FIXME, generate documentation)
in_Value : const GValue * (FIXME, generate documentation)
context : Used to return values or throw an error

tp_svc_properties_interface_get_properties_impl ()

void                (*tp_svc_properties_interface_get_properties_impl)
                                                        (TpSvcPropertiesInterface *self,
                                                         const GArray *in_Properties,
                                                         DBusGMethodInvocation *context);

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

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

tp_svc_properties_interface_return_from_get_properties ()

void                tp_svc_properties_interface_return_from_get_properties
                                                        (DBusGMethodInvocation *context,
                                                         const GPtrArray *out_Values);

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

tp_svc_properties_interface_implement_get_properties ()

void                tp_svc_properties_interface_implement_get_properties
                                                        (TpSvcPropertiesInterfaceClass *klass,
                                                         tp_svc_properties_interface_get_properties_impl impl);

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

tp_svc_properties_interface_list_properties_impl ()

void                (*tp_svc_properties_interface_list_properties_impl)
                                                        (TpSvcPropertiesInterface *self,
                                                         DBusGMethodInvocation *context);

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

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

tp_svc_properties_interface_return_from_list_properties ()

void                tp_svc_properties_interface_return_from_list_properties
                                                        (DBusGMethodInvocation *context,
                                                         const GPtrArray *out_Available_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_Available_Properties : const GPtrArray * (FIXME, generate documentation)

tp_svc_properties_interface_implement_list_properties ()

void                tp_svc_properties_interface_implement_list_properties
                                                        (TpSvcPropertiesInterfaceClass *klass,
                                                         tp_svc_properties_interface_list_properties_impl impl);

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

tp_svc_properties_interface_set_properties_impl ()

void                (*tp_svc_properties_interface_set_properties_impl)
                                                        (TpSvcPropertiesInterface *self,
                                                         const GPtrArray *in_Properties,
                                                         DBusGMethodInvocation *context);

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

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

tp_svc_properties_interface_return_from_set_properties ()

void                tp_svc_properties_interface_return_from_set_properties
                                                        (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_properties_interface_implement_set_properties ()

void                tp_svc_properties_interface_implement_set_properties
                                                        (TpSvcPropertiesInterfaceClass *klass,
                                                         tp_svc_properties_interface_set_properties_impl impl);

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

tp_svc_properties_interface_emit_properties_changed ()

void                tp_svc_properties_interface_emit_properties_changed
                                                        (gpointer instance,
                                                         const GPtrArray *arg_Properties);

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

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

tp_svc_properties_interface_emit_property_flags_changed ()

void                tp_svc_properties_interface_emit_property_flags_changed
                                                        (gpointer instance,
                                                         const GPtrArray *arg_Properties);

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

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

Signal Details

The "properties-changed" signal

void                user_function                      (TpSvcPropertiesInterface *arg_Properties,
                                                        gpointer                  user_data)           : Run Last / Has Details

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

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

The "property-flags-changed" signal

void                user_function                      (TpSvcPropertiesInterface *arg_Properties,
                                                        gpointer                  user_data)           : Run Last / Has Details

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

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

See Also

TpPropertiesMixin