[vala/0.36] purple: Update to 2.12.0



commit 0de7c40bd7c47cc29e33061f3efe5afc3f145a83
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Tue Feb 13 12:32:32 2018 +0100

    purple: Update to 2.12.0

 vapi/packages/purple/purple.defines |    2 +-
 vapi/packages/purple/purple.gi      | 1080 +++++++++++++++++++++++++++++++++--
 vapi/purple.deps                    |    2 +-
 vapi/purple.vapi                    |  345 +++++++++++-
 4 files changed, 1341 insertions(+), 88 deletions(-)
---
diff --git a/vapi/packages/purple/purple.defines b/vapi/packages/purple/purple.defines
index c80e269..1e1210f 100644
--- a/vapi/packages/purple/purple.defines
+++ b/vapi/packages/purple/purple.defines
@@ -1 +1 @@
- -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include  
+-I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include 
-I/usr/include/libxml2 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
diff --git a/vapi/packages/purple/purple.gi b/vapi/packages/purple/purple.gi
index 96ecf5d..0f1883c 100644
--- a/vapi/packages/purple/purple.gi
+++ b/vapi/packages/purple/purple.gi
@@ -355,6 +355,13 @@
                                <parameter name="mode" type="int"/>
                        </parameters>
                </function>
+               <function name="certificates_import" symbol="purple_certificates_import">
+                       <return-type type="GSList*"/>
+                       <parameters>
+                               <parameter name="scheme" type="PurpleCertificateScheme*"/>
+                               <parameter name="filename" type="gchar*"/>
+                       </parameters>
+               </function>
                <function name="ciphers_find_cipher" symbol="purple_ciphers_find_cipher">
                        <return-type type="PurpleCipher*"/>
                        <parameters>
@@ -386,53 +393,21 @@
                                <parameter name="cipher" type="PurpleCipher*"/>
                        </parameters>
                </function>
-               <function name="cmd_do_command" symbol="purple_cmd_do_command">
-                       <return-type type="PurpleCmdStatus"/>
-                       <parameters>
-                               <parameter name="conv" type="PurpleConversation*"/>
-                               <parameter name="cmdline" type="gchar*"/>
-                               <parameter name="markup" type="gchar*"/>
-                               <parameter name="errormsg" type="gchar**"/>
-                       </parameters>
-               </function>
-               <function name="cmd_help" symbol="purple_cmd_help">
-                       <return-type type="GList*"/>
-                       <parameters>
-                               <parameter name="conv" type="PurpleConversation*"/>
-                               <parameter name="cmd" type="gchar*"/>
-                       </parameters>
+               <function name="cmds_get_handle" symbol="purple_cmds_get_handle">
+                       <return-type type="gpointer"/>
                </function>
-               <function name="cmd_list" symbol="purple_cmd_list">
-                       <return-type type="GList*"/>
-                       <parameters>
-                               <parameter name="conv" type="PurpleConversation*"/>
-                       </parameters>
+               <function name="cmds_get_ui_ops" symbol="purple_cmds_get_ui_ops">
+                       <return-type type="PurpleCommandsUiOps*"/>
                </function>
-               <function name="cmd_register" symbol="purple_cmd_register">
-                       <return-type type="PurpleCmdId"/>
-                       <parameters>
-                               <parameter name="cmd" type="gchar*"/>
-                               <parameter name="args" type="gchar*"/>
-                               <parameter name="p" type="PurpleCmdPriority"/>
-                               <parameter name="f" type="PurpleCmdFlag"/>
-                               <parameter name="prpl_id" type="gchar*"/>
-                               <parameter name="func" type="PurpleCmdFunc"/>
-                               <parameter name="helpstr" type="gchar*"/>
-                               <parameter name="data" type="void*"/>
-                       </parameters>
+               <function name="cmds_init" symbol="purple_cmds_init">
+                       <return-type type="void"/>
                </function>
-               <function name="cmd_unregister" symbol="purple_cmd_unregister">
+               <function name="cmds_set_ui_ops" symbol="purple_cmds_set_ui_ops">
                        <return-type type="void"/>
                        <parameters>
-                               <parameter name="id" type="PurpleCmdId"/>
+                               <parameter name="ops" type="PurpleCommandsUiOps*"/>
                        </parameters>
                </function>
-               <function name="cmds_get_handle" symbol="purple_cmds_get_handle">
-                       <return-type type="gpointer"/>
-               </function>
-               <function name="cmds_init" symbol="purple_cmds_init">
-                       <return-type type="void"/>
-               </function>
                <function name="cmds_uninit" symbol="purple_cmds_uninit">
                        <return-type type="void"/>
                </function>
@@ -668,6 +643,16 @@
                                <parameter name="data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="dnsquery_a_account" symbol="purple_dnsquery_a_account">
+                       <return-type type="PurpleDnsQueryData*"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="hostname" type="char*"/>
+                               <parameter name="port" type="int"/>
+                               <parameter name="callback" type="PurpleDnsQueryConnectFunction"/>
+                               <parameter name="data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="dnsquery_destroy" symbol="purple_dnsquery_destroy">
                        <return-type type="void"/>
                        <parameters>
@@ -1096,6 +1081,15 @@
                                <parameter name="return_val" type="void**"/>
                        </parameters>
                </function>
+               <function name="marshal_BOOLEAN__POINTER_BOOLEAN" 
symbol="purple_marshal_BOOLEAN__POINTER_BOOLEAN">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="cb" type="PurpleCallback"/>
+                               <parameter name="args" type="va_list"/>
+                               <parameter name="data" type="void*"/>
+                               <parameter name="return_val" type="void**"/>
+                       </parameters>
+               </function>
                <function name="marshal_BOOLEAN__POINTER_POINTER" 
symbol="purple_marshal_BOOLEAN__POINTER_POINTER">
                        <return-type type="void"/>
                        <parameters>
@@ -1195,6 +1189,15 @@
                                <parameter name="return_val" type="void**"/>
                        </parameters>
                </function>
+               <function name="marshal_INT__POINTER_POINTER_POINTER" 
symbol="purple_marshal_INT__POINTER_POINTER_POINTER">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="cb" type="PurpleCallback"/>
+                               <parameter name="args" type="va_list"/>
+                               <parameter name="data" type="void*"/>
+                               <parameter name="return_val" type="void**"/>
+                       </parameters>
+               </function>
                <function name="marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER" 
symbol="purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER">
                        <return-type type="void"/>
                        <parameters>
@@ -1204,6 +1207,15 @@
                                <parameter name="return_val" type="void**"/>
                        </parameters>
                </function>
+               <function name="marshal_POINTER__POINTER" symbol="purple_marshal_POINTER__POINTER">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="cb" type="PurpleCallback"/>
+                               <parameter name="args" type="va_list"/>
+                               <parameter name="data" type="void*"/>
+                               <parameter name="return_val" type="void**"/>
+                       </parameters>
+               </function>
                <function name="marshal_POINTER__POINTER_INT" symbol="purple_marshal_POINTER__POINTER_INT">
                        <return-type type="void"/>
                        <parameters>
@@ -1423,6 +1435,9 @@
                <function name="network_force_online" symbol="purple_network_force_online">
                        <return-type type="void"/>
                </function>
+               <function name="network_get_all_local_system_ips" 
symbol="purple_network_get_all_local_system_ips">
+                       <return-type type="GList*"/>
+               </function>
                <function name="network_get_handle" symbol="purple_network_get_handle">
                        <return-type type="void*"/>
                </function>
@@ -1480,6 +1495,16 @@
                                <parameter name="listen_data" type="PurpleNetworkListenData*"/>
                        </parameters>
                </function>
+               <function name="network_listen_family" symbol="purple_network_listen_family">
+                       <return-type type="PurpleNetworkListenData*"/>
+                       <parameters>
+                               <parameter name="port" type="unsigned"/>
+                               <parameter name="socket_family" type="int"/>
+                               <parameter name="socket_type" type="int"/>
+                               <parameter name="cb" type="PurpleNetworkListenCallback"/>
+                               <parameter name="cb_data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="network_listen_map_external" symbol="purple_network_listen_map_external">
                        <return-type type="void"/>
                        <parameters>
@@ -1496,6 +1521,17 @@
                                <parameter name="cb_data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="network_listen_range_family" symbol="purple_network_listen_range_family">
+                       <return-type type="PurpleNetworkListenData*"/>
+                       <parameters>
+                               <parameter name="start" type="unsigned"/>
+                               <parameter name="end" type="unsigned"/>
+                               <parameter name="socket_family" type="int"/>
+                               <parameter name="socket_type" type="int"/>
+                               <parameter name="cb" type="PurpleNetworkListenCallback"/>
+                               <parameter name="cb_data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="network_remove_port_mapping" symbol="purple_network_remove_port_mapping">
                        <return-type type="void"/>
                        <parameters>
@@ -1982,6 +2018,9 @@
                                <parameter name="name" type="char*"/>
                        </parameters>
                </function>
+               <function name="prefs_get_ui_ops" symbol="purple_prefs_get_ui_ops">
+                       <return-type type="PurplePrefsUiOps*"/>
+               </function>
                <function name="prefs_init" symbol="purple_prefs_init">
                        <return-type type="void"/>
                </function>
@@ -2057,12 +2096,24 @@
                                <parameter name="value" type="GList*"/>
                        </parameters>
                </function>
+               <function name="prefs_set_ui_ops" symbol="purple_prefs_set_ui_ops">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="ops" type="PurplePrefsUiOps*"/>
+                       </parameters>
+               </function>
                <function name="prefs_trigger_callback" symbol="purple_prefs_trigger_callback">
                        <return-type type="void"/>
                        <parameters>
                                <parameter name="name" type="char*"/>
                        </parameters>
                </function>
+               <function name="prefs_trigger_callback_object" symbol="purple_prefs_trigger_callback_object">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="data" type="PurplePrefCallbackData*"/>
+                       </parameters>
+               </function>
                <function name="prefs_uninit" symbol="purple_prefs_uninit">
                        <return-type type="void"/>
                </function>
@@ -2203,6 +2254,18 @@
                                <parameter name="data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="proxy_connect_socks5_account" symbol="purple_proxy_connect_socks5_account">
+                       <return-type type="PurpleProxyConnectData*"/>
+                       <parameters>
+                               <parameter name="handle" type="void*"/>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="gpi" type="PurpleProxyInfo*"/>
+                               <parameter name="host" type="char*"/>
+                               <parameter name="port" type="int"/>
+                               <parameter name="connect_cb" type="PurpleProxyConnectFunction"/>
+                               <parameter name="data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="proxy_connect_udp" symbol="purple_proxy_connect_udp">
                        <return-type type="PurpleProxyConnectData*"/>
                        <parameters>
@@ -2296,6 +2359,13 @@
                                <parameter name="type_code" type="guint"/>
                        </parameters>
                </function>
+               <function name="prpl_got_media_caps" symbol="purple_prpl_got_media_caps">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="who" type="char*"/>
+                       </parameters>
+               </function>
                <function name="prpl_got_user_idle" symbol="purple_prpl_got_user_idle">
                        <return-type type="void"/>
                        <parameters>
@@ -2383,6 +2453,41 @@
                                <parameter name="actions" type="va_list"/>
                        </parameters>
                </function>
+               <function name="request_action_with_icon" symbol="purple_request_action_with_icon">
+                       <return-type type="void*"/>
+                       <parameters>
+                               <parameter name="handle" type="void*"/>
+                               <parameter name="title" type="char*"/>
+                               <parameter name="primary" type="char*"/>
+                               <parameter name="secondary" type="char*"/>
+                               <parameter name="default_action" type="int"/>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="who" type="char*"/>
+                               <parameter name="conv" type="PurpleConversation*"/>
+                               <parameter name="icon_data" type="gconstpointer"/>
+                               <parameter name="icon_size" type="gsize"/>
+                               <parameter name="user_data" type="void*"/>
+                               <parameter name="action_count" type="size_t"/>
+                       </parameters>
+               </function>
+               <function name="request_action_with_icon_varg" symbol="purple_request_action_with_icon_varg">
+                       <return-type type="void*"/>
+                       <parameters>
+                               <parameter name="handle" type="void*"/>
+                               <parameter name="title" type="char*"/>
+                               <parameter name="primary" type="char*"/>
+                               <parameter name="secondary" type="char*"/>
+                               <parameter name="default_action" type="int"/>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="who" type="char*"/>
+                               <parameter name="conv" type="PurpleConversation*"/>
+                               <parameter name="icon_data" type="gconstpointer"/>
+                               <parameter name="icon_size" type="gsize"/>
+                               <parameter name="user_data" type="void*"/>
+                               <parameter name="action_count" type="size_t"/>
+                               <parameter name="actions" type="va_list"/>
+                       </parameters>
+               </function>
                <function name="request_choice" symbol="purple_request_choice">
                        <return-type type="void*"/>
                        <parameters>
@@ -2941,6 +3046,17 @@
                                <parameter name="marshal_data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="smarshal_VOID__FLAGS_FLAGS" symbol="purple_smarshal_VOID__FLAGS_FLAGS">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="closure" type="GClosure*"/>
+                               <parameter name="return_value" type="GValue*"/>
+                               <parameter name="n_param_values" type="guint"/>
+                               <parameter name="param_values" type="GValue*"/>
+                               <parameter name="invocation_hint" type="gpointer"/>
+                               <parameter name="marshal_data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="smarshal_VOID__POINTER_POINTER_OBJECT" 
symbol="purple_smarshal_VOID__POINTER_POINTER_OBJECT">
                        <return-type type="void"/>
                        <parameters>
@@ -2952,6 +3068,17 @@
                                <parameter name="marshal_data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="smarshal_VOID__POINTER_POINTER_OBJECT_OBJECT" 
symbol="purple_smarshal_VOID__POINTER_POINTER_OBJECT_OBJECT">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="closure" type="GClosure*"/>
+                               <parameter name="return_value" type="GValue*"/>
+                               <parameter name="n_param_values" type="guint"/>
+                               <parameter name="param_values" type="GValue*"/>
+                               <parameter name="invocation_hint" type="gpointer"/>
+                               <parameter name="marshal_data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="smarshal_VOID__STRING_STRING" symbol="purple_smarshal_VOID__STRING_STRING">
                        <return-type type="void"/>
                        <parameters>
@@ -2974,6 +3101,17 @@
                                <parameter name="marshal_data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="smarshal_VOID__STRING_STRING_OBJECT_OBJECT" 
