[Telepathy-commits] [telepathy-salut/master] SalutTubesChannel: implement channel DBus properties
Sjoerd Simons
sjoerd at luon.net
Mon Aug 11 05:47:16 PDT 2008
---
src/salut-tubes-channel.c | 22 ++++++++++++++++++++++
src/salut-tubes-channel.h | 1 +
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/salut-tubes-channel.c b/src/salut-tubes-channel.c
index c41a227..ce805a2 100644
--- a/src/salut-tubes-channel.c
+++ b/src/salut-tubes-channel.c
@@ -31,6 +31,7 @@
#include <telepathy-glib/interfaces.h>
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/svc-channel.h>
+#include <telepathy-glib/svc-generic.h>
#include <gibber/gibber-muc-connection.h>
#include <gibber/gibber-bytestream-muc.h>
@@ -68,6 +69,8 @@ static void
tubes_iface_init (gpointer g_iface, gpointer iface_data);
G_DEFINE_TYPE_WITH_CODE (SalutTubesChannel, salut_tubes_channel, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_DBUS_PROPERTIES,
+ tp_dbus_properties_mixin_iface_init);
G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_CHANNEL, channel_iface_init);
G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_CHANNEL_TYPE_TUBES, tubes_iface_init);
G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_CHANNEL_INTERFACE_GROUP,
@@ -1777,6 +1780,21 @@ salut_tubes_channel_class_init (
{
GObjectClass *object_class = G_OBJECT_CLASS (salut_tubes_channel_class);
GParamSpec *param_spec;
+ static TpDBusPropertiesMixinPropImpl channel_props[] = {
+ { "TargetHandleType", "handle-type", NULL },
+ { "TargetHandle", "handle", NULL },
+ { "ChannelType", "channel-type", NULL },
+ { "Interfaces", "interfaces", NULL },
+ { NULL }
+ };
+ static TpDBusPropertiesMixinIfaceImpl prop_interfaces[] = {
+ { TP_IFACE_CHANNEL,
+ tp_dbus_properties_mixin_getter_gobject_properties,
+ NULL,
+ channel_props,
+ },
+ { NULL }
+ };
g_type_class_add_private (salut_tubes_channel_class,
sizeof (SalutTubesChannelPrivate));
@@ -1827,6 +1845,10 @@ salut_tubes_channel_class_init (
G_PARAM_READABLE |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NAME);
g_object_class_install_property (object_class, PROP_INTERFACES, param_spec);
+
+ salut_tubes_channel_class->dbus_props_class.interfaces = prop_interfaces;
+ tp_dbus_properties_mixin_class_init (object_class,
+ G_STRUCT_OFFSET (SalutTubesChannelClass, dbus_props_class));
}
void
diff --git a/src/salut-tubes-channel.h b/src/salut-tubes-channel.h
index 2546a7a..8bb8333 100644
--- a/src/salut-tubes-channel.h
+++ b/src/salut-tubes-channel.h
@@ -34,6 +34,7 @@ typedef struct _SalutTubesChannelClass SalutTubesChannelClass;
struct _SalutTubesChannelClass {
GObjectClass parent_class;
+ TpDBusPropertiesMixinClass dbus_props_class;
};
struct _SalutTubesChannel {
--
1.5.6.3
More information about the Telepathy-commits
mailing list