[Telepathy-commits] [telepathy-haze/master] HazeContactListChannel: be a TpExportableChannel
Simon McVittie
simon.mcvittie at collabora.co.uk
Mon Mar 23 02:44:08 PDT 2009
---
src/contact-list-channel.c | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/contact-list-channel.c b/src/contact-list-channel.c
index f83c1de..b08b4f4 100644
--- a/src/contact-list-channel.c
+++ b/src/contact-list-channel.c
@@ -19,6 +19,7 @@
*/
#include <telepathy-glib/dbus.h>
+#include <telepathy-glib/exportable-channel.h>
#include <telepathy-glib/interfaces.h>
#include <telepathy-glib/channel-iface.h>
#include <telepathy-glib/svc-generic.h>
@@ -98,7 +99,7 @@ G_DEFINE_TYPE_WITH_CODE (HazeContactListChannel,
tp_group_mixin_iface_init);
G_IMPLEMENT_INTERFACE (TP_TYPE_SVC_DBUS_PROPERTIES,
tp_dbus_properties_mixin_iface_init);
- )
+ G_IMPLEMENT_INTERFACE (TP_TYPE_EXPORTABLE_CHANNEL, NULL))
const char *haze_contact_list_channel_interfaces[] = {
TP_IFACE_CHANNEL_INTERFACE_GROUP,
@@ -118,6 +119,8 @@ enum {
PROP_REQUESTED,
PROP_INITIATOR_HANDLE,
PROP_INITIATOR_ID,
+ PROP_CHANNEL_PROPERTIES,
+ PROP_CHANNEL_DESTROYED,
LAST_PROPERTY
};
@@ -661,6 +664,22 @@ haze_contact_list_channel_get_property (GObject *object,
case PROP_INTERFACES:
g_value_set_boxed (value, haze_contact_list_channel_interfaces);
break;
+ case PROP_CHANNEL_DESTROYED:
+ g_value_set_boolean (value, priv->closed);
+ break;
+ case PROP_CHANNEL_PROPERTIES:
+ g_value_take_boxed (value,
+ tp_dbus_properties_mixin_make_properties_hash (object,
+ TP_IFACE_CHANNEL, "TargetHandle",
+ TP_IFACE_CHANNEL, "TargetHandleType",
+ TP_IFACE_CHANNEL, "ChannelType",
+ TP_IFACE_CHANNEL, "TargetID",
+ TP_IFACE_CHANNEL, "InitiatorHandle",
+ TP_IFACE_CHANNEL, "InitiatorID",
+ TP_IFACE_CHANNEL, "Requested",
+ TP_IFACE_CHANNEL, "Interfaces",
+ NULL));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -785,6 +804,10 @@ haze_contact_list_channel_class_init (HazeContactListChannelClass *klass)
g_object_class_override_property (object_class, PROP_HANDLE_TYPE,
"handle-type");
g_object_class_override_property (object_class, PROP_HANDLE, "handle");
+ g_object_class_override_property (object_class, PROP_CHANNEL_DESTROYED,
+ "channel-destroyed");
+ g_object_class_override_property (object_class, PROP_CHANNEL_PROPERTIES,
+ "channel-properties");
tp_group_mixin_class_init (object_class,
@@ -805,7 +828,7 @@ haze_contact_list_channel_class_init (HazeContactListChannelClass *klass)
static void
haze_contact_list_channel_close (TpSvcChannel *iface,
- DBusGMethodInvocation *context)
+ DBusGMethodInvocation *context)
{
HazeContactListChannel *self = HAZE_CONTACT_LIST_CHANNEL (iface);
HazeContactListChannelPrivate *priv;
--
1.5.6.5
More information about the telepathy-commits
mailing list