symbol="purple_smarshal_VOID__STRING_STRING_OBJECT_OBJECT">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="closure" type="GClosure*"/>
+                               <parameter name="return_value" type="GValue*"/>
+                               <parameter name="n_param_values" type="guint"/>
+                               <parameter name="param_values" type="GValue*"/>
+                               <parameter name="invocation_hint" type="gpointer"/>
+                               <parameter name="marshal_data" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="smileys_find_by_checksum" symbol="purple_smileys_find_by_checksum">
                        <return-type type="PurpleSmiley*"/>
                        <parameters>
@@ -2998,6 +3136,18 @@
                <function name="smileys_uninit" symbol="purple_smileys_uninit">
                        <return-type type="void"/>
                </function>
+               <function name="socket_get_family" symbol="purple_socket_get_family">
+                       <return-type type="int"/>
+                       <parameters>
+                               <parameter name="fd" type="int"/>
+                       </parameters>
+               </function>
+               <function name="socket_speaks_ipv4" symbol="purple_socket_speaks_ipv4">
+                       <return-type type="gboolean"/>
+                       <parameters>
+                               <parameter name="fd" type="int"/>
+                       </parameters>
+               </function>
                <function name="sound_get_ui_ops" symbol="purple_sound_get_ui_ops">
                        <return-type type="PurpleSoundUiOps*"/>
                </function>
@@ -3033,11 +3183,11 @@
                <function name="srv_cancel" symbol="purple_srv_cancel">
                        <return-type type="void"/>
                        <parameters>
-                               <parameter name="query_data" type="PurpleSrvQueryData*"/>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
                        </parameters>
                </function>
                <function name="srv_resolve" symbol="purple_srv_resolve">
-                       <return-type type="PurpleSrvQueryData*"/>
+                       <return-type type="PurpleSrvTxtQueryData*"/>
                        <parameters>
                                <parameter name="protocol" type="char*"/>
                                <parameter name="transport" type="char*"/>
@@ -3046,6 +3196,44 @@
                                <parameter name="extradata" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="srv_resolve_account" symbol="purple_srv_resolve_account">
+                       <return-type type="PurpleSrvTxtQueryData*"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="protocol" type="char*"/>
+                               <parameter name="transport" type="char*"/>
+                               <parameter name="domain" type="char*"/>
+                               <parameter name="cb" type="PurpleSrvCallback"/>
+                               <parameter name="extradata" type="gpointer"/>
+                       </parameters>
+               </function>
+               <function name="srv_txt_query_destroy" symbol="purple_srv_txt_query_destroy">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
+                       </parameters>
+               </function>
+               <function name="srv_txt_query_get_query" symbol="purple_srv_txt_query_get_query">
+                       <return-type type="char*"/>
+                       <parameters>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
+                       </parameters>
+               </function>
+               <function name="srv_txt_query_get_type" symbol="purple_srv_txt_query_get_type">
+                       <return-type type="int"/>
+                       <parameters>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
+                       </parameters>
+               </function>
+               <function name="srv_txt_query_get_ui_ops" symbol="purple_srv_txt_query_get_ui_ops">
+                       <return-type type="PurpleSrvTxtQueryUiOps*"/>
+               </function>
+               <function name="srv_txt_query_set_ui_ops" symbol="purple_srv_txt_query_set_ui_ops">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="ops" type="PurpleSrvTxtQueryUiOps*"/>
+                       </parameters>
+               </function>
                <function name="ssl_close" symbol="purple_ssl_close">
                        <return-type type="void"/>
                        <parameters>
@@ -3245,7 +3433,7 @@
                <function name="stun_discover" symbol="purple_stun_discover">
                        <return-type type="PurpleStunNatDiscovery*"/>
                        <parameters>
-                               <parameter name="cb" type="StunCallback"/>
+                               <parameter name="cb" type="PurpleStunCallback"/>
                        </parameters>
                </function>
                <function name="stun_init" symbol="purple_stun_init">
@@ -3299,11 +3487,11 @@
                <function name="txt_cancel" symbol="purple_txt_cancel">
                        <return-type type="void"/>
                        <parameters>
-                               <parameter name="query_data" type="PurpleSrvQueryData*"/>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
                        </parameters>
                </function>
                <function name="txt_resolve" symbol="purple_txt_resolve">
-                       <return-type type="PurpleSrvQueryData*"/>
+                       <return-type type="PurpleSrvTxtQueryData*"/>
                        <parameters>
                                <parameter name="owner" type="char*"/>
                                <parameter name="domain" type="char*"/>
@@ -3311,6 +3499,16 @@
                                <parameter name="extradata" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="txt_resolve_account" symbol="purple_txt_resolve_account">
+                       <return-type type="PurpleSrvTxtQueryData*"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="owner" type="char*"/>
+                               <parameter name="domain" type="char*"/>
+                               <parameter name="cb" type="PurpleTxtCallback"/>
+                               <parameter name="extradata" type="gpointer"/>
+                       </parameters>
+               </function>
                <function name="unescape_filename" symbol="purple_unescape_filename">
                        <return-type type="char*"/>
                        <parameters>
@@ -3323,6 +3521,12 @@
                                <parameter name="html" type="char*"/>
                        </parameters>
                </function>
+               <function name="unescape_text" symbol="purple_unescape_text">
+                       <return-type type="char*"/>
+                       <parameters>
+                               <parameter name="text" type="char*"/>
+                       </parameters>
+               </function>
                <function name="upnp_cancel_port_mapping" symbol="purple_upnp_cancel_port_mapping">
                        <return-type type="void"/>
                        <parameters>
@@ -3476,6 +3680,22 @@
                                <parameter name="data" type="gpointer"/>
                        </parameters>
                </function>
+               <function name="util_fetch_url_request_data_len_with_account" 
symbol="purple_util_fetch_url_request_data_len_with_account">
+                       <return-type type="PurpleUtilFetchUrlData*"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="url" type="char*"/>
+                               <parameter name="full" type="gboolean"/>
+                               <parameter name="user_agent" type="char*"/>
+                               <parameter name="http11" type="gboolean"/>
+                               <parameter name="request" type="char*"/>
+                               <parameter name="request_len" type="gsize"/>
+                               <parameter name="include_headers" type="gboolean"/>
+                               <parameter name="max_len" type="gssize"/>
+                               <parameter name="callback" type="PurpleUtilFetchUrlCallback"/>
+                               <parameter name="user_data" type="void*"/>
+                       </parameters>
+               </function>
                <function name="util_fetch_url_request_len" symbol="purple_util_fetch_url_request_len">
                        <return-type type="PurpleUtilFetchUrlData*"/>
                        <parameters>
@@ -3578,6 +3798,9 @@
                                <parameter name="size" type="gssize"/>
                        </parameters>
                </function>
+               <function name="uuid_random" symbol="purple_uuid_random">
+                       <return-type type="gchar*"/>
+               </function>
                <function name="version_check" symbol="purple_version_check">
                        <return-type type="char*"/>
                        <parameters>
@@ -3683,6 +3906,20 @@
                                <parameter name="account" type="PurpleAccount*"/>
                        </parameters>
                </callback>
+               <callback name="PurpleGetPublicAliasFailureCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="error" type="char*"/>
+                       </parameters>
+               </callback>
+               <callback name="PurpleGetPublicAliasSuccessCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="alias" type="char*"/>
+                       </parameters>
+               </callback>
                <callback name="PurpleInfoFieldFormatCallback">
                        <return-type type="char*"/>
                        <parameters>
@@ -3794,6 +4031,20 @@
                                <parameter name="p2" type="char*"/>
                        </parameters>
                </callback>
+               <callback name="PurpleSetPublicAliasFailureCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="error" type="char*"/>
+                       </parameters>
+               </callback>
+               <callback name="PurpleSetPublicAliasSuccessCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="account" type="PurpleAccount*"/>
+                               <parameter name="new_alias" type="char*"/>
+                       </parameters>
+               </callback>
                <callback name="PurpleSignalMarshalFunc">
                        <return-type type="void"/>
                        <parameters>
@@ -3811,6 +4062,20 @@
                                <parameter name="data" type="gpointer"/>
                        </parameters>
                </callback>
+               <callback name="PurpleSrvTxtQueryFailedCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
+                               <parameter name="error_message" type="gchar*"/>
+                       </parameters>
+               </callback>
+               <callback name="PurpleSrvTxtQueryResolvedCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="query_data" type="PurpleSrvTxtQueryData*"/>
+                               <parameter name="records" type="GList*"/>
+                       </parameters>
+               </callback>
                <callback name="PurpleSslErrorFunction">
                        <return-type type="void"/>
                        <parameters>
@@ -3827,6 +4092,12 @@
                                <parameter name="p3" type="PurpleInputCondition"/>
                        </parameters>
                </callback>
+               <callback name="PurpleStunCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="p1" type="PurpleStunNatDiscovery*"/>
+                       </parameters>
+               </callback>
                <callback name="PurpleTxtCallback">
                        <return-type type="void"/>
                        <parameters>
@@ -3851,12 +4122,6 @@
                                <parameter name="error_message" type="gchar*"/>
                        </parameters>
                </callback>
-               <callback name="StunCallback">
-                       <return-type type="void"/>
-                       <parameters>
-                               <parameter name="p1" type="PurpleStunNatDiscovery*"/>
-                       </parameters>
-               </callback>
                <struct name="PurpleAccount">
                        <method name="add_buddies" symbol="purple_account_add_buddies">
                                <return-type type="void"/>
@@ -3865,6 +4130,14 @@
                                        <parameter name="buddies" type="GList*"/>
                                </parameters>
                        </method>
+                       <method name="add_buddies_with_invite" 
symbol="purple_account_add_buddies_with_invite">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="buddies" type="GList*"/>
+                                       <parameter name="message" type="char*"/>
+                               </parameters>
+                       </method>
                        <method name="add_buddy" symbol="purple_account_add_buddy">
                                <return-type type="void"/>
                                <parameters>
@@ -3872,6 +4145,14 @@
                                        <parameter name="buddy" type="PurpleBuddy*"/>
                                </parameters>
                        </method>
+                       <method name="add_buddy_with_invite" symbol="purple_account_add_buddy_with_invite">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="buddy" type="PurpleBuddy*"/>
+                                       <parameter name="message" type="char*"/>
+                               </parameters>
+                       </method>
                        <method name="change_password" symbol="purple_account_change_password">
                                <return-type type="void"/>
                                <parameters>
@@ -3982,6 +4263,12 @@
                                        <parameter name="create" type="gboolean"/>
                                </parameters>
                        </method>
+                       <method name="get_name_for_display" symbol="purple_account_get_name_for_display">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                               </parameters>
+                       </method>
                        <method name="get_password" symbol="purple_account_get_password">
                                <return-type type="char*"/>
                                <parameters>
@@ -3994,6 +4281,12 @@
                                        <parameter name="account" type="PurpleAccount*"/>
                                </parameters>
                        </method>
+                       <method name="get_privacy_type" symbol="purple_account_get_privacy_type">
+                               <return-type type="PurplePrivacyType"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                               </parameters>
+                       </method>
                        <method name="get_protocol_id" symbol="purple_account_get_protocol_id">
                                <return-type type="char*"/>
                                <parameters>
@@ -4012,12 +4305,26 @@
                                        <parameter name="account" type="PurpleAccount*"/>
                                </parameters>
                        </method>
+                       <method name="get_public_alias" symbol="purple_account_get_public_alias">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="success_cb" 
type="PurpleGetPublicAliasSuccessCallback"/>
+                                       <parameter name="failure_cb" 
type="PurpleGetPublicAliasFailureCallback"/>
+                               </parameters>
+                       </method>
                        <method name="get_remember_password" symbol="purple_account_get_remember_password">
                                <return-type type="gboolean"/>
                                <parameters>
                                        <parameter name="account" type="PurpleAccount*"/>
                                </parameters>
                        </method>
+                       <method name="get_silence_suppression" 
symbol="purple_account_get_silence_suppression">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                               </parameters>
+                       </method>
                        <method name="get_status" symbol="purple_account_get_status">
                                <return-type type="PurpleStatus*"/>
                                <parameters>
@@ -4134,6 +4441,15 @@
                                        <parameter name="message" type="char*"/>
                                </parameters>
                        </method>
+                       <method name="prefs_get_ui_ops" symbol="purple_account_prefs_get_ui_ops">
+                               <return-type type="PurpleAccountPrefsUiOps*"/>
+                       </method>
+                       <method name="prefs_set_ui_ops" symbol="purple_account_prefs_set_ui_ops">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="ops" type="PurpleAccountPrefsUiOps*"/>
+                               </parameters>
+                       </method>
                        <method name="register" symbol="purple_account_register">
                                <return-type type="void"/>
                                <parameters>
@@ -4286,6 +4602,13 @@
                                        <parameter name="password" type="char*"/>
                                </parameters>
                        </method>
+                       <method name="set_privacy_type" symbol="purple_account_set_privacy_type">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="privacy_type" type="PurplePrivacyType"/>
+                               </parameters>
+                       </method>
                        <method name="set_protocol_id" symbol="purple_account_set_protocol_id">
                                <return-type type="void"/>
                                <parameters>
@@ -4300,6 +4623,15 @@
                                        <parameter name="info" type="PurpleProxyInfo*"/>
                                </parameters>
                        </method>
+                       <method name="set_public_alias" symbol="purple_account_set_public_alias">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="alias" type="char*"/>
+                                       <parameter name="success_cb" 
type="PurpleSetPublicAliasSuccessCallback"/>
+                                       <parameter name="failure_cb" 
type="PurpleSetPublicAliasFailureCallback"/>
+                               </parameters>
+                       </method>
                        <method name="set_register_callback" symbol="purple_account_set_register_callback">
                                <return-type type="void"/>
                                <parameters>
@@ -4315,6 +4647,13 @@
                                        <parameter name="value" type="gboolean"/>
                                </parameters>
                        </method>
+                       <method name="set_silence_suppression" 
symbol="purple_account_set_silence_suppression">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="value" type="gboolean"/>
+                               </parameters>
+                       </method>
                        <method name="set_status" symbol="purple_account_set_status">
                                <return-type type="void"/>
                                <parameters>
@@ -4570,6 +4909,18 @@
                        <field name="default_value" type="gpointer"/>
                        <field name="masked" type="gboolean"/>
                </struct>
