diff options
author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2012-04-03 17:31:01 -0400 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2012-04-03 17:31:01 -0400 |
commit | 0a5092500b67d70217a9ce361f660d54f8c842b2 (patch) | |
tree | 6036f822498de9ed7e132b10568a4c0cf670124c | |
parent | dd68cade4b99f9ff8ae865e8e4a09eb87dfadfdb (diff) | |
download | telepathy-salut-0a5092500b67d70217a9ce361f660d54f8c842b2.tar.gz |
muc-channel: re-add 'creator' property
Turns out I misunderstood this property before when porting to
TpBaseChannel in 2e6d62f0e735bf4f774f and thought it meant
requested. Let's re-add it to make avahi/tubes/two-muc-stream-tubes.py
pass again.
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r-- | src/avahi-muc-channel.c | 1 | ||||
-rw-r--r-- | src/muc-channel.c | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/avahi-muc-channel.c b/src/avahi-muc-channel.c index 28c6b9c1..738485f3 100644 --- a/src/avahi-muc-channel.c +++ b/src/avahi-muc-channel.c @@ -327,5 +327,6 @@ salut_avahi_muc_channel_new (SalutConnection *connection, "discovery-client", discovery_client, "initiator-handle", initiator, "requested", requested, + "creator", creator, NULL); } diff --git a/src/muc-channel.c b/src/muc-channel.c index 5cb8f444..53fe3273 100644 --- a/src/muc-channel.c +++ b/src/muc-channel.c @@ -84,6 +84,7 @@ enum { PROP_MUC_CONNECTION = 1, PROP_NAME, + PROP_CREATOR, LAST_PROPERTY }; @@ -94,6 +95,7 @@ struct _SalutMucChannelPrivate GibberMucConnection *muc_connection; gchar *muc_name; gboolean connected; + gboolean creator; guint timeout; /* (gchar *) -> (SalutContact *) */ GHashTable *senders; @@ -137,6 +139,9 @@ salut_muc_channel_get_property (GObject *object, case PROP_MUC_CONNECTION: g_value_set_object (value, priv->muc_connection); break; + case PROP_CREATOR: + g_value_set_boolean (value, priv->creator); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -160,6 +165,9 @@ salut_muc_channel_set_property (GObject *object, case PROP_MUC_CONNECTION: priv->muc_connection = g_value_get_object (value); break; + case PROP_CREATOR: + priv->creator = g_value_get_boolean (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -217,7 +225,7 @@ muc_connection_connected_cb (GibberMucConnection *connection, { SalutMucChannelPrivate *priv = self->priv; - if (tp_base_channel_is_requested (TP_BASE_CHANNEL (self))) + if (priv->creator) { DEBUG ("I created this muc. Adding myself as member now"); salut_muc_channel_add_self_to_members (self); @@ -656,6 +664,17 @@ salut_muc_channel_class_init (SalutMucChannelClass *salut_muc_channel_class) g_object_class_install_property (object_class, PROP_MUC_CONNECTION, param_spec); + param_spec = g_param_spec_boolean ( + "creator", + "creator", + "Whether or not we created this muc", + FALSE, + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS); + g_object_class_install_property (object_class, + PROP_CREATOR, param_spec); + signals[READY] = g_signal_new ( "ready", G_OBJECT_CLASS_TYPE (salut_muc_channel_class), |