[telepathy-gabble/master] Remove duplicated "content doesn't exist" checks.
Will Thompson
will.thompson at collabora.co.uk
Tue Jun 23 11:11:56 PDT 2009
---
src/jingle-session.c | 55 ++++++++++++++++---------------------------------
1 files changed, 18 insertions(+), 37 deletions(-)
diff --git a/src/jingle-session.c b/src/jingle-session.c
index 9135158..32e4d47 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -673,8 +673,11 @@ lookup_content (GabbleJingleSession *sess,
}
static void
-_foreach_content (GabbleJingleSession *sess, LmMessageNode *node,
- ContentHandlerFunc func, GError **error)
+_foreach_content (GabbleJingleSession *sess,
+ LmMessageNode *node,
+ gboolean fail_if_missing,
+ ContentHandlerFunc func,
+ GError **error)
{
GabbleJingleContent *c;
LmMessageNode *content_node;
@@ -689,7 +692,7 @@ _foreach_content (GabbleJingleSession *sess, LmMessageNode *node,
if (!lookup_content (sess,
lm_message_node_get_attribute (content_node, "name"),
lm_message_node_get_attribute (content_node, "creator"),
- FALSE /* fail_if_missing */, &c, error))
+ fail_if_missing, &c, error))
return;
func (sess, c, content_node, error);
@@ -870,13 +873,8 @@ static void
_each_content_remove (GabbleJingleSession *sess, GabbleJingleContent *c,
LmMessageNode *content_node, GError **error)
{
- const gchar *name = lm_message_node_get_attribute (content_node, "name");
+ g_assert (c != NULL);
- if (c == NULL)
- {
- SET_BAD_REQ ("content called \"%s\" doesn't exist", name);
- return;
- }
gabble_jingle_content_remove (c, FALSE);
}
@@ -884,12 +882,7 @@ static void
_each_content_modify (GabbleJingleSession *sess, GabbleJingleContent *c,
LmMessageNode *content_node, GError **error)
{
- if (c == NULL)
- {
- const gchar *name = lm_message_node_get_attribute (content_node, "name");
- SET_BAD_REQ ("content called \"%s\" doesn't exist", name);
- return;
- }
+ g_assert (c != NULL);
gabble_jingle_content_update_senders (c, content_node, error);
@@ -916,12 +909,7 @@ _each_content_accept (GabbleJingleSession *sess, GabbleJingleContent *c,
GabbleJingleSessionPrivate *priv = sess->priv;
JingleContentState state;
- if (c == NULL)
- {
- const gchar *name = lm_message_node_get_attribute (content_node, "name");
- SET_BAD_REQ ("content called \"%s\" doesn't exist", name);
- return;
- }
+ g_assert (c != NULL);
g_object_get (c, "state", &state, NULL);
if (state != JINGLE_CONTENT_STATE_SENT)
@@ -941,13 +929,6 @@ static void
_each_description_info (GabbleJingleSession *sess, GabbleJingleContent *c,
LmMessageNode *content_node, GError **error)
{
- if (c == NULL)
- {
- const gchar *name = lm_message_node_get_attribute (content_node, "name");
- SET_BAD_REQ ("content called \"%s\" doesn't exist", name);
- return;
- }
-
gabble_jingle_content_parse_description_info (c, content_node, error);
}
@@ -1003,7 +984,7 @@ on_session_initiate (GabbleJingleSession *sess, LmMessageNode *node,
}
else
{
- _foreach_content (sess, node, _each_content_add, error);
+ _foreach_content (sess, node, FALSE, _each_content_add, error);
}
if (*error == NULL)
@@ -1022,28 +1003,28 @@ static void
on_content_add (GabbleJingleSession *sess, LmMessageNode *node,
GError **error)
{
- _foreach_content (sess, node, _each_content_add, error);
+ _foreach_content (sess, node, FALSE, _each_content_add, error);
}
static void
on_content_modify (GabbleJingleSession *sess, LmMessageNode *node,
GError **error)
{
- _foreach_content (sess, node, _each_content_modify, error);
+ _foreach_content (sess, node, TRUE, _each_content_modify, error);
}
static void
on_content_remove (GabbleJingleSession *sess, LmMessageNode *node,
GError **error)
{
- _foreach_content (sess, node, _each_content_remove, error);
+ _foreach_content (sess, node, TRUE, _each_content_remove, error);
}
static void
on_content_replace (GabbleJingleSession *sess, LmMessageNode *node,
GError **error)
{
- _foreach_content (sess, node, _each_content_replace, error);
+ _foreach_content (sess, node, TRUE, _each_content_replace, error);
}
static void
@@ -1053,14 +1034,14 @@ on_content_reject (GabbleJingleSession *sess, LmMessageNode *node,
/* FIXME: reject is different from remove - remove is for
* acknowledged contents, reject is for pending; but the result
* is the same. */
- _foreach_content (sess, node, _each_content_remove, error);
+ _foreach_content (sess, node, TRUE, _each_content_remove, error);
}
static void
on_content_accept (GabbleJingleSession *sess, LmMessageNode *node,
GError **error)
{
- _foreach_content (sess, node, _each_content_accept, error);
+ _foreach_content (sess, node, TRUE, _each_content_accept, error);
}
static void
@@ -1080,7 +1061,7 @@ on_session_accept (GabbleJingleSession *sess, LmMessageNode *node,
}
else
{
- _foreach_content (sess, node, _each_content_accept, error);
+ _foreach_content (sess, node, TRUE, _each_content_accept, error);
}
if (*error != NULL)
@@ -1391,7 +1372,7 @@ static void
on_description_info (GabbleJingleSession *sess, LmMessageNode *node,
GError **error)
{
- _foreach_content (sess, node, _each_description_info, error);
+ _foreach_content (sess, node, TRUE, _each_description_info, error);
}
--
1.5.6.5
More information about the telepathy-commits
mailing list