[Telepathy-commits] [telepathy-haze/master] Implement TargetID on IM channels

Will Thompson will.thompson at collabora.co.uk
Mon Aug 25 03:47:38 PDT 2008


---
 src/im-channel.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/im-channel.c b/src/im-channel.c
index a1da4dd..05342b7 100644
--- a/src/im-channel.c
+++ b/src/im-channel.c
@@ -36,6 +36,7 @@ enum
   PROP_CHANNEL_TYPE,
   PROP_HANDLE_TYPE,
   PROP_HANDLE,
+  PROP_TARGET_ID,
   PROP_INTERFACES,
 
   LAST_PROPERTY
@@ -347,6 +348,7 @@ haze_im_channel_get_property (GObject    *object,
 {
     HazeIMChannel *chan = HAZE_IM_CHANNEL (object);
     HazeIMChannelPrivate *priv = HAZE_IM_CHANNEL_GET_PRIVATE (chan);
+    TpBaseConnection *base_conn = (TpBaseConnection *) priv->conn;
 
     switch (property_id) {
         case PROP_OBJECT_PATH:
@@ -361,6 +363,14 @@ haze_im_channel_get_property (GObject    *object,
         case PROP_HANDLE:
             g_value_set_uint (value, priv->handle);
             break;
+        case PROP_TARGET_ID:
+        {
+            TpHandleRepoIface *repo = tp_base_connection_get_handles (base_conn,
+                TP_HANDLE_TYPE_CONTACT);
+
+            g_value_set_string (value, tp_handle_inspect (repo, priv->handle));
+            break;
+        }
         case PROP_CONNECTION:
             g_value_set_object (value, priv->conn);
             break;
@@ -474,6 +484,7 @@ haze_im_channel_class_init (HazeIMChannelClass *klass)
     static TpDBusPropertiesMixinPropImpl channel_props[] = {
         { "TargetHandleType", "handle-type", NULL },
         { "TargetHandle", "handle", NULL },
+        { "TargetID", "target-id", NULL },
         { "ChannelType", "channel-type", NULL },
         { "Interfaces", "interfaces", NULL },
         { NULL }
@@ -521,6 +532,13 @@ haze_im_channel_class_init (HazeIMChannelClass *klass)
         G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NAME);
     g_object_class_install_property (object_class, PROP_INTERFACES, param_spec);
 
+    param_spec = g_param_spec_string ("target-id", "Other person's username",
+        "The username of the other person in the conversation",
+        NULL,
+        G_PARAM_READABLE |
+        G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NAME);
+    g_object_class_install_property (object_class, PROP_TARGET_ID, param_spec);
+
 
     tp_text_mixin_class_init (object_class,
                               G_STRUCT_OFFSET(HazeIMChannelClass, text_class));
-- 
1.5.6.3




More information about the Telepathy-commits mailing list