+               <struct name="PurpleAccountPrefsUiOps">
+                       <field name="set_int" type="GCallback"/>
+                       <field name="set_string" type="GCallback"/>
+                       <field name="set_bool" type="GCallback"/>
+                       <field name="load" type="GCallback"/>
+                       <field name="save" type="GCallback"/>
+                       <field name="schedule_save" type="GCallback"/>
+                       <field name="_purple_reserved1" type="GCallback"/>
+                       <field name="_purple_reserved2" type="GCallback"/>
+                       <field name="_purple_reserved3" type="GCallback"/>
+                       <field name="_purple_reserved4" type="GCallback"/>
+               </struct>
                <struct name="PurpleAccountUiOps">
                        <field name="notify_added" type="GCallback"/>
                        <field name="status_changed" type="GCallback"/>
@@ -4918,6 +5269,12 @@
                                        <parameter name="buddy" type="PurpleBuddy*"/>
                                </parameters>
                        </method>
+                       <method name="get_media_caps" symbol="purple_buddy_get_media_caps">
+                               <return-type type="PurpleMediaCaps"/>
+                               <parameters>
+                                       <parameter name="buddy" type="PurpleBuddy*"/>
+                               </parameters>
+                       </method>
                        <method name="get_name" symbol="purple_buddy_get_name">
                                <return-type type="char*"/>
                                <parameters>
@@ -5074,6 +5431,13 @@
                                        <parameter name="icon" type="PurpleBuddyIcon*"/>
                                </parameters>
                        </method>
+                       <method name="set_media_caps" symbol="purple_buddy_set_media_caps">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="buddy" type="PurpleBuddy*"/>
+                                       <parameter name="media_caps" type="PurpleMediaCaps"/>
+                               </parameters>
+                       </method>
                        <method name="set_protocol_data" symbol="purple_buddy_set_protocol_data">
                                <return-type type="void"/>
                                <parameters>
@@ -5089,6 +5453,7 @@
                        <field name="icon" type="PurpleBuddyIcon*"/>
                        <field name="account" type="PurpleAccount*"/>
                        <field name="presence" type="PurplePresence*"/>
+                       <field name="media_caps" type="PurpleMediaCaps"/>
                </struct>
                <struct name="PurpleBuddyIcon">
                        <method name="get_account" symbol="purple_buddy_icon_get_account">
@@ -5215,6 +5580,13 @@
                                        <parameter name="name" type="gchar*"/>
                                </parameters>
                        </method>
+                       <method name="compare_pubkeys" symbol="purple_certificate_compare_pubkeys">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="crt1" type="PurpleCertificate*"/>
+                                       <parameter name="crt2" type="PurpleCertificate*"/>
+                               </parameters>
+                       </method>
                        <method name="copy" symbol="purple_certificate_copy">
                                <return-type type="PurpleCertificate*"/>
                                <parameters>
@@ -5278,6 +5650,13 @@
                                        <parameter name="crt" type="PurpleCertificate*"/>
                                </parameters>
                        </method>
+                       <method name="get_fingerprint_sha256" 
symbol="purple_certificate_get_fingerprint_sha256">
+                               <return-type type="GByteArray*"/>
+                               <parameters>
+                                       <parameter name="crt" type="PurpleCertificate*"/>
+                                       <parameter name="sha1_fallback" type="gboolean"/>
+                               </parameters>
+                       </method>
                        <method name="get_handle" symbol="purple_certificate_get_handle">
                                <return-type type="gpointer"/>
                        </method>
@@ -5483,10 +5862,12 @@
                        <field name="get_subject_name" type="GCallback"/>
                        <field name="check_subject_name" type="GCallback"/>
                        <field name="get_times" type="GCallback"/>
-                       <field name="_purple_reserved1" type="GCallback"/>
-                       <field name="_purple_reserved2" type="GCallback"/>
-                       <field name="_purple_reserved3" type="GCallback"/>
-                       <field name="_purple_reserved4" type="GCallback"/>
+                       <field name="import_certificates" type="GCallback"/>
+                       <field name="register_trusted_tls_cert" type="GCallback"/>
+                       <field name="verify_cert" type="GCallback"/>
+                       <field name="struct_size" type="unsigned"/>
+                       <field name="get_fingerprint_sha256" type="GCallback"/>
+                       <field name="compare_pubkeys" type="GCallback"/>
                </struct>
                <struct name="PurpleCertificateVerificationRequest">
                        <field name="verifier" type="PurpleCertificateVerifier*"/>
@@ -5826,8 +6207,67 @@
                        <field name="inptr" type="gchar*"/>
                        <field name="outptr" type="gchar*"/>
                </struct>
+               <struct name="PurpleCmd">
+                       <method name="do_command" symbol="purple_cmd_do_command">
+                               <return-type type="PurpleCmdStatus"/>
+                               <parameters>
+                                       <parameter name="conv" type="PurpleConversation*"/>
+                                       <parameter name="cmdline" type="gchar*"/>
+                                       <parameter name="markup" type="gchar*"/>
+                                       <parameter name="errormsg" type="gchar**"/>
+                               </parameters>
+                       </method>
+                       <method name="execute" symbol="purple_cmd_execute">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="c" type="PurpleCmd*"/>
+                                       <parameter name="conv" type="PurpleConversation*"/>
+                                       <parameter name="cmdline" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="help" symbol="purple_cmd_help">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="conv" type="PurpleConversation*"/>
+                                       <parameter name="cmd" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="list" symbol="purple_cmd_list">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="conv" type="PurpleConversation*"/>
+                               </parameters>
+                       </method>
+                       <method name="register" symbol="purple_cmd_register">
+                               <return-type type="PurpleCmdId"/>
+                               <parameters>
+                                       <parameter name="cmd" type="gchar*"/>
+                                       <parameter name="args" type="gchar*"/>
+                                       <parameter name="p" type="PurpleCmdPriority"/>
+                                       <parameter name="f" type="PurpleCmdFlag"/>
+                                       <parameter name="prpl_id" type="gchar*"/>
+                                       <parameter name="func" type="PurpleCmdFunc"/>
+                                       <parameter name="helpstr" type="gchar*"/>
+                                       <parameter name="data" type="void*"/>
+                               </parameters>
+                       </method>
+                       <method name="unregister" symbol="purple_cmd_unregister">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="id" type="PurpleCmdId"/>
+                               </parameters>
+                       </method>
+               </struct>
                <struct name="PurpleCmdId">
                </struct>
+               <struct name="PurpleCommandsUiOps">
+                       <field name="register_command" type="GCallback"/>
+                       <field name="unregister_command" type="GCallback"/>
+                       <field name="_purple_reserved1" type="GCallback"/>
+                       <field name="_purple_reserved2" type="GCallback"/>
+                       <field name="_purple_reserved3" type="GCallback"/>
+                       <field name="_purple_reserved4" type="GCallback"/>
+               </struct>
                <struct name="PurpleConnection">
                        <method name="destroy" symbol="purple_connection_destroy">
                                <return-type type="void"/>
@@ -6004,6 +6444,12 @@
                                        <parameter name="contact" type="PurpleContact*"/>
                                </parameters>
                        </method>
+                       <method name="get_group" symbol="purple_contact_get_group">
+                               <return-type type="PurpleGroup*"/>
+                               <parameters>
+                                       <parameter name="contact" type="PurpleContact*"/>
+                               </parameters>
+                       </method>
                        <method name="get_priority_buddy" symbol="purple_contact_get_priority_buddy">
                                <return-type type="PurpleBuddy*"/>
                                <parameters>
@@ -6075,6 +6521,19 @@
                                        <parameter name="name" type="char*"/>
                                </parameters>
                        </method>
+                       <method name="cb_get_attribute" symbol="purple_conv_chat_cb_get_attribute">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="cb" type="PurpleConvChatBuddy*"/>
+                                       <parameter name="key" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="cb_get_attribute_keys" symbol="purple_conv_chat_cb_get_attribute_keys">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="cb" type="PurpleConvChatBuddy*"/>
+                               </parameters>
+                       </method>
                        <method name="cb_get_name" symbol="purple_conv_chat_cb_get_name">
                                <return-type type="char*"/>
                                <parameters>
@@ -6089,6 +6548,24 @@
                                        <parameter name="flags" type="PurpleConvChatBuddyFlags"/>
                                </parameters>
                        </method>
+                       <method name="cb_set_attribute" symbol="purple_conv_chat_cb_set_attribute">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="chat" type="PurpleConvChat*"/>
+                                       <parameter name="cb" type="PurpleConvChatBuddy*"/>
+                                       <parameter name="key" type="char*"/>
+                                       <parameter name="value" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="cb_set_attributes" symbol="purple_conv_chat_cb_set_attributes">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="chat" type="PurpleConvChat*"/>
+                                       <parameter name="cb" type="PurpleConvChatBuddy*"/>
+                                       <parameter name="keys" type="GList*"/>
+                                       <parameter name="values" type="GList*"/>
+                               </parameters>
+                       </method>
                        <method name="clear_users" symbol="purple_conv_chat_clear_users">
                                <return-type type="void"/>
                                <parameters>
@@ -6295,6 +6772,7 @@
                        <field name="id" type="int"/>
                        <field name="nick" type="char*"/>
                        <field name="left" type="gboolean"/>
+                       <field name="users" type="GHashTable*"/>
                </struct>
                <struct name="PurpleConvChatBuddy">
                        <field name="name" type="char*"/>
@@ -6302,6 +6780,8 @@
                        <field name="alias_key" type="char*"/>
                        <field name="buddy" type="gboolean"/>
                        <field name="flags" type="PurpleConvChatBuddyFlags"/>
+                       <field name="attributes" type="GHashTable*"/>
+                       <field name="ui_data" type="gpointer"/>
                </struct>
                <struct name="PurpleConvIm">
                        <method name="get_conversation" symbol="purple_conv_im_get_conversation">
@@ -7139,6 +7619,9 @@
                                        <parameter name="participant" type="gchar*"/>
                                </parameters>
                        </method>
+                       <method name="caps_get_type" symbol="purple_media_caps_get_type">
+                               <return-type type="GType"/>
+                       </method>
                        <method name="codecs_ready" symbol="purple_media_codecs_ready">
                                <return-type type="gboolean"/>
                                <parameters>
@@ -7170,6 +7653,28 @@
                                        <parameter name="media" type="PurpleMedia*"/>
                                </parameters>
                        </method>
+                       <method name="get_active_local_candidates" 
symbol="purple_media_get_active_local_candidates">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_active_remote_candidates" 
symbol="purple_media_get_active_remote_candidates">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_available_params" symbol="purple_media_get_available_params">
+                               <return-type type="gchar**"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                               </parameters>
+                       </method>
                        <method name="get_codecs" symbol="purple_media_get_codecs">
                                <return-type type="GList*"/>
                                <parameters>
@@ -7239,15 +7744,55 @@
                        <method name="network_protocol_get_type" 
symbol="purple_media_network_protocol_get_type">
                                <return-type type="GType"/>
                        </method>
+                       <method name="param_is_supported" symbol="purple_media_param_is_supported">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="param" type="gchar*"/>
+                               </parameters>
+                       </method>
                        <method name="remove_output_windows" symbol="purple_media_remove_output_windows">
                                <return-type type="void"/>
                                <parameters>
                                        <parameter name="media" type="PurpleMedia*"/>
                                </parameters>
                        </method>
+                       <method name="send_dtmf" symbol="purple_media_send_dtmf">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="session_id" type="gchar*"/>
+                                       <parameter name="dtmf" type="gchar"/>
+                                       <parameter name="volume" type="guint8"/>
+                                       <parameter name="duration" type="guint16"/>
+                               </parameters>
+                       </method>
                        <method name="session_type_get_type" symbol="purple_media_session_type_get_type">
                                <return-type type="GType"/>
                        </method>
+                       <method name="set_decryption_parameters" 
symbol="purple_media_set_decryption_parameters">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="cipher" type="gchar*"/>
+                                       <parameter name="auth" type="gchar*"/>
+                                       <parameter name="key" type="gchar*"/>
+                                       <parameter name="key_len" type="gsize"/>
+                               </parameters>
+                       </method>
+                       <method name="set_encryption_parameters" 
symbol="purple_media_set_encryption_parameters">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="cipher" type="gchar*"/>
+                                       <parameter name="auth" type="gchar*"/>
+                                       <parameter name="key" type="gchar*"/>
+                                       <parameter name="key_len" type="gsize"/>
+                               </parameters>
+                       </method>
                        <method name="set_input_volume" symbol="purple_media_set_input_volume">
                                <return-type type="void"/>
                                <parameters>
@@ -7274,6 +7819,14 @@
                                        <parameter name="window_id" type="gulong"/>
                                </parameters>
                        </method>
+                       <method name="set_params" symbol="purple_media_set_params">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="num_params" type="guint"/>
+                                       <parameter name="params" type="GParameter*"/>
+                               </parameters>
+                       </method>
                        <method name="set_prpl_data" symbol="purple_media_set_prpl_data">
                                <return-type type="void"/>
                                <parameters>
@@ -7298,6 +7851,15 @@
                                        <parameter name="codec" type="PurpleMediaCodec*"/>
                                </parameters>
                        </method>
+                       <method name="set_send_rtcp_mux" symbol="purple_media_set_send_rtcp_mux">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="send_rtcp_mux" type="gboolean"/>
+                               </parameters>
+                       </method>
                        <method name="state_changed_get_type" symbol="purple_media_state_changed_get_type">
                                <return-type type="GType"/>
                        </method>
@@ -7312,7 +7874,142 @@
                                </parameters>
                        </method>
                </struct>
