summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2012-04-03 17:31:01 -0400
committerJonny Lamb <jonny.lamb@collabora.co.uk>2012-04-03 17:31:01 -0400
commit0a5092500b67d70217a9ce361f660d54f8c842b2 (patch)
tree6036f822498de9ed7e132b10568a4c0cf670124c
parentdd68cade4b99f9ff8ae865e8e4a09eb87dfadfdb (diff)
downloadtelepathy-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.c1
-rw-r--r--src/muc-channel.c21
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),