[telepathy-gabble/master] Add dialect_defines_action()
Will Thompson
will.thompson at collabora.co.uk
Tue Jun 23 09:36:48 PDT 2009
All the older Jingle dialects define a subset of the actions we support,
which are all supported by modern Jingle.
---
src/jingle-session.c | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/jingle-session.c b/src/jingle-session.c
index ce6b3d8..e654e8d 100644
--- a/src/jingle-session.c
+++ b/src/jingle-session.c
@@ -142,6 +142,32 @@ static JingleAction allowed_actions[MAX_JINGLE_STATES][MAX_ACTIONS_PER_STATE] =
{ JINGLE_ACTION_UNKNOWN }
};
+static gboolean
+dialect_defines_action (JingleDialect d,
+ JingleAction a)
+{
+ if (a == JINGLE_ACTION_UNKNOWN)
+ return FALSE;
+
+ switch (d)
+ {
+ case JINGLE_DIALECT_V032:
+ return TRUE;
+ case JINGLE_DIALECT_V015:
+ return (a != JINGLE_ACTION_DESCRIPTION_INFO);
+ case JINGLE_DIALECT_GTALK4:
+ if (a == JINGLE_ACTION_SESSION_ACCEPT)
+ return TRUE;
+ case JINGLE_DIALECT_GTALK3:
+ return (a == JINGLE_ACTION_SESSION_ACCEPT ||
+ a == JINGLE_ACTION_SESSION_INITIATE ||
+ a == JINGLE_ACTION_SESSION_TERMINATE ||
+ a == JINGLE_ACTION_TRANSPORT_INFO);
+ default:
+ return FALSE;
+ }
+}
+
static void gabble_jingle_session_send_held (GabbleJingleSession *sess);
static void
--
1.5.6.5
More information about the telepathy-commits
mailing list