[telepathy-gabble/master] Assert that sessions' peer, resource, sid are set
Will Thompson
will.thompson at collabora.co.uk
Tue Jun 9 08:21:09 PDT 2009
It seems more coherent to ensure that a JingleSession always knows its
ID and who it's to, rather than to sometimes set these later.
---
src/jingle-factory.c | 3 +++
src/jingle-session.c | 15 +++++++--------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/jingle-factory.c b/src/jingle-factory.c
index 1c072c0..01cb4d2 100644
--- a/src/jingle-factory.c
+++ b/src/jingle-factory.c
@@ -819,6 +819,9 @@ create_session (GabbleJingleFactory *fac,
gboolean local_initiator;
gchar *sid_;
+ g_assert (peer != 0);
+ g_assert (peer_resource != NULL);
+
if (sid != NULL)
{
g_assert (NULL == g_hash_table_lookup (priv->sessions, sid));
diff --git a/src/jingle-session.c b/src/jingle-session.c
index 28323b2..4db456e 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -313,19 +313,18 @@ gabble_jingle_session_constructed (GObject *object)
G_OBJECT_CLASS (gabble_jingle_session_parent_class)->constructed;
GabbleJingleSession *self = GABBLE_JINGLE_SESSION (object);
GabbleJingleSessionPrivate *priv = self->priv;
+ TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (
+ (TpBaseConnection *) priv->conn, TP_HANDLE_TYPE_CONTACT);
if (chain_up != NULL)
chain_up (object);
g_assert (priv->conn != NULL);
+ g_assert (self->peer != 0);
+ g_assert (priv->peer_resource != NULL);
+ g_assert (priv->sid != NULL);
- if (self->peer != 0)
- {
- TpHandleRepoIface *contact_repo = tp_base_connection_get_handles (
- (TpBaseConnection *) priv->conn, TP_HANDLE_TYPE_CONTACT);
-
- tp_handle_ref (contact_repo, self->peer);
- }
+ tp_handle_ref (contact_repo, self->peer);
}
GabbleJingleSession *
@@ -387,7 +386,7 @@ gabble_jingle_session_class_init (GabbleJingleSessionClass *cls)
param_spec = g_param_spec_string ("peer-resource", "Session peer's resource",
"The resource of the contact with whom this session communicates.",
NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_PEER_RESOURCE,
param_spec);
--
1.5.6.5
More information about the telepathy-commits
mailing list