/soc/2013/ankitkv/gobjectification: aea7e3b20138: Added send_dtm...

Ankit Vani <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: aea7e3b20138e9daa75e1f30dc1629eafafac994
Author:	 Ankit Vani <[email protected]>
Date:	 2015-04-10 13:30 +0530
Branch:	 soc.2013.gobjectification.plugins
URL: https://hg.pidgin.im/soc/2013/ankitkv/gobjectification/rev/aea7e3b20138

Description:

Added send_dtmf to protocol media interface

diffstat:

 libpurple/media/enum-types.c        |  6 +++---
 libpurple/protocol.c                |  7 +++++++
 libpurple/protocol.h                |  9 +++++++++
 libpurple/protocols/jabber/jabber.c |  4 ++++
 4 files changed, 23 insertions(+), 3 deletions(-)

diffs (95 lines):

diff --git a/libpurple/media/enum-types.c b/libpurple/media/enum-types.c
--- a/libpurple/media/enum-types.c
+++ b/libpurple/media/enum-types.c
@@ -142,13 +142,13 @@ purple_media_network_protocol_get_type()
 					"udp" },
 			{ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE,
 					"PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE",
-					"tcp passive" },
+					"tcp-passive" },
 			{ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE,
 					"PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE",
-					"tcp active" },
+					"tcp-active" },
 			{ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO,
 					"PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO",
-					"tcp so" },
+					"tcp-so" },
 			{ 0, NULL, NULL }
 		};
 		type = g_enum_register_static("PurpleMediaNetworkProtocol",
diff --git a/libpurple/protocol.c b/libpurple/protocol.c
--- a/libpurple/protocol.c
+++ b/libpurple/protocol.c
@@ -1018,6 +1018,13 @@ purple_protocol_media_iface_get_caps(Pur
 	DEFINE_PROTOCOL_FUNC_WITH_RETURN(protocol, 0, get_caps, account, who);
 }
 
+gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *protocol,
+		PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration)
+{
+	DEFINE_PROTOCOL_FUNC_WITH_RETURN(protocol, FALSE, send_dtmf, media,
+			dtmf, volume, duration);
+}
+
 #undef DEFINE_PROTOCOL_FUNC_WITH_RETURN
 #undef DEFINE_PROTOCOL_FUNC
 
diff --git a/libpurple/protocol.h b/libpurple/protocol.h
--- a/libpurple/protocol.h
+++ b/libpurple/protocol.h
@@ -659,6 +659,9 @@ typedef struct _PurpleProtocolMediaIface
  *            <sbr/>@account: The account the contact is on.
  *            <sbr/>@who: The remote user to check for media capability with.
  *            <sbr/>Returns: The media caps the contact supports.
+ * @send_dtmf: Sends DTMF codes out-of-band in a protocol-specific way if the
+ *             protocol supports it, or failing that in-band if the media backend
+ *             can do so. See purple_media_send_dtmf().
  *
  * The protocol media interface.
  *
@@ -675,6 +678,9 @@ struct _PurpleProtocolMediaIface
 
 	PurpleMediaCaps (*get_caps)(PurpleAccount *account,
 					  const char *who);
+
+	gboolean (*send_dtmf)(PurpleMedia *media, gchar dtmf,
+				    guint8 volume, guint8 duration);
 };
 
 #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE))
@@ -1149,6 +1155,9 @@ gboolean purple_protocol_media_iface_ini
 PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *,
 		PurpleAccount *account, const char *who);
 
+gboolean purple_protocol_media_iface_send_dtmf(PurpleProtocol *,
+		PurpleMedia *media, gchar dtmf, guint8 volume, guint8 duration);
+
 /**************************************************************************/
 /* Protocol Factory Interface API                                         */
 /**************************************************************************/
diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c
--- a/libpurple/protocols/jabber/jabber.c
+++ b/libpurple/protocols/jabber/jabber.c
@@ -73,9 +73,11 @@
 #include "facebook.h"
 
 #include "jingle/jingle.h"
+#include "jingle/content.h"
 #include "jingle/iceudp.h"
 #include "jingle/rawudp.h"
 #include "jingle/rtp.h"
+#include "jingle/session.h"
 
 #define PING_TIMEOUT 60
 /* Send a whitespace keepalive to the server if we haven't sent
@@ -4315,7 +4317,9 @@ plugin_load(PurplePlugin *plugin, GError
 	jingle_google_p2p_register_type(plugin);
 
 	jingle_content_register_type(plugin);
+#ifdef USE_VV
 	jingle_rtp_register_type(plugin);
+#endif
 
 	jabber_protocol_register_type(plugin);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.