summaryrefslogtreecommitdiff
path: root/src/bytestream-socks5.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-02-25 16:52:37 +0000
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-02-25 16:52:37 +0000
commit375b19add6b3a44a6cc3311664cad578b97ca83d (patch)
tree8399d6ca88573b612b482ed5e715bd52e2fda91a /src/bytestream-socks5.c
parent5ca31761700575c711c5a07e520d4702265ed508 (diff)
downloadtelepathy-gabble-375b19add6b3a44a6cc3311664cad578b97ca83d.tar.gz
socks5: add self-jid property
Diffstat (limited to 'src/bytestream-socks5.c')
-rw-r--r--src/bytestream-socks5.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/bytestream-socks5.c b/src/bytestream-socks5.c
index 26d4f96bc..f7a98da13 100644
--- a/src/bytestream-socks5.c
+++ b/src/bytestream-socks5.c
@@ -77,6 +77,7 @@ enum
PROP_PEER_RESOURCE,
PROP_STATE,
PROP_PROTOCOL,
+ PROP_SELF_JID,
LAST_PROPERTY
};
@@ -289,6 +290,9 @@ gabble_bytestream_socks5_get_property (GObject *object,
case PROP_PROTOCOL:
g_value_set_string (value, NS_BYTESTREAMS);
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;
@@ -333,6 +337,10 @@ gabble_bytestream_socks5_set_property (GObject *object,
priv->bytestream_state);
}
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;
@@ -349,7 +357,6 @@ gabble_bytestream_socks5_constructor (GType type,
TpBaseConnection *base_conn;
TpHandleRepoIface *contact_repo;
const gchar *jid;
- gchar *resource;
obj = G_OBJECT_CLASS (gabble_bytestream_socks5_parent_class)->
constructor (type, n_props, props);
@@ -374,10 +381,7 @@ gabble_bytestream_socks5_constructor (GType type,
else
priv->peer_jid = g_strdup (jid);
- g_object_get (priv->conn, "resource", &resource, NULL);
- priv->self_full_jid = g_strdup_printf ("%s/%s", tp_handle_inspect (
- contact_repo, base_conn->self_handle), resource);
- g_free (resource);
+ g_assert (priv->self_full_jid != NULL);
return obj;
}
@@ -432,6 +436,15 @@ gabble_bytestream_socks5_class_init (
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_STREAM_INIT_ID,
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);
}
static gboolean