+               <struct name="PurpleMediaAppDataCallbacks">
+                       <field name="readable" type="GCallback"/>
+                       <field name="writable" type="GCallback"/>
+               </struct>
+               <struct name="PurpleMediaBackend">
+                       <method name="add_remote_candidates" 
symbol="purple_media_backend_add_remote_candidates">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="remote_candidates" type="GList*"/>
+                               </parameters>
+                       </method>
+                       <method name="add_stream" symbol="purple_media_backend_add_stream">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="who" type="gchar*"/>
+                                       <parameter name="type" type="PurpleMediaSessionType"/>
+                                       <parameter name="initiator" type="gboolean"/>
+                                       <parameter name="transmitter" type="gchar*"/>
+                                       <parameter name="num_params" type="guint"/>
+                                       <parameter name="params" type="GParameter*"/>
+                               </parameters>
+                       </method>
+                       <method name="codecs_ready" symbol="purple_media_backend_codecs_ready">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_available_params" 
symbol="purple_media_backend_get_available_params">
+                               <return-type type="gchar**"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_codecs" symbol="purple_media_backend_get_codecs">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_local_candidates" 
symbol="purple_media_backend_get_local_candidates">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_decryption_parameters" 
symbol="purple_media_backend_set_decryption_parameters">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="cipher" type="gchar*"/>
+                                       <parameter name="auth" type="gchar*"/>
+                                       <parameter name="key" type="gchar*"/>
+                                       <parameter name="key_len" type="gsize"/>
+                               </parameters>
+                       </method>
+                       <method name="set_encryption_parameters" 
symbol="purple_media_backend_set_encryption_parameters">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="cipher" type="gchar*"/>
+                                       <parameter name="auth" type="gchar*"/>
+                                       <parameter name="key" type="gchar*"/>
+                                       <parameter name="key_len" type="gsize"/>
+                               </parameters>
+                       </method>
+                       <method name="set_params" symbol="purple_media_backend_set_params">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="num_params" type="guint"/>
+                                       <parameter name="params" type="GParameter*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_remote_codecs" symbol="purple_media_backend_set_remote_codecs">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="codecs" type="GList*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_send_codec" symbol="purple_media_backend_set_send_codec">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="codec" type="PurpleMediaCodec*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_send_rtcp_mux" symbol="purple_media_backend_set_send_rtcp_mux">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="self" type="PurpleMediaBackend*"/>
+                                       <parameter name="sess_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="send_rtcp_mux" type="gboolean"/>
+                               </parameters>
+                       </method>
+               </struct>
+               <struct name="PurpleMediaBackendIface">
+                       <field name="parent_iface" type="GTypeInterface"/>
+                       <field name="add_stream" type="GCallback"/>
+                       <field name="add_remote_candidates" type="GCallback"/>
+                       <field name="codecs_ready" type="GCallback"/>
+                       <field name="get_codecs" type="GCallback"/>
+                       <field name="get_local_candidates" type="GCallback"/>
+                       <field name="set_remote_codecs" type="GCallback"/>
+                       <field name="set_send_codec" type="GCallback"/>
+                       <field name="set_encryption_parameters" type="GCallback"/>
+                       <field name="set_decryption_parameters" type="GCallback"/>
+                       <field name="set_params" type="GCallback"/>
+                       <field name="get_available_params" type="GCallback"/>
+                       <field name="send_dtmf" type="GCallback"/>
+                       <field name="set_send_rtcp_mux" type="GCallback"/>
+               </struct>
                <struct name="PurpleMediaCandidate">
+                       <method name="copy" symbol="purple_media_candidate_copy">
+                               <return-type type="PurpleMediaCandidate*"/>
+                               <parameters>
+                                       <parameter name="candidate" type="PurpleMediaCandidate*"/>
+                               </parameters>
+                       </method>
                        <method name="get_base_ip" symbol="purple_media_candidate_get_base_ip">
                                <return-type type="gchar*"/>
                                <parameters>
@@ -7421,6 +8118,12 @@
                                        <parameter name="value" type="gchar*"/>
                                </parameters>
                        </method>
+                       <method name="copy" symbol="purple_media_codec_copy">
+                               <return-type type="PurpleMediaCodec*"/>
+                               <parameters>
+                                       <parameter name="codec" type="PurpleMediaCodec*"/>
+                               </parameters>
+                       </method>
                        <method name="get_channels" symbol="purple_media_codec_get_channels">
                                <return-type type="guint"/>
                                <parameters>
@@ -7545,6 +8248,16 @@
                                        <parameter name="participant" type="gchar*"/>
                                </parameters>
                        </method>
+                       <method name="create_private_media" 
symbol="purple_media_manager_create_private_media">
+                               <return-type type="PurpleMedia*"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                                       <parameter name="conference_type" type="char*"/>
+                                       <parameter name="remote_user" type="char*"/>
+                                       <parameter name="initiator" type="gboolean"/>
+                               </parameters>
+                       </method>
                        <method name="get" symbol="purple_media_manager_get">
                                <return-type type="PurpleMediaManager*"/>
                        </method>
@@ -7555,6 +8268,12 @@
                                        <parameter name="type" type="PurpleMediaElementType"/>
                                </parameters>
                        </method>
+                       <method name="get_backend_type" symbol="purple_media_manager_get_backend_type">
+                               <return-type type="GType"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                               </parameters>
+                       </method>
                        <method name="get_element" symbol="purple_media_manager_get_element">
                                <return-type type="GstElement*"/>
                                <parameters>
@@ -7591,12 +8310,43 @@
                                        <parameter name="manager" type="PurpleMediaManager*"/>
                                </parameters>
                        </method>
+                       <method name="get_private_media" symbol="purple_media_manager_get_private_media">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_private_media_by_account" 
symbol="purple_media_manager_get_private_media_by_account">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="account" type="PurpleAccount*"/>
+                               </parameters>
+                       </method>
                        <method name="get_ui_caps" symbol="purple_media_manager_get_ui_caps">
                                <return-type type="PurpleMediaCaps"/>
                                <parameters>
                                        <parameter name="manager" type="PurpleMediaManager*"/>
                                </parameters>
                        </method>
+                       <method name="get_video_caps" symbol="purple_media_manager_get_video_caps">
+                               <return-type type="GstCaps*"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                               </parameters>
+                       </method>
+                       <method name="receive_application_data" 
symbol="purple_media_manager_receive_application_data">
+                               <return-type type="gint"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="session_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="buffer" type="gpointer"/>
+                                       <parameter name="max_size" type="guint"/>
+                                       <parameter name="blocking" type="gboolean"/>
+                               </parameters>
+                       </method>
                        <method name="register_element" symbol="purple_media_manager_register_element">
                                <return-type type="gboolean"/>
                                <parameters>
@@ -7627,6 +8377,18 @@
                                        <parameter name="participant" type="gchar*"/>
                                </parameters>
                        </method>
+                       <method name="send_application_data" 
symbol="purple_media_manager_send_application_data">
+                               <return-type type="gint"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="session_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="buffer" type="gpointer"/>
+                                       <parameter name="size" type="guint"/>
+                                       <parameter name="blocking" type="gboolean"/>
+                               </parameters>
+                       </method>
                        <method name="set_active_element" symbol="purple_media_manager_set_active_element">
                                <return-type type="gboolean"/>
                                <parameters>
@@ -7634,6 +8396,25 @@
                                        <parameter name="info" type="PurpleMediaElementInfo*"/>
                                </parameters>
                        </method>
+                       <method name="set_application_data_callbacks" 
symbol="purple_media_manager_set_application_data_callbacks">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="media" type="PurpleMedia*"/>
+                                       <parameter name="session_id" type="gchar*"/>
+                                       <parameter name="participant" type="gchar*"/>
+                                       <parameter name="callbacks" type="PurpleMediaAppDataCallbacks*"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="notify" type="GDestroyNotify"/>
+                               </parameters>
+                       </method>
+                       <method name="set_backend_type" symbol="purple_media_manager_set_backend_type">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="backend_type" type="GType"/>
+                               </parameters>
+                       </method>
                        <method name="set_output_window" symbol="purple_media_manager_set_output_window">
                                <return-type type="gulong"/>
                                <parameters>
@@ -7651,6 +8432,13 @@
                                        <parameter name="caps" type="PurpleMediaCaps"/>
                                </parameters>
                        </method>
+                       <method name="set_video_caps" symbol="purple_media_manager_set_video_caps">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="manager" type="PurpleMediaManager*"/>
+                                       <parameter name="caps" type="GstCaps*"/>
+                               </parameters>
+                       </method>
                        <method name="unregister_element" symbol="purple_media_manager_unregister_element">
                                <return-type type="gboolean"/>
                                <parameters>
@@ -7803,6 +8591,11 @@
                                </parameters>
                        </method>
                </struct>
+               <struct name="PurpleMood">
+                       <field name="mood" type="char*"/>
+                       <field name="description" type="char*"/>
+                       <field name="padding" type="gpointer*"/>
+               </struct>
                <struct name="PurpleNetworkListenData">
                </struct>
                <struct name="PurpleNotifySearchButton">
@@ -7921,6 +8714,14 @@
                                        <parameter name="value" type="char*"/>
                                </parameters>
                        </method>
+                       <method name="add_pair_plaintext" symbol="purple_notify_user_info_add_pair_plaintext">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="user_info" type="PurpleNotifyUserInfo*"/>
+                                       <parameter name="label" type="char*"/>
+                                       <parameter name="value" type="char*"/>
+                               </parameters>
+                       </method>
                        <method name="add_section_break" symbol="purple_notify_user_info_add_section_break">
                                <return-type type="void"/>
                                <parameters>
@@ -8481,6 +9282,11 @@
                        <field name="get_account_text_table" type="GCallback"/>
                        <field name="initiate_media" type="GCallback"/>
                        <field name="get_media_caps" type="GCallback"/>
+                       <field name="get_moods" type="GCallback"/>
+                       <field name="set_public_alias" type="GCallback"/>
+                       <field name="get_public_alias" type="GCallback"/>
+                       <field name="add_buddy_with_invite" type="GCallback"/>
+                       <field name="add_buddies_with_invite" type="GCallback"/>
                </struct>
                <struct name="PurplePluginUiInfo">
                        <field name="get_plugin_pref_frame" type="GCallback"/>
@@ -8543,6 +9349,12 @@
                                        <parameter name="account" type="PurpleAccount*"/>
                                </parameters>
                        </method>
+                       <method name="destroy_all_by_buddy" symbol="purple_pounce_destroy_all_by_buddy">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="buddy" type="PurpleBuddy*"/>
+                               </parameters>
+                       </method>
                        <method name="execute" symbol="purple_pounce_execute">
                                <return-type type="void"/>
                                <parameters>
@@ -8648,6 +9460,39 @@
                        <field name="save" type="gboolean"/>
                        <field name="data" type="void*"/>
                </struct>
+               <struct name="PurplePrefCallbackData">
+               </struct>
+               <struct name="PurplePrefsUiOps">
+                       <field name="add_none" type="GCallback"/>
+                       <field name="add_bool" type="GCallback"/>
+                       <field name="add_int" type="GCallback"/>
+                       <field name="add_string" type="GCallback"/>
+                       <field name="add_string_list" type="GCallback"/>
+                       <field name="set_bool" type="GCallback"/>
+                       <field name="set_int" type="GCallback"/>
+                       <field name="set_string" type="GCallback"/>
+                       <field name="set_string_list" type="GCallback"/>
+                       <field name="get_bool" type="GCallback"/>
+                       <field name="get_int" type="GCallback"/>
+                       <field name="get_string" type="GCallback"/>
+                       <field name="get_string_list" type="GCallback"/>
+                       <field name="get_type" type="GCallback"/>
+                       <field name="get_children_names" type="GCallback"/>
+                       <field name="exists" type="GCallback"/>
+                       <field name="remove" type="GCallback"/>
+                       <field name="rename" type="GCallback"/>
+                       <field name="rename_boolean_toggle" type="GCallback"/>
+                       <field name="load" type="GCallback"/>
+                       <field name="save" type="GCallback"/>
+                       <field name="schedule_save" type="GCallback"/>
+                       <field name="connect_callback" type="GCallback"/>
+                       <field name="disconnect_callback" type="GCallback"/>
+                       <field name="_purple_reserved1" type="GCallback"/>
+                       <field name="_purple_reserved2" type="GCallback"/>
+                       <field name="_purple_reserved3" type="GCallback"/>
+                       <field name="_purple_reserved4" type="GCallback"/>
+                       <field name="_purple_reserved5" type="GCallback"/>
+               </struct>
                <struct name="PurplePresence">
                        <method name="add_list" symbol="purple_presence_add_list">
                                <return-type type="void"/>
@@ -9191,6 +10036,15 @@
                                        <parameter name="data" type="void*"/>
                                </parameters>
                        </method>
+                       <method name="list_add_icon" symbol="purple_request_field_list_add_icon">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="field" type="PurpleRequestField*"/>
+                                       <parameter name="item" type="char*"/>
+                                       <parameter name="icon_path" type="char*"/>
+                                       <parameter name="data" type="void*"/>
+                               </parameters>
+                       </method>
                        <method name="list_add_selected" symbol="purple_request_field_list_add_selected">
                                <return-type type="void"/>
                                <parameters>
@@ -9211,6 +10065,12 @@
                                        <parameter name="text" type="char*"/>
                                </parameters>
                        </method>
+                       <method name="list_get_icons" symbol="purple_request_field_list_get_icons">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="field" type="PurpleRequestField*"/>
+                               </parameters>
+                       </method>
                        <method name="list_get_items" symbol="purple_request_field_list_get_items">
                                <return-type type="GList*"/>
                                <parameters>
@@ -9517,10 +10377,10 @@
                        <field name="request_file" type="GCallback"/>
                        <field name="close_request" type="GCallback"/>
                        <field name="request_folder" type="GCallback"/>
+                       <field name="request_action_with_icon" type="GCallback"/>
                        <field name="_purple_reserved1" type="GCallback"/>
                        <field name="_purple_reserved2" type="GCallback"/>
                        <field name="_purple_reserved3" type="GCallback"/>
-                       <field name="_purple_reserved4" type="GCallback"/>
                </struct>
                <struct name="PurpleRoomlist">
                        <method name="cancel_get_list" symbol="purple_roomlist_cancel_get_list">
@@ -9994,6 +10854,16 @@
                        <field name="weight" type="int"/>
                        <field name="pref" type="int"/>
                </struct>
+               <struct name="PurpleSrvTxtQueryData">
+               </struct>
+               <struct name="PurpleSrvTxtQueryUiOps">
+                       <field name="resolve" type="GCallback"/>
+                       <field name="destroy" type="GCallback"/>
+                       <field name="_purple_reserved1" type="GCallback"/>
+                       <field name="_purple_reserved2" type="GCallback"/>
+                       <field name="_purple_reserved3" type="GCallback"/>
+                       <field name="_purple_reserved4" type="GCallback"/>
+               </struct>
                <struct name="PurpleSslConnection">
                        <field name="host" type="char*"/>
                        <field name="port" type="int"/>
@@ -10580,6 +11450,8 @@
                <struct name="PurpleThemeManagerClass">
                        <field name="parent_class" type="GObjectClass"/>
                </struct>
+               <struct name="PurpleThumbnailSpec">
+               </struct>
                <struct name="PurpleTxtResponse">
                        <method name="destroy" symbol="purple_txt_response_destroy">
                                <return-type type="void"/>
@@ -10593,6 +11465,7 @@
                                        <parameter name="response" type="PurpleTxtResponse*"/>
                                </parameters>
                        </method>
+                       <field name="content" type="char*"/>
                </struct>
                <struct name="PurpleUtilFetchUrlData">
                </struct>
