[Telepathy-commits] [telepathy-gabble/master] GabbleJingleFactory: make relay token private and add an accessor
Simon McVittie
simon.mcvittie at collabora.co.uk
Wed Feb 25 05:40:23 PST 2009
---
src/jingle-factory.c | 12 +++++++++---
src/jingle-factory.h | 4 +++-
src/media-channel.c | 13 +++++++++++--
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/src/jingle-factory.c b/src/jingle-factory.c
index 5aea9a3..34dd297 100644
--- a/src/jingle-factory.c
+++ b/src/jingle-factory.c
@@ -65,6 +65,7 @@ struct _GabbleJingleFactoryPrivate
GHashTable *transports;
GHashTable *sessions;
+ gchar *relay_token;
gboolean get_stun_from_jingle;
gboolean dispose_has_run;
};
@@ -200,8 +201,8 @@ jingle_info_cb (LmMessageHandler *handler,
if (token != NULL)
{
DEBUG ("jingle info: got relay token %s", token);
- g_free (fac->relay_token);
- fac->relay_token = g_strdup (token);
+ g_free (fac->priv->relay_token);
+ fac->priv->relay_token = g_strdup (token);
}
}
}
@@ -265,7 +266,7 @@ gabble_jingle_factory_dispose (GObject *object)
priv->transports = NULL;
g_free (fac->stun_server);
- g_free (fac->relay_token);
+ g_free (fac->priv->relay_token);
if (G_OBJECT_CLASS (gabble_jingle_factory_parent_class)->dispose)
G_OBJECT_CLASS (gabble_jingle_factory_parent_class)->dispose (object);
@@ -651,3 +652,8 @@ session_terminated_cb (GabbleJingleSession *session,
_jingle_factory_unregister_session (factory, sid);
}
+const gchar *
+gabble_jingle_factory_get_google_relay_token (GabbleJingleFactory *self)
+{
+ return self->priv->relay_token;
+}
diff --git a/src/jingle-factory.h b/src/jingle-factory.h
index 6a8aa27..3553eae 100644
--- a/src/jingle-factory.h
+++ b/src/jingle-factory.h
@@ -125,7 +125,6 @@ struct _GabbleJingleFactory {
gchar *stun_server;
guint16 stun_port;
- gchar *relay_token;
GabbleJingleFactoryPrivate *priv;
};
@@ -146,6 +145,9 @@ void _jingle_factory_unregister_session (GabbleJingleFactory *factory,
GabbleJingleSession *gabble_jingle_factory_create_session (GabbleJingleFactory
*fac, TpHandle peer, const gchar *peer_resource);
+const gchar *gabble_jingle_factory_get_google_relay_token (
+ GabbleJingleFactory *self);
+
G_END_DECLS;
#endif /* __JINGLE_FACTORY_H__ */
diff --git a/src/media-channel.c b/src/media-channel.c
index 62069a8..83a7d6b 100644
--- a/src/media-channel.c
+++ b/src/media-channel.c
@@ -269,6 +269,7 @@ gabble_media_channel_constructor (GType type, guint n_props,
TpIntSet *set;
TpHandleRepoIface *contact_handles;
GabbleJingleFactory *jf;
+ const gchar *relay_token;
obj = G_OBJECT_CLASS (gabble_media_channel_parent_class)->
constructor (type, n_props, props);
@@ -308,12 +309,20 @@ gabble_media_channel_constructor (GType type, guint n_props,
/* Set up Google relay related properties */
jf = priv->conn->jingle_factory;
+
if (jf->stun_server != NULL)
g_object_set (obj, "stun-server", jf->stun_server, NULL);
if (jf->stun_port != 0)
g_object_set (obj, "stun-port", jf->stun_port, NULL);
- if (jf->relay_token != NULL)
- g_object_set (obj, "gtalk-p2p-relay-token", jf->relay_token, NULL);
+
+ relay_token = gabble_jingle_factory_get_google_relay_token (jf);
+
+ if (relay_token != NULL)
+ {
+ g_object_set (obj,
+ "gtalk-p2p-relay-token", relay_token,
+ NULL);
+ }
/* act on incoming session */
if (priv->session != NULL)
--
1.5.6.5
More information about the telepathy-commits
mailing list