[Telepathy-commits] [telepathy-gabble/master] bytestream-multiple: add self-jid property

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Tue Mar 17 09:43:07 PDT 2009


---
 src/bytestream-multiple.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/src/bytestream-multiple.c b/src/bytestream-multiple.c
index 10e7869..cc33748 100644
--- a/src/bytestream-multiple.c
+++ b/src/bytestream-multiple.c
@@ -58,6 +58,7 @@ enum
   PROP_STATE,
   PROP_PROTOCOL,
   PROP_FACTORY,
+  PROP_SELF_JID,
   LAST_PROPERTY
 };
 
@@ -71,6 +72,7 @@ struct _GabbleBytestreamMultiplePrivate
   GabbleBytestreamState state;
   gchar *peer_jid;
   GabbleBytestreamFactory *factory;
+  gchar *self_full_jid;
 
   /* List of (gchar *) containing the NS of a stream method */
   GList *fallback_stream_methods;
@@ -132,6 +134,7 @@ gabble_bytestream_multiple_finalize (GObject *object)
   g_free (priv->stream_init_id);
   g_free (priv->peer_resource);
   g_free (priv->peer_jid);
+  g_free (priv->self_full_jid);
 
   G_OBJECT_CLASS (gabble_bytestream_multiple_parent_class)->finalize (object);
 }
@@ -178,6 +181,9 @@ gabble_bytestream_multiple_get_property (GObject *object,
       case PROP_FACTORY:
         g_value_set_object (value, priv->factory);
         break;
+      case PROP_SELF_JID:
+        g_value_set_string (value, priv->self_full_jid);
+        break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
         break;
@@ -224,6 +230,10 @@ gabble_bytestream_multiple_set_property (GObject *object,
       case PROP_FACTORY:
         priv->factory = g_value_get_object (value);
         break;
+      case PROP_SELF_JID:
+        g_free (priv->self_full_jid);
+        priv->self_full_jid = g_value_dup_string (value);
+        break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
         break;
@@ -262,6 +272,8 @@ gabble_bytestream_multiple_constructor (GType type,
   else
     priv->peer_jid = g_strdup (jid);
 
+  g_assert (priv->self_full_jid != NULL);
+
   return obj;
 }
 
@@ -324,6 +336,15 @@ gabble_bytestream_multiple_class_init (
       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_FACTORY,
       param_spec);
+
+  param_spec = g_param_spec_string (
+      "self-jid",
+      "Our self jid",
+      "Either a contact full jid or a muc jid",
+      NULL,
+      G_PARAM_CONSTRUCT_ONLY  | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_property (object_class, PROP_SELF_JID,
+      param_spec);
 }
 
 /*
-- 
1.5.6.5




More information about the telepathy-commits mailing list