@@ -11141,6 +12014,19 @@
                                        <parameter name="xfer" type="PurpleXfer*"/>
                                </parameters>
                        </method>
+                       <method name="get_thumbnail" symbol="purple_xfer_get_thumbnail">
+                               <return-type type="gconstpointer"/>
+                               <parameters>
+                                       <parameter name="xfer" type="PurpleXfer*"/>
+                                       <parameter name="len" type="gsize*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_thumbnail_mimetype" symbol="purple_xfer_get_thumbnail_mimetype">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="xfer" type="PurpleXfer*"/>
+                               </parameters>
+                       </method>
                        <method name="get_ui_ops" symbol="purple_xfer_get_ui_ops">
                                <return-type type="PurpleXferUiOps*"/>
                                <parameters>
@@ -11167,6 +12053,13 @@
                                        <parameter name="who" type="char*"/>
                                </parameters>
                        </method>
+                       <method name="prepare_thumbnail" symbol="purple_xfer_prepare_thumbnail">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="xfer" type="PurpleXfer*"/>
+                                       <parameter name="formats" type="gchar*"/>
+                               </parameters>
+                       </method>
                        <method name="prpl_ready" symbol="purple_xfer_prpl_ready">
                                <return-type type="void"/>
                                <parameters>
@@ -11180,6 +12073,14 @@
                                        <parameter name="buffer" type="guchar**"/>
                                </parameters>
                        </method>
+                       <method name="read_file" symbol="purple_xfer_read_file">
+                               <return-type type="gssize"/>
+                               <parameters>
+                                       <parameter name="xfer" type="PurpleXfer*"/>
+                                       <parameter name="buffer" type="guchar*"/>
+                                       <parameter name="size" type="gsize"/>
+                               </parameters>
+                       </method>
                        <method name="ref" symbol="purple_xfer_ref">
                                <return-type type="void"/>
                                <parameters>
@@ -11303,6 +12204,15 @@
                                        <parameter name="fnc" type="GCallback"/>
                                </parameters>
                        </method>
+                       <method name="set_thumbnail" symbol="purple_xfer_set_thumbnail">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="xfer" type="PurpleXfer*"/>
+                                       <parameter name="thumbnail" type="gconstpointer"/>
+                                       <parameter name="size" type="gsize"/>
+                                       <parameter name="mimetype" type="gchar*"/>
+                               </parameters>
+                       </method>
                        <method name="set_write_fnc" symbol="purple_xfer_set_write_fnc">
                                <return-type type="void"/>
                                <parameters>
@@ -11345,6 +12255,14 @@
                                        <parameter name="size" type="gsize"/>
                                </parameters>
                        </method>
+                       <method name="write_file" symbol="purple_xfer_write_file">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="xfer" type="PurpleXfer*"/>
+                                       <parameter name="buffer" type="guchar*"/>
+                                       <parameter name="size" type="gsize"/>
+                               </parameters>
+                       </method>
                        <field name="ref" type="guint"/>
                        <field name="type" type="PurpleXferType"/>
                        <field name="account" type="PurpleAccount*"/>
@@ -11380,7 +12298,7 @@
                        <field name="ui_write" type="GCallback"/>
                        <field name="ui_read" type="GCallback"/>
                        <field name="data_not_sent" type="GCallback"/>
-                       <field name="_purple_reserved1" type="GCallback"/>
+                       <field name="add_thumbnail" type="GCallback"/>
                </struct>
                <struct name="UPnPMappingAddRemove">
                </struct>
@@ -11598,6 +12516,12 @@
                        <field name="prefix" type="char*"/>
                        <field name="namespace_map" type="GHashTable*"/>
                </struct>
+               <enum name="PurpleAccountRequestResponse">
+                       <member name="PURPLE_ACCOUNT_RESPONSE_IGNORE" value="-2"/>
+                       <member name="PURPLE_ACCOUNT_RESPONSE_DENY" value="-1"/>
+                       <member name="PURPLE_ACCOUNT_RESPONSE_PASS" value="0"/>
+                       <member name="PURPLE_ACCOUNT_RESPONSE_ACCEPT" value="1"/>
+               </enum>
                <enum name="PurpleAccountRequestType">
                        <member name="PURPLE_ACCOUNT_REQUEST_AUTHORIZATION" value="0"/>
                </enum>
@@ -11611,6 +12535,21 @@
                        <member name="PURPLE_BLIST_CHAT_NODE" value="3"/>
                        <member name="PURPLE_BLIST_OTHER_NODE" value="4"/>
                </enum>
+               <enum name="PurpleCertificateInvalidityFlags">
+                       <member name="PURPLE_CERTIFICATE_UNKNOWN_ERROR" value="-1"/>
+                       <member name="PURPLE_CERTIFICATE_NO_PROBLEMS" value="0"/>
+                       <member name="PURPLE_CERTIFICATE_NON_FATALS_MASK" value="65535"/>
+                       <member name="PURPLE_CERTIFICATE_SELF_SIGNED" value="1"/>
+                       <member name="PURPLE_CERTIFICATE_CA_UNKNOWN" value="2"/>
+                       <member name="PURPLE_CERTIFICATE_NOT_ACTIVATED" value="4"/>
+                       <member name="PURPLE_CERTIFICATE_EXPIRED" value="8"/>
+                       <member name="PURPLE_CERTIFICATE_NAME_MISMATCH" value="16"/>
+                       <member name="PURPLE_CERTIFICATE_NO_CA_POOL" value="32"/>
+                       <member name="PURPLE_CERTIFICATE_FATALS_MASK" value="-65536"/>
+                       <member name="PURPLE_CERTIFICATE_INVALID_CHAIN" value="65536"/>
+                       <member name="PURPLE_CERTIFICATE_REVOKED" value="131072"/>
+                       <member name="PURPLE_CERTIFICATE_LAST" value="262144"/>
+               </enum>
                <enum name="PurpleCertificateVerificationStatus">
                        <member name="PURPLE_CERTIFICATE_INVALID" value="0"/>
                        <member name="PURPLE_CERTIFICATE_VALID" value="1"/>
@@ -11698,6 +12637,8 @@
                        <member name="PURPLE_CONNECTION_NO_URLDESC" value="64"/>
                        <member name="PURPLE_CONNECTION_NO_IMAGES" value="128"/>
                        <member name="PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY" value="256"/>
+                       <member name="PURPLE_CONNECTION_SUPPORT_MOODS" value="512"/>
+                       <member name="PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES" value="1024"/>
                </enum>
                <enum name="PurpleConnectionState">
                        <member name="PURPLE_DISCONNECTED" value="0"/>
@@ -11711,6 +12652,7 @@
                        <member name="PURPLE_CBFLAGS_OP" value="4"/>
                        <member name="PURPLE_CBFLAGS_FOUNDER" value="8"/>
                        <member name="PURPLE_CBFLAGS_TYPING" value="16"/>
+                       <member name="PURPLE_CBFLAGS_AWAY" value="32"/>
                </enum>
                <enum name="PurpleConvUpdateType">
                        <member name="PURPLE_CONV_UPDATE_ADD" value="0"/>
@@ -11808,6 +12750,7 @@
                        <member name="PURPLE_MEDIA_ELEMENT_UNIQUE" value="256"/>
                        <member name="PURPLE_MEDIA_ELEMENT_SRC" value="512"/>
                        <member name="PURPLE_MEDIA_ELEMENT_SINK" value="1024"/>
+                       <member name="PURPLE_MEDIA_ELEMENT_APPLICATION" value="2048"/>
                </enum>
                <enum name="PurpleMediaInfoType">
                        <member name="PURPLE_MEDIA_INFO_HANGUP" value="0"/>
@@ -11822,7 +12765,9 @@
                </enum>
                <enum name="PurpleMediaNetworkProtocol">
                        <member name="PURPLE_MEDIA_NETWORK_PROTOCOL_UDP" value="0"/>
-                       <member name="PURPLE_MEDIA_NETWORK_PROTOCOL_TCP" value="1"/>
+                       <member name="PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE" value="1"/>
+                       <member name="PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_ACTIVE" value="2"/>
+                       <member name="PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_SO" value="3"/>
                </enum>
                <enum name="PurpleMediaSessionType">
                        <member name="PURPLE_MEDIA_NONE" value="0"/>
@@ -11830,8 +12775,11 @@
                        <member name="PURPLE_MEDIA_SEND_AUDIO" value="2"/>
                        <member name="PURPLE_MEDIA_RECV_VIDEO" value="4"/>
                        <member name="PURPLE_MEDIA_SEND_VIDEO" value="8"/>
+                       <member name="PURPLE_MEDIA_RECV_APPLICATION" value="16"/>
+                       <member name="PURPLE_MEDIA_SEND_APPLICATION" value="32"/>
                        <member name="PURPLE_MEDIA_AUDIO" value="3"/>
                        <member name="PURPLE_MEDIA_VIDEO" value="12"/>
+                       <member name="PURPLE_MEDIA_APPLICATION" value="48"/>
                </enum>
                <enum name="PurpleMediaState">
                        <member name="PURPLE_MEDIA_STATE_NEW" value="0"/>
@@ -11854,6 +12802,7 @@
                        <member name="PURPLE_MESSAGE_NOTIFY" value="8192"/>
                        <member name="PURPLE_MESSAGE_NO_LINKIFY" value="16384"/>
                        <member name="PURPLE_MESSAGE_INVISIBLE" value="32768"/>
+                       <member name="PURPLE_MESSAGE_REMOTE_SEND" value="65536"/>
                </enum>
                <enum name="PurpleNotifyMsgType">
                        <member name="PURPLE_NOTIFY_MSG_ERROR" value="0"/>
@@ -11948,6 +12897,7 @@
                        <member name="OPT_PROTO_USE_POINTSIZE" value="256"/>
                        <member name="OPT_PROTO_REGISTER_NOSCREENNAME" value="512"/>
                        <member name="OPT_PROTO_SLASH_COMMANDS_NATIVE" value="1024"/>
+                       <member name="OPT_PROTO_INVITE_MESSAGE" value="2048"/>
                </enum>
                <enum name="PurpleProxyType">
                        <member name="PURPLE_PROXY_USE_GLOBAL" value="-1"/>
@@ -11956,6 +12906,7 @@
                        <member name="PURPLE_PROXY_SOCKS4" value="2"/>
                        <member name="PURPLE_PROXY_SOCKS5" value="3"/>
                        <member name="PURPLE_PROXY_USE_ENVVAR" value="4"/>
+                       <member name="PURPLE_PROXY_TOR" value="5"/>
                </enum>
                <enum name="PurpleRequestFieldType">
                        <member name="PURPLE_REQUEST_FIELD_NONE" value="0"/>
@@ -11997,7 +12948,8 @@
                        <member name="PURPLE_SOUND_CHAT_SAY" value="8"/>
                        <member name="PURPLE_SOUND_POUNCE_DEFAULT" value="9"/>
                        <member name="PURPLE_SOUND_CHAT_NICK" value="10"/>
-                       <member name="PURPLE_NUM_SOUNDS" value="11"/>
+                       <member name="PURPLE_SOUND_GOT_ATTENTION" value="11"/>
+                       <member name="PURPLE_NUM_SOUNDS" value="12"/>
                </enum>
                <enum name="PurpleSslErrorType">
                        <member name="PURPLE_SSL_HANDSHAKE_FAILED" value="1"/>
@@ -12014,7 +12966,8 @@
                        <member name="PURPLE_STATUS_EXTENDED_AWAY" value="6"/>
                        <member name="PURPLE_STATUS_MOBILE" value="7"/>
                        <member name="PURPLE_STATUS_TUNE" value="8"/>
-                       <member name="PURPLE_STATUS_NUM_PRIMITIVES" value="9"/>
+                       <member name="PURPLE_STATUS_MOOD" value="9"/>
+                       <member name="PURPLE_STATUS_NUM_PRIMITIVES" value="10"/>
                </enum>
                <enum name="PurpleStringFormatType">
                        <member name="PURPLE_STRING_FORMAT_TYPE_NONE" value="0"/>
@@ -12056,6 +13009,7 @@
                        <member name="PURPLE_SUBTYPE_USERINFO" value="17"/>
                        <member name="PURPLE_SUBTYPE_STORED_IMAGE" value="18"/>
                        <member name="PURPLE_SUBTYPE_CERTIFICATEPOOL" value="19"/>
+                       <member name="PURPLE_SUBTYPE_CHATBUDDY" value="20"/>
                </enum>
                <enum name="PurpleType">
                        <member name="PURPLE_TYPE_UNKNOWN" value="0"/>
@@ -12166,8 +13120,10 @@
                <constant name="PURPLE_DESKTOP_ITEM_URL" type="char*" value="URL"/>
                <constant name="PURPLE_DESKTOP_ITEM_VERSION" type="char*" value="Version"/>
                <constant name="PURPLE_MAJOR_VERSION" type="int" value="2"/>
-               <constant name="PURPLE_MICRO_VERSION" type="int" value="6"/>
-               <constant name="PURPLE_MINOR_VERSION" type="int" value="6"/>
+               <constant name="PURPLE_MICRO_VERSION" type="int" value="0"/>
+               <constant name="PURPLE_MINOR_VERSION" type="int" value="12"/>
+               <constant name="PURPLE_MOOD_COMMENT" type="char*" value="moodtext"/>
+               <constant name="PURPLE_MOOD_NAME" type="char*" value="mood"/>
                <constant name="PURPLE_NO_TZ_OFF" type="int" value="-500000"/>
                <constant name="PURPLE_PLUGINS" type="int" value="1"/>
                <constant name="PURPLE_PLUGIN_FLAG_INVISIBLE" type="int" value="1"/>
diff --git a/vapi/purple.deps b/vapi/purple.deps
index 682d120..b8c2298 100644
--- a/vapi/purple.deps
+++ b/vapi/purple.deps
@@ -1,2 +1,2 @@
 dbus-glib-1
-gstreamer-0.10
+gstreamer-1.0
diff --git a/vapi/purple.vapi b/vapi/purple.vapi
index 7a2bff5..f1ed221 100644
--- a/vapi/purple.vapi
+++ b/vapi/purple.vapi
@@ -29,7 +29,9 @@ namespace Purple {
                [CCode (has_construct_function = false)]
                public Account (string username, string protocol_id);
                public void add_buddies (GLib.List buddies);
+               public void add_buddies_with_invite (GLib.List buddies, string message);
                public void add_buddy (Purple.Buddy buddy);
+               public void add_buddy_with_invite (Purple.Buddy buddy, string message);
                public void change_password (string orig_pw, string new_pw);
                public void clear_current_error ();
                public void clear_settings ();
@@ -46,12 +48,16 @@ namespace Purple {
                public bool get_enabled (string ui);
                public int get_int (string name, int default_value);
                public unowned Purple.Log get_log (bool create);
+               public unowned string get_name_for_display ();
                public unowned string get_password ();
                public unowned Purple.Presence get_presence ();
+               public Purple.PrivacyType get_privacy_type ();
                public unowned string get_protocol_id ();
                public unowned string get_protocol_name ();
                public unowned Purple.ProxyInfo get_proxy_info ();
+               public void get_public_alias (Purple.GetPublicAliasSuccessCallback success_cb, 
Purple.GetPublicAliasFailureCallback failure_cb);
                public bool get_remember_password ();
+               public bool get_silence_suppression ();
                public unowned Purple.Status get_status (string status_id);
                public unowned Purple.StatusType get_status_type (string id);
                public unowned Purple.StatusType get_status_type_with_primitive (Purple.StatusPrimitive 
primitive);
@@ -67,6 +73,8 @@ namespace Purple {
                public bool is_disconnected ();
                public bool is_status_active (string status_id);
                public void notify_added (string remote_user, string id, string alias, string message);
+               public static unowned Purple.AccountPrefsUiOps prefs_get_ui_ops ();
+               public static void prefs_set_ui_ops (Purple.AccountPrefsUiOps ops);
                public void register ();
                public void remove_buddies (GLib.List buddies, GLib.List groups);
                public void remove_buddy (Purple.Buddy buddy, Purple.Group group);
@@ -87,10 +95,13 @@ namespace Purple {
                public void set_enabled (string ui, bool value);
                public void set_int (string name, int value);
                public void set_password (string password);
+               public void set_privacy_type (Purple.PrivacyType privacy_type);
                public void set_protocol_id (string protocol_id);
                public void set_proxy_info (Purple.ProxyInfo info);
+               public void set_public_alias (string alias, Purple.SetPublicAliasSuccessCallback success_cb, 
Purple.SetPublicAliasFailureCallback failure_cb);
                public void set_register_callback (Purple.AccountRegistrationCb cb);
                public void set_remember_password (bool value);
+               public void set_silence_suppression (bool value);
                public void set_status (string status_id, bool active);
                public void set_status_list (string status_id, bool active, GLib.List attrs);
                public void set_status_types (GLib.List status_types);
@@ -134,6 +145,16 @@ namespace Purple {
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
+       public class AccountPrefsUiOps {
+               public weak GLib.Callback load;
+               public weak GLib.Callback save;
+               public weak GLib.Callback schedule_save;
+               public weak GLib.Callback set_bool;
+               public weak GLib.Callback set_int;
+               public weak GLib.Callback set_string;
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
        public class AccountUiOps {
                public weak GLib.Callback close_account_request;
                public weak GLib.Callback notify_added;
@@ -228,6 +249,7 @@ namespace Purple {
                public weak Purple.Account account;
                public weak string alias;
                public weak Purple.BuddyIcon icon;
+               public Purple.MediaCaps media_caps;
                public weak string name;
                public weak Purple.BlistNode node;
                public weak Purple.Presence presence;
@@ -244,6 +266,7 @@ namespace Purple {
                public unowned Purple.BuddyIcon get_icon ();
                public unowned string get_local_alias ();
                public unowned string get_local_buddy_alias ();
+               public Purple.MediaCaps get_media_caps ();
                public unowned string get_name ();
                public unowned Purple.Presence get_presence ();
                public void* get_protocol_data ();
@@ -269,6 +292,7 @@ namespace Purple {
                public static void icons_set_for_user (Purple.Account account, string username, void* 
icon_data, size_t icon_len, string checksum);
                public static void icons_uninit ();
                public void set_icon (Purple.BuddyIcon icon);
+               public void set_media_caps (Purple.MediaCaps media_caps);
                public void set_protocol_data (void* data);
        }
        [CCode (cheader_filename = "purple.h", ref_function = "purple_buddy_icon_ref", unref_function = 
"purple_buddy_icon_unref")]
@@ -313,6 +337,7 @@ namespace Purple {
                public static bool check_signature_chain (GLib.List chain);
                public static bool check_signature_chain_with_failing (GLib.List chain, out unowned 
Purple.Certificate failing);
                public bool check_subject_name (string name);
+               public bool compare_pubkeys (Purple.Certificate crt2);
                public unowned Purple.Certificate copy ();
                public static unowned GLib.List copy_list (GLib.List crt_list);
                public static void destroy_list (GLib.List crt_list);
@@ -322,6 +347,7 @@ namespace Purple {
                public static unowned Purple.CertificateScheme find_scheme (string name);
                public static unowned Purple.CertificateVerifier find_verifier (string scheme_name, string 
ver_name);
                public unowned GLib.ByteArray get_fingerprint_sha1 ();
+               public unowned GLib.ByteArray get_fingerprint_sha256 (bool sha1_fallback);
                public static void* get_handle ();
                public unowned string get_issuer_unique_id ();
                public static unowned GLib.List get_pools ();
@@ -370,18 +396,24 @@ namespace Purple {
        [Compact]
        public class CertificateScheme {
                public weak GLib.Callback check_subject_name;
+               public weak GLib.Callback compare_pubkeys;
                public weak GLib.Callback copy_certificate;
                public weak GLib.Callback destroy_certificate;
                public weak GLib.Callback export_certificate;
                public weak string fullname;
                public weak GLib.Callback get_fingerprint_sha1;
+               public weak GLib.Callback get_fingerprint_sha256;
                public weak GLib.Callback get_issuer_unique_id;
                public weak GLib.Callback get_subject_name;
                public weak GLib.Callback get_times;
                public weak GLib.Callback get_unique_id;
                public weak GLib.Callback import_certificate;
+               public weak GLib.Callback import_certificates;
                public weak string name;
+               public weak GLib.Callback register_trusted_tls_cert;
                public weak GLib.Callback signed_by;
+               public uint struct_size;
+               public weak GLib.Callback verify_cert;
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
@@ -491,8 +523,24 @@ namespace Purple {
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
+       public class Cmd {
+               public static Purple.CmdStatus do_command (Purple.Conversation conv, string cmdline, string 
markup, string errormsg);
+               public bool execute (Purple.Conversation conv, string cmdline);
+               public static unowned GLib.List help (Purple.Conversation conv, string cmd);
+               public static unowned GLib.List list (Purple.Conversation conv);
+               public static unowned Purple.CmdId register (string cmd, string args, Purple.CmdPriority p, 
Purple.CmdFlag f, string prpl_id, Purple.CmdFunc func, string helpstr, void* data);
+               public static void unregister (Purple.CmdId id);
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
        public class CmdId {
        }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class CommandsUiOps {
+               public weak GLib.Callback register_command;
+               public weak GLib.Callback unregister_command;
+       }
        [CCode (cheader_filename = "purple.h", free_function = "purple_connection_destroy")]
        [Compact]
        public class Connection {
@@ -561,6 +609,7 @@ namespace Purple {
                [CCode (has_construct_function = false)]
                public Contact ();
                public unowned string get_alias ();
+               public unowned Purple.Group get_group ();
                public unowned Purple.Buddy get_priority_buddy ();
                public void invalidate_priority_buddy ();
                public bool on_account (Purple.Account account);
@@ -575,13 +624,18 @@ namespace Purple {
                public weak GLib.List in_room;
                public weak string nick;
                public weak string topic;
+               public weak GLib.HashTable users;
                public weak string who;
                public void add_user (string user, string extra_msg, Purple.ConvChatBuddyFlags flags, bool 
new_arrival);
                public void add_users (GLib.List users, GLib.List extra_msgs, GLib.List flags, bool 
new_arrivals);
                public static void cb_destroy (Purple.ConvChatBuddy cb);
                public unowned Purple.ConvChatBuddy cb_find (string name);
+               public static unowned string cb_get_attribute (Purple.ConvChatBuddy cb, string key);
+               public static unowned GLib.List cb_get_attribute_keys (Purple.ConvChatBuddy cb);
                public static unowned string cb_get_name (Purple.ConvChatBuddy cb);
                public static unowned Purple.ConvChatBuddy cb_new (string name, string alias, 
Purple.ConvChatBuddyFlags flags);
+               public void cb_set_attribute (Purple.ConvChatBuddy cb, string key, string value);
+               public void cb_set_attributes (Purple.ConvChatBuddy cb, GLib.List keys, GLib.List values);
                public void clear_users ();
                public bool find_user (string user);
                public unowned Purple.Conversation get_conversation ();
@@ -616,9 +670,11 @@ namespace Purple {
        public class ConvChatBuddy {
                public weak string alias;
                public weak string alias_key;
+               public weak GLib.HashTable attributes;
                public bool buddy;
                public Purple.ConvChatBuddyFlags flags;
                public weak string name;
+               public void* ui_data;
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
@@ -896,11 +952,15 @@ namespace Purple {
                public void add_remote_candidates (string sess_id, string participant, GLib.List 
remote_candidates);
                public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool 
initiator, string transmitter, uint num_params, GLib.Parameter @params);
                public bool candidates_prepared (string session_id, string participant);
+               public static GLib.Type caps_get_type ();
                public bool codecs_ready (string sess_id);
                public static GLib.Type element_type_get_type ();
                public void end (string session_id, string participant);
                public void error (string error);
                public unowned Purple.Account get_account ();
+               public unowned GLib.List get_active_local_candidates (string sess_id, string participant);
+               public unowned GLib.List get_active_remote_candidates (string sess_id, string participant);
+               public unowned string get_available_params ();
                public unowned GLib.List get_codecs (string sess_id);
                public unowned GLib.List get_local_candidates (string sess_id, string participant);
                public void* get_manager ();
@@ -912,22 +972,69 @@ namespace Purple {
                public static GLib.Type info_type_get_type ();
                public bool is_initiator (string sess_id, string participant);
                public static GLib.Type network_protocol_get_type ();
+               public bool param_is_supported (string param);
                public void remove_output_windows ();
+               public bool send_dtmf (string session_id, char dtmf, uchar volume, uint16 duration);
                public static GLib.Type session_type_get_type ();
+               public bool set_decryption_parameters (string sess_id, string participant, string cipher, 
string auth, string key, size_t key_len);
+               public bool set_encryption_parameters (string sess_id, string cipher, string auth, string 
key, size_t key_len);
                public void set_input_volume (string session_id, double level);
                public void set_output_volume (string session_id, string participant, double level);
                public ulong set_output_window (string session_id, string participant, ulong window_id);
+               public void set_params (uint num_params, GLib.Parameter @params);
                public void set_prpl_data (void* prpl_data);
                public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
                public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
+               public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
                public static GLib.Type state_changed_get_type ();
                public void stream_info (Purple.MediaInfoType type, string session_id, string participant, 
bool local);
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
+       public class MediaAppDataCallbacks {
+               public weak GLib.Callback readable;
+               public weak GLib.Callback writable;
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class MediaBackend {
+               public void add_remote_candidates (string sess_id, string participant, GLib.List 
remote_candidates);
+               public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool 
initiator, string transmitter, uint num_params, GLib.Parameter @params);
+               public bool codecs_ready (string sess_id);
+               public unowned string get_available_params ();
+               public unowned GLib.List get_codecs (string sess_id);
+               public unowned GLib.List get_local_candidates (string sess_id, string participant);
+               public bool set_decryption_parameters (string sess_id, string participant, string cipher, 
string auth, string key, size_t key_len);
+               public bool set_encryption_parameters (string sess_id, string cipher, string auth, string 
key, size_t key_len);
+               public void set_params (uint num_params, GLib.Parameter @params);
+               public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
+               public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
+               public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class MediaBackendIface {
+               public weak GLib.Callback add_remote_candidates;
+               public weak GLib.Callback add_stream;
+               public weak GLib.Callback codecs_ready;
+               public weak GLib.Callback get_available_params;
+               public weak GLib.Callback get_codecs;
+               public weak GLib.Callback get_local_candidates;
+               public weak GLib.TypeInterface parent_iface;
+               public weak GLib.Callback send_dtmf;
+               public weak GLib.Callback set_decryption_parameters;
+               public weak GLib.Callback set_encryption_parameters;
+               public weak GLib.Callback set_params;
+               public weak GLib.Callback set_remote_codecs;
+               public weak GLib.Callback set_send_codec;
+               public weak GLib.Callback set_send_rtcp_mux;
+       }
+       [CCode (cheader_filename = "purple.h", copy_function = "purple_media_candidate_copy")]
+       [Compact]
        public class MediaCandidate {
                [CCode (has_construct_function = false)]
                public MediaCandidate (string foundation, uint component_id, Purple.MediaCandidateType type, 
Purple.MediaNetworkProtocol proto, string ip, uint port);
+               public unowned Purple.MediaCandidate copy ();
                public unowned string get_base_ip ();
                public uint16 get_base_port ();
                public Purple.MediaCandidateType get_candidate_type ();
@@ -944,12 +1051,13 @@ namespace Purple {
                public static void list_free (GLib.List candidates);
                public static GLib.Type type_get_type ();
        }
-       [CCode (cheader_filename = "purple.h")]
+       [CCode (cheader_filename = "purple.h", copy_function = "purple_media_codec_copy")]
        [Compact]
        public class MediaCodec {
                [CCode (has_construct_function = false)]
                public MediaCodec (int id, string encoding_name, Purple.MediaSessionType media_type, uint 
clock_rate);
                public void add_optional_parameter (string name, string value);
+               public unowned Purple.MediaCodec copy ();
                public uint get_channels ();
                public uint get_clock_rate ();
                public unowned string get_encoding_name ();
@@ -978,21 +1086,31 @@ namespace Purple {
        public class MediaManager {
                public unowned Purple.Media create_media (Purple.Account account, string conference_type, 
string remote_user, bool initiator);
                public bool create_output_window (Purple.Media media, string session_id, string participant);
+               public unowned Purple.Media create_private_media (Purple.Account account, string 
conference_type, string remote_user, bool initiator);
                public static unowned Purple.MediaManager @get ();
                public unowned Purple.MediaElementInfo get_active_element (Purple.MediaElementType type);
+               public GLib.Type get_backend_type ();
                public unowned Gst.Element get_element (Purple.MediaSessionType type, Purple.Media media, 
string session_id, string participant);
                public unowned Purple.MediaElementInfo get_element_info (string name);
                public unowned GLib.List get_media ();
                public unowned GLib.List get_media_by_account (Purple.Account account);
                public unowned Gst.Element get_pipeline ();
+               public unowned GLib.List get_private_media ();
+               public unowned GLib.List get_private_media_by_account (Purple.Account account);
                public Purple.MediaCaps get_ui_caps ();
+               public unowned Gst.Caps get_video_caps ();
+               public int receive_application_data (Purple.Media media, string session_id, string 
participant, void* buffer, uint max_size, bool blocking);
                public bool register_element (Purple.MediaElementInfo info);
                public void remove_media (Purple.Media media);
                public bool remove_output_window (ulong output_window_id);
                public void remove_output_windows (Purple.Media media, string session_id, string participant);
+               public int send_application_data (Purple.Media media, string session_id, string participant, 
void* buffer, uint size, bool blocking);
                public bool set_active_element (Purple.MediaElementInfo info);
+               public void set_application_data_callbacks (Purple.Media media, string session_id, string 
participant, Purple.MediaAppDataCallbacks callbacks, GLib.DestroyNotify notify);
+               public void set_backend_type (GLib.Type backend_type);
                public ulong set_output_window (Purple.Media media, string session_id, string participant, 
ulong window_id);
                public void set_ui_caps (Purple.MediaCaps caps);
+               public void set_video_caps (Gst.Caps caps);
                public bool unregister_element (string name);
        }
        [CCode (cheader_filename = "purple.h")]
@@ -1038,6 +1156,13 @@ namespace Purple {
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
+       public class Mood {
+               public weak string description;
+               public weak string mood;
+               public void* padding;
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
        public class NetworkListenData {
        }
        [CCode (cheader_filename = "purple.h")]
@@ -1099,6 +1224,7 @@ namespace Purple {
                [CCode (has_construct_function = false)]
                public NotifyUserInfo ();
                public void add_pair (string label, string value);
+               public void add_pair_plaintext (string label, string value);
                public void add_section_break ();
                public void add_section_header (string label);
                public unowned GLib.List get_entries ();
@@ -1245,7 +1371,9 @@ namespace Purple {
        [Compact]
        public class PluginProtocolInfo {
                public weak GLib.Callback add_buddies;
+               public weak GLib.Callback add_buddies_with_invite;
                public weak GLib.Callback add_buddy;
+               public weak GLib.Callback add_buddy_with_invite;
                public weak GLib.Callback add_deny;
                public weak GLib.Callback add_permit;
                public weak GLib.Callback alias_buddy;
@@ -1270,6 +1398,8 @@ namespace Purple {
                public weak GLib.Callback get_chat_name;
                public weak GLib.Callback get_info;
                public weak GLib.Callback get_media_caps;
+               public weak GLib.Callback get_moods;
+               public weak GLib.Callback get_public_alias;
                public weak GLib.Callback group_buddy;
                public weak Purple.BuddyIconSpec icon_spec;
                public weak GLib.Callback initiate_media;
@@ -1305,6 +1435,7 @@ namespace Purple {
                public weak GLib.Callback set_idle;
                public weak GLib.Callback set_info;
                public weak GLib.Callback set_permit_deny;
+               public weak GLib.Callback set_public_alias;
                public weak GLib.Callback set_status;
                public weak GLib.Callback status_text;
                public weak GLib.Callback status_types;
@@ -1340,6 +1471,7 @@ namespace Purple {
                public void action_set_attribute (string action, string attr, string value);
                public void action_set_enabled (string action, bool enabled);
                public static void destroy_all_by_account (Purple.Account account);
+               public static void destroy_all_by_buddy (Purple.Buddy buddy);
                public static void execute (Purple.Account pouncer, string pouncee, Purple.PounceEvent 
events);
                public void* get_data ();
                public Purple.PounceEvent get_events ();
@@ -1354,6 +1486,38 @@ namespace Purple {
                public void set_pouncer (Purple.Account pouncer);
                public void set_save (bool save);
        }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class PrefCallbackData {
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class PrefsUiOps {
+               public weak GLib.Callback add_bool;
+               public weak GLib.Callback add_int;
+               public weak GLib.Callback add_none;
+               public weak GLib.Callback add_string;
+               public weak GLib.Callback add_string_list;
+               public weak GLib.Callback connect_callback;
+               public weak GLib.Callback disconnect_callback;
+               public weak GLib.Callback exists;
+               public weak GLib.Callback get_bool;
+               public weak GLib.Callback get_children_names;
+               public weak GLib.Callback get_int;
+               public weak GLib.Callback get_string;
+               public weak GLib.Callback get_string_list;
+               public weak GLib.Callback get_type;
+               public weak GLib.Callback load;
+               public weak GLib.Callback remove;
+               public weak GLib.Callback rename;
+               public weak GLib.Callback rename_boolean_toggle;
+               public weak GLib.Callback save;
+               public weak GLib.Callback schedule_save;
+               public weak GLib.Callback set_bool;
+               public weak GLib.Callback set_int;
+               public weak GLib.Callback set_string;
+               public weak GLib.Callback set_string_list;
+       }
        [CCode (cheader_filename = "purple.h", free_function = "purple_presence_destroy")]
        [Compact]
        public class Presence {
@@ -1475,9 +1639,11 @@ namespace Purple {
                public bool is_visible ();
                public static unowned Purple.RequestField label_new (string id, string text);
                public void list_add (string item, void* data);
+               public void list_add_icon (string item, string icon_path, void* data);
                public void list_add_selected (string item);
                public void list_clear_selected ();
                public void* list_get_data (string text);
+               public unowned GLib.List list_get_icons ();
                public unowned GLib.List list_get_items ();
                public bool list_get_multi_select ();
                public unowned GLib.List list_get_selected ();
@@ -1540,6 +1706,7 @@ namespace Purple {
        public class RequestUiOps {
                public weak GLib.Callback close_request;
                public weak GLib.Callback request_action;
+               public weak GLib.Callback request_action_with_icon;
                public weak GLib.Callback request_choice;
                public weak GLib.Callback request_fields;
                public weak GLib.Callback request_file;
@@ -1738,6 +1905,16 @@ namespace Purple {
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
+       public class SrvTxtQueryData {
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class SrvTxtQueryUiOps {
+               public weak GLib.Callback destroy;
+               public weak GLib.Callback resolve;
+       }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
        public class SslConnection {
                public weak Purple.SslInputFunction connect_cb;
                public void* connect_cb_data;
@@ -1909,9 +2086,14 @@ namespace Purple {
        public class ThemeManagerClass {
                public weak GLib.ObjectClass parent_class;
        }
+       [CCode (cheader_filename = "purple.h")]
+       [Compact]
+       public class ThumbnailSpec {
+       }
        [CCode (cheader_filename = "purple.h", free_function = "purple_txt_response_destroy")]
        [Compact]
        public class TxtResponse {
+               public weak string content;
                public unowned string get_content ();
        }
        [CCode (cheader_filename = "purple.h")]
@@ -2069,11 +2251,15 @@ namespace Purple {
                public size_t get_size ();
                public ulong get_start_time ();
                public Purple.XferStatusType get_status ();
+               public void* get_thumbnail (size_t len);
+               public unowned string get_thumbnail_mimetype ();
                public unowned Purple.XferUiOps get_ui_ops ();
                public bool is_canceled ();
                public bool is_completed ();
+               public void prepare_thumbnail (string formats);
                public void prpl_ready ();
                public ssize_t read (uchar[] buffer);
+               public ssize_t read_file (uchar[] buffer, size_t size);
                public void request ();
                public void request_accepted (string filename);
                public void request_denied ();
@@ -2091,15 +2277,18 @@ namespace Purple {
                public void set_request_denied_fnc (GLib.Callback fnc);
                public void set_size (size_t size);
                public void set_start_fnc (GLib.Callback fnc);
+               public void set_thumbnail (void* thumbnail, size_t size, string mimetype);
                public void set_write_fnc (GLib.Callback fnc);
                public void start (int fd, string ip, uint port);
                public void ui_ready ();
                public void update_progress ();
                public ssize_t write (uchar[] buffer, size_t size);
+               public bool write_file (uchar[] buffer, size_t size);
        }
        [CCode (cheader_filename = "purple.h")]
        [Compact]
        public class XferUiOps {
+               public weak GLib.Callback add_thumbnail;
                public weak GLib.Callback add_xfer;
                public weak GLib.Callback cancel_local;
                public weak GLib.Callback cancel_remote;
@@ -2178,6 +2367,13 @@ namespace Purple {
                [CCode (cname = "xmlnode_to_str")]
                public static unowned string to_str (Purple.xmlnode node, int len);
        }
+       [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_RESPONSE_", has_type_id = false)]
+       public enum AccountRequestResponse {
+               IGNORE,
+               DENY,
+               PASS,
+               ACCEPT
+       }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_REQUEST_", has_type_id = false)]
        public enum AccountRequestType {
                AUTHORIZATION
@@ -2195,6 +2391,22 @@ namespace Purple {
                OTHER_NODE
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
+       public enum CertificateInvalidityFlags {
+               UNKNOWN_ERROR,
+               NO_PROBLEMS,
+               NON_FATALS_MASK,
+               SELF_SIGNED,
+               CA_UNKNOWN,
+               NOT_ACTIVATED,
+               EXPIRED,
+               NAME_MISMATCH,
+               NO_CA_POOL,
+               FATALS_MASK,
+               INVALID_CHAIN,
+               REVOKED,
+               LAST
+       }
+       [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
        public enum CertificateVerificationStatus {
                INVALID,
                VALID
@@ -2289,7 +2501,9 @@ namespace Purple {
                NO_FONTSIZE,
                NO_URLDESC,
                NO_IMAGES,
-               ALLOW_CUSTOM_SMILEY
+               ALLOW_CUSTOM_SMILEY,
+               SUPPORT_MOODS,
+               SUPPORT_MOOD_MESSAGES
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
        public enum ConnectionState {
@@ -2304,7 +2518,8 @@ namespace Purple {
                HALFOP,
                OP,
                FOUNDER,
-               TYPING
+               TYPING,
+               AWAY
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_", has_type_id = false)]
        public enum ConvUpdateType {
@@ -2413,7 +2628,8 @@ namespace Purple {
                REQUEST_SINK,
                UNIQUE,
                SRC,
-               SINK
+               SINK,
+               APPLICATION
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_INFO_", has_type_id = false)]
        public enum MediaInfoType {
@@ -2430,7 +2646,9 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_NETWORK_PROTOCOL_", has_type_id = 
false)]
        public enum MediaNetworkProtocol {
                UDP,
-               TCP
+               TCP_PASSIVE,
+               TCP_ACTIVE,
+               TCP_SO
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_", has_type_id = false)]
        public enum MediaSessionType {
@@ -2439,8 +2657,11 @@ namespace Purple {
                SEND_AUDIO,
                RECV_VIDEO,
                SEND_VIDEO,
+               RECV_APPLICATION,
+               SEND_APPLICATION,
                AUDIO,
-               VIDEO
+               VIDEO,
+               APPLICATION
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_STATE_", has_type_id = false)]
        public enum MediaState {
@@ -2464,7 +2685,8 @@ namespace Purple {
                IMAGES,
                NOTIFY,
                NO_LINKIFY,
-               INVISIBLE
+               INVISIBLE,
+               REMOTE_SEND
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_MSG_", has_type_id = false)]
        public enum NotifyMsgType {
@@ -2571,7 +2793,8 @@ namespace Purple {
                PASSWORD_OPTIONAL,
                USE_POINTSIZE,
                REGISTER_NOSCREENNAME,
-               SLASH_COMMANDS_NATIVE
+               SLASH_COMMANDS_NATIVE,
+               INVITE_MESSAGE
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PROXY_", has_type_id = false)]
        public enum ProxyType {
@@ -2580,7 +2803,8 @@ namespace Purple {
                HTTP,
                SOCKS4,
                SOCKS5,
-               USE_ENVVAR
+               USE_ENVVAR,
+               TOR
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_FIELD_", has_type_id = false)]
        public enum RequestFieldType {
@@ -2627,6 +2851,7 @@ namespace Purple {
                SOUND_CHAT_SAY,
                SOUND_POUNCE_DEFAULT,
                SOUND_CHAT_NICK,
+               SOUND_GOT_ATTENTION,
                NUM_SOUNDS
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SSL_", has_type_id = false)]
@@ -2646,6 +2871,7 @@ namespace Purple {
                EXTENDED_AWAY,
                MOBILE,
                TUNE,
+               MOOD,
                NUM_PRIMITIVES
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STRING_FORMAT_TYPE_", has_type_id = false)]
@@ -2691,7 +2917,8 @@ namespace Purple {
                XMLNODE,
                USERINFO,
                STORED_IMAGE,
-               CERTIFICATEPOOL
+               CERTIFICATEPOOL,
+               CHATBUDDY
        }
        [CCode (cheader_filename = "purple.h", cprefix = "PURPLE_TYPE_", has_type_id = false)]
        public enum Type {
@@ -2763,6 +2990,10 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate bool FilterAccountFunc (Purple.Account account);
        [CCode (cheader_filename = "purple.h", has_target = false)]
+       public delegate void GetPublicAliasFailureCallback (Purple.Account account, string error);
+       [CCode (cheader_filename = "purple.h", has_target = false)]
+       public delegate void GetPublicAliasSuccessCallback (Purple.Account account, string alias);
+       [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate unowned string InfoFieldFormatCallback (string field, size_t len);
        [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate void InputFunction (void* p1, int p2, Purple.InputCondition p3);
@@ -2795,10 +3026,18 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate void RequestInputCb (void* p1, string p2);
        [CCode (cheader_filename = "purple.h", has_target = false)]
+       public delegate void SetPublicAliasFailureCallback (Purple.Account account, string error);
+       [CCode (cheader_filename = "purple.h", has_target = false)]
+       public delegate void SetPublicAliasSuccessCallback (Purple.Account account, string new_alias);
+       [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate void SignalMarshalFunc (Purple.Callback cb, void* args, void* data, void* return_val);
        [CCode (cheader_filename = "purple.h")]
        public delegate void SrvCallback (Purple.SrvResponse resp, int results);
        [CCode (cheader_filename = "purple.h", has_target = false)]
+       public delegate void SrvTxtQueryFailedCallback (Purple.SrvTxtQueryData query_data, string 
error_message);
+       [CCode (cheader_filename = "purple.h", has_target = false)]
+       public delegate void SrvTxtQueryResolvedCallback (Purple.SrvTxtQueryData query_data, GLib.List 
records);
+       [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate void SslErrorFunction (Purple.SslConnection p1, Purple.SslErrorType p2, void* p3);
        [CCode (cheader_filename = "purple.h", has_target = false)]
        public delegate void SslInputFunction (void* p1, Purple.SslConnection p2, Purple.InputCondition p3);
@@ -2945,6 +3184,10 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public const int MINOR_VERSION;
        [CCode (cheader_filename = "purple.h")]
+       public const string MOOD_COMMENT;
+       [CCode (cheader_filename = "purple.h")]
+       public const string MOOD_NAME;
+       [CCode (cheader_filename = "purple.h")]
        public const int NO_TZ_OFF;
        [CCode (cheader_filename = "purple.h")]
        public const int PLUGINS;
@@ -3115,6 +3358,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static int build_dir (string path, int mode);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned GLib.SList certificates_import (Purple.CertificateScheme scheme, string 
filename);
+       [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.Cipher ciphers_find_cipher (string name);
        [CCode (cheader_filename = "purple.h")]
        public static unowned GLib.List ciphers_get_ciphers ();
@@ -3129,20 +3374,14 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static bool ciphers_unregister_cipher (Purple.Cipher cipher);
        [CCode (cheader_filename = "purple.h")]
-       public static Purple.CmdStatus cmd_do_command (Purple.Conversation conv, string cmdline, string 
markup, string errormsg);
-       [CCode (cheader_filename = "purple.h")]
-       public static unowned GLib.List cmd_help (Purple.Conversation conv, string cmd);
-       [CCode (cheader_filename = "purple.h")]
-       public static unowned GLib.List cmd_list (Purple.Conversation conv);
-       [CCode (cheader_filename = "purple.h")]
-       public static unowned Purple.CmdId cmd_register (string cmd, string args, Purple.CmdPriority p, 
Purple.CmdFlag f, string prpl_id, Purple.CmdFunc func, string helpstr, void* data);
-       [CCode (cheader_filename = "purple.h")]
-       public static void cmd_unregister (Purple.CmdId id);
-       [CCode (cheader_filename = "purple.h")]
        public static void* cmds_get_handle ();
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.CommandsUiOps cmds_get_ui_ops ();
+       [CCode (cheader_filename = "purple.h")]
        public static void cmds_init ();
        [CCode (cheader_filename = "purple.h")]
+       public static void cmds_set_ui_ops (Purple.CommandsUiOps ops);
+       [CCode (cheader_filename = "purple.h")]
        public static void cmds_uninit ();
        [CCode (cheader_filename = "purple.h")]
        public static void connections_disconnect_all ();
@@ -3217,6 +3456,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.DnsQueryData dnsquery_a (string hostname, int port, 
Purple.DnsQueryConnectFunction callback, void* data);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.DnsQueryData dnsquery_a_account (Purple.Account account, string 
hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
+       [CCode (cheader_filename = "purple.h")]
        public static void dnsquery_destroy (Purple.DnsQueryData query_data);
        [CCode (cheader_filename = "purple.h")]
        public static unowned string dnsquery_get_host (Purple.DnsQueryData query_data);
@@ -3363,6 +3604,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void marshal_BOOLEAN__POINTER (Purple.Callback cb, void* args, void* data, void* 
return_val);
        [CCode (cheader_filename = "purple.h")]
+       public static void marshal_BOOLEAN__POINTER_BOOLEAN (Purple.Callback cb, void* args, void* data, 
void* return_val);
+       [CCode (cheader_filename = "purple.h")]
        public static void marshal_BOOLEAN__POINTER_POINTER (Purple.Callback cb, void* args, void* data, 
void* return_val);
        [CCode (cheader_filename = "purple.h")]
        public static void marshal_BOOLEAN__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* 
data, void* return_val);
@@ -3385,8 +3628,12 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void marshal_INT__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* 
return_val);
        [CCode (cheader_filename = "purple.h")]
+       public static void marshal_INT__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, 
void* return_val);
+       [CCode (cheader_filename = "purple.h")]
        public static void marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* 
args, void* data, void* return_val);
        [CCode (cheader_filename = "purple.h")]
+       public static void marshal_POINTER__POINTER (Purple.Callback cb, void* args, void* data, void* 
return_val);
+       [CCode (cheader_filename = "purple.h")]
        public static void marshal_POINTER__POINTER_INT (Purple.Callback cb, void* args, void* data, void* 
return_val);
        [CCode (cheader_filename = "purple.h")]
        public static void marshal_POINTER__POINTER_INT64 (Purple.Callback cb, void* args, void* data, void* 
return_val);
@@ -3439,6 +3686,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void network_force_online ();
        [CCode (cheader_filename = "purple.h")]
+       public static unowned GLib.List network_get_all_local_system_ips ();
+       [CCode (cheader_filename = "purple.h")]
        public static void* network_get_handle ();
        [CCode (cheader_filename = "purple.h")]
        public static unowned string network_get_local_system_ip (int fd);
@@ -3463,10 +3712,14 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void network_listen_cancel (Purple.NetworkListenData listen_data);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.NetworkListenData network_listen_family (uint port, int socket_family, 
int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
+       [CCode (cheader_filename = "purple.h")]
        public static void network_listen_map_external (bool map_external);
        [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.NetworkListenData network_listen_range (uint start, uint end, int 
socket_type, Purple.NetworkListenCallback cb, void* cb_data);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.NetworkListenData network_listen_range_family (uint start, uint end, int 
socket_family, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
+       [CCode (cheader_filename = "purple.h")]
        public static void network_remove_port_mapping (int fd);
        [CCode (cheader_filename = "purple.h")]
        public static void network_set_public_ip (string ip);
@@ -3631,6 +3884,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static Purple.PrefType prefs_get_type (string name);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.PrefsUiOps prefs_get_ui_ops ();
+       [CCode (cheader_filename = "purple.h")]
        public static void prefs_init ();
        [CCode (cheader_filename = "purple.h")]
        public static bool prefs_load ();
@@ -3655,8 +3910,12 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void prefs_set_string_list (string name, GLib.List value);
        [CCode (cheader_filename = "purple.h")]
+       public static void prefs_set_ui_ops (Purple.PrefsUiOps ops);
+       [CCode (cheader_filename = "purple.h")]
        public static void prefs_trigger_callback (string name);
        [CCode (cheader_filename = "purple.h")]
+       public static void prefs_trigger_callback_object (Purple.PrefCallbackData data);
+       [CCode (cheader_filename = "purple.h")]
        public static void prefs_uninit ();
        [CCode (cheader_filename = "purple.h")]
        public static void prefs_update_old ();
@@ -3699,6 +3958,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.ProxyConnectData proxy_connect_socks5 (void* handle, Purple.ProxyInfo 
gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.ProxyConnectData proxy_connect_socks5_account (void* handle, 
Purple.Account account, Purple.ProxyInfo gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, 
void* data);
+       [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.ProxyConnectData proxy_connect_udp (void* handle, Purple.Account 
account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
        [CCode (cheader_filename = "purple.h")]
        public static void* proxy_get_handle ();
@@ -3727,6 +3988,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void prpl_got_attention_in_chat (Purple.Connection gc, int id, string who, uint 
type_code);
        [CCode (cheader_filename = "purple.h")]
+       public static void prpl_got_media_caps (Purple.Account account, string who);
+       [CCode (cheader_filename = "purple.h")]
        public static void prpl_got_user_idle (Purple.Account account, string name, bool idle, ulong 
idle_time);
        [CCode (cheader_filename = "purple.h")]
        public static void prpl_got_user_login_time (Purple.Account account, string name, ulong login_time);
@@ -3745,6 +4008,10 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void* request_action_varg (void* handle, string title, string primary, string 
secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, size_t 
action_count, void* actions);
        [CCode (cheader_filename = "purple.h")]
+       public static void* request_action_with_icon (void* handle, string title, string primary, string 
secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, void* icon_data, 
size_t icon_size, size_t action_count);
+       [CCode (cheader_filename = "purple.h")]
+       public static void* request_action_with_icon_varg (void* handle, string title, string primary, string 
secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, void* icon_data, 
size_t icon_size, size_t action_count, void* actions);
+       [CCode (cheader_filename = "purple.h")]
        public static void* request_choice (void* handle, string title, string primary, string secondary, int 
default_value, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, 
Purple.Account account, string who, Purple.Conversation conv);
        [CCode (cheader_filename = "purple.h")]
        public static void* request_choice_varg (void* handle, string title, string primary, string 
secondary, int default_value, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback 
cancel_cb, Purple.Account account, string who, Purple.Conversation conv, void* choices);
@@ -3883,12 +4150,18 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void smarshal_VOID__ENUM_STRING_STRING_BOOLEAN (GLib.Closure closure, GLib.Value 
return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
        [CCode (cheader_filename = "purple.h")]
+       public static void smarshal_VOID__FLAGS_FLAGS (GLib.Closure closure, GLib.Value return_value, uint 
n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+       [CCode (cheader_filename = "purple.h")]
        public static void smarshal_VOID__POINTER_POINTER_OBJECT (GLib.Closure closure, GLib.Value 
return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
        [CCode (cheader_filename = "purple.h")]
+       public static void smarshal_VOID__POINTER_POINTER_OBJECT_OBJECT (GLib.Closure closure, GLib.Value 
return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+       [CCode (cheader_filename = "purple.h")]
        public static void smarshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint 
n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
        [CCode (cheader_filename = "purple.h")]
        public static void smarshal_VOID__STRING_STRING_DOUBLE (GLib.Closure closure, GLib.Value 
return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
        [CCode (cheader_filename = "purple.h")]
+       public static void smarshal_VOID__STRING_STRING_OBJECT_OBJECT (GLib.Closure closure, GLib.Value 
return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+       [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.Smiley smileys_find_by_checksum (string checksum);
        [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.Smiley smileys_find_by_shortcut (string shortcut);
@@ -3901,6 +4174,10 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void smileys_uninit ();
        [CCode (cheader_filename = "purple.h")]
+       public static int socket_get_family (int fd);
+       [CCode (cheader_filename = "purple.h")]
+       public static bool socket_speaks_ipv4 (int fd);
+       [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.SoundUiOps sound_get_ui_ops ();
        [CCode (cheader_filename = "purple.h")]
        public static void sound_init ();
@@ -3915,9 +4192,21 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static void* sounds_get_handle ();
        [CCode (cheader_filename = "purple.h")]
-       public static void srv_cancel (Purple.SrvQueryData query_data);
+       public static void srv_cancel (Purple.SrvTxtQueryData query_data);
+       [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.SrvTxtQueryData srv_resolve (string protocol, string transport, string 
domain, Purple.SrvCallback cb, void* extradata);
+       [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.SrvTxtQueryData srv_resolve_account (Purple.Account account, string 
protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
+       [CCode (cheader_filename = "purple.h")]
+       public static void srv_txt_query_destroy (Purple.SrvTxtQueryData query_data);
+       [CCode (cheader_filename = "purple.h")]
+       public static unowned string srv_txt_query_get_query (Purple.SrvTxtQueryData query_data);
        [CCode (cheader_filename = "purple.h")]
-       public static unowned Purple.SrvQueryData srv_resolve (string protocol, string transport, string 
domain, Purple.SrvCallback cb, void* extradata);
+       public static int srv_txt_query_get_type (Purple.SrvTxtQueryData query_data);
+       [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.SrvTxtQueryUiOps srv_txt_query_get_ui_ops ();
+       [CCode (cheader_filename = "purple.h")]
+       public static void srv_txt_query_set_ui_ops (Purple.SrvTxtQueryUiOps ops);
        [CCode (cheader_filename = "purple.h")]
        public static void ssl_close (Purple.SslConnection gsc);
        [CCode (cheader_filename = "purple.h")]
@@ -3991,14 +4280,18 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static bool timeout_remove (uint handle);
        [CCode (cheader_filename = "purple.h")]
-       public static void txt_cancel (Purple.SrvQueryData query_data);
+       public static void txt_cancel (Purple.SrvTxtQueryData query_data);
+       [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.SrvTxtQueryData txt_resolve (string owner, string domain, 
Purple.TxtCallback cb, void* extradata);
        [CCode (cheader_filename = "purple.h")]
-       public static unowned Purple.SrvQueryData txt_resolve (string owner, string domain, 
Purple.TxtCallback cb, void* extradata);
+       public static unowned Purple.SrvTxtQueryData txt_resolve_account (Purple.Account account, string 
owner, string domain, Purple.TxtCallback cb, void* extradata);
        [CCode (cheader_filename = "purple.h")]
        public static unowned string unescape_filename (string str);
        [CCode (cheader_filename = "purple.h")]
        public static unowned string unescape_html (string html);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned string unescape_text (string text);
+       [CCode (cheader_filename = "purple.h")]
        public static void upnp_cancel_port_mapping (Purple.UPnPMappingAddRemove mapping_data);
        [CCode (cheader_filename = "purple.h")]
        public static void upnp_discover (Purple.UPnPCallback cb, void* cb_data);
@@ -4045,6 +4338,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.UtilFetchUrlData util_fetch_url_request (string url, bool full, string 
user_agent, bool http11, string request, bool include_headers, Purple.UtilFetchUrlCallback callback, void* 
data);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned Purple.UtilFetchUrlData util_fetch_url_request_data_len_with_account 
(Purple.Account account, string url, bool full, string user_agent, bool http11, string request, size_t 
request_len, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback);
+       [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.UtilFetchUrlData util_fetch_url_request_len (string url, bool full, 
string user_agent, bool http11, string request, bool include_headers, ssize_t max_len, 
Purple.UtilFetchUrlCallback callback, void* data);
        [CCode (cheader_filename = "purple.h")]
        public static unowned Purple.UtilFetchUrlData util_fetch_url_request_len_with_account (Purple.Account 
account, string url, bool full, string user_agent, bool http11, string request, bool include_headers, ssize_t 
max_len, Purple.UtilFetchUrlCallback callback, void* data);
@@ -4071,6 +4366,8 @@ namespace Purple {
        [CCode (cheader_filename = "purple.h")]
        public static bool util_write_data_to_file_absolute (string filename_full, string data, ssize_t size);
        [CCode (cheader_filename = "purple.h")]
+       public static unowned string uuid_random ();
+       [CCode (cheader_filename = "purple.h")]
        public static unowned string version_check (uint required_major, uint required_minor, uint 
required_micro);
        [CCode (cheader_filename = "purple.h")]
        public static unowned GLib.List xfers_get_all ();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]