Add loudmouth-1.0 bindings, patch by Ali Sabil
authorJürg Billeter <j@bitron.ch>
Fri, 20 Jun 2008 18:56:33 +0000 (18:56 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 20 Jun 2008 18:56:33 +0000 (18:56 +0000)
2008-06-20  Jürg Billeter  <j@bitron.ch>

* vapi/Makefile.am:
* vapi/loudmouth-1.0.vapi:
* vapi/packages/loudmouth-1.0/:

Add loudmouth-1.0 bindings, patch by Ali Sabil

svn path=/trunk/; revision=1618

ChangeLog
vapi/Makefile.am
vapi/loudmouth-1.0.vapi [new file with mode: 0644]
vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vala [new file with mode: 0644]
vapi/packages/loudmouth-1.0/loudmouth-1.0.defines [new file with mode: 0644]
vapi/packages/loudmouth-1.0/loudmouth-1.0.files [new file with mode: 0644]
vapi/packages/loudmouth-1.0/loudmouth-1.0.gi [new file with mode: 0644]
vapi/packages/loudmouth-1.0/loudmouth-1.0.metadata [new file with mode: 0644]
vapi/packages/loudmouth-1.0/loudmouth-1.0.namespace [new file with mode: 0644]

index d127ed5..75d7d12 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2008-06-20  Jürg Billeter  <j@bitron.ch>
 
+       * vapi/Makefile.am:
+       * vapi/loudmouth-1.0.vapi:
+       * vapi/packages/loudmouth-1.0/:
+
+       Add loudmouth-1.0 bindings, patch by Ali Sabil
+
+2008-06-20  Jürg Billeter  <j@bitron.ch>
+
        * gobject/valaccodegeneratorsignal.vala:
 
        Fix ref and out signal parameters
index 311c785..7e54c7a 100644 (file)
@@ -104,6 +104,7 @@ dist_vapi_DATA = \
        libwnck-1.0.deps \
        libwnck-1.0.vapi \
        libxml-2.0.vapi \
+       loudmouth-1.0.vapi \
        pango.deps \
        pango.vapi \
        pangocairo.deps \
diff --git a/vapi/loudmouth-1.0.vapi b/vapi/loudmouth-1.0.vapi
new file mode 100644 (file)
index 0000000..3e56d5f
--- /dev/null
@@ -0,0 +1,213 @@
+/* loudmouth-1.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Lm", lower_case_cprefix = "lm_")]
+namespace Lm {
+       [CCode (cprefix = "LM_CERT_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum CertificateStatus {
+               INVALID,
+               ISSUER_NOT_FOUND,
+               REVOKED
+       }
+       [CCode (cprefix = "LM_CONNECTION_STATE_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum ConnectionState {
+               CLOSED,
+               OPENING,
+               OPEN,
+               AUTHENTICATING,
+               AUTHENTICATED
+       }
+       [CCode (cprefix = "LM_DISCONNECT_REASON_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum DisconnectReason {
+               OK,
+               PING_TIME_OUT,
+               HUP,
+               ERROR,
+               RESOURCE_CONFLICT,
+               INVALID_XML,
+               UNKNOWN
+       }
+       [CCode (cprefix = "LM_ERROR_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum Error {
+               CONNECTION_NOT_OPEN,
+               CONNECTION_OPEN,
+               AUTH_FAILED,
+               CONNECTION_FAILED
+       }
+       [CCode (cprefix = "LM_HANDLER_PRIORITY_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum HandlerPriority {
+               LAST,
+               NORMAL,
+               FIRST
+       }
+       [CCode (cprefix = "LM_HANDLER_RESULT_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum HandlerResult {
+               REMOVE_MESSAGE,
+               ALLOW_MORE_HANDLERS
+       }
+       [CCode (cprefix = "LM_MESSAGE_SUB_TYPE_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum MessageSubType {
+               NOT_SET,
+               AVAILABLE,
+               NORMAL,
+               CHAT,
+               GROUPCHAT,
+               HEADLINE,
+               UNAVAILABLE,
+               PROBE,
+               SUBSCRIBE,
+               UNSUBSCRIBE,
+               SUBSCRIBED,
+               UNSUBSCRIBED,
+               GET,
+               SET,
+               RESULT,
+               ERROR
+       }
+       [CCode (cprefix = "LM_MESSAGE_TYPE_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum MessageType {
+               MESSAGE,
+               PRESENCE,
+               IQ,
+               STREAM,
+               STREAM_ERROR,
+               STREAM_FEATURES,
+               AUTH,
+               CHALLENGE,
+               RESPONSE,
+               SUCCESS,
+               FAILURE,
+               PROCEED,
+               STARTTLS,
+               UNKNOWN
+       }
+       [CCode (cprefix = "LM_PROXY_TYPE_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum ProxyType {
+               NONE,
+               HTTP
+       }
+       [CCode (cprefix = "LM_SSL_RESPONSE_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum SSLResponse {
+               CONTINUE,
+               STOP
+       }
+       [CCode (cprefix = "LM_SSL_STATUS_", has_type_id = "0", cheader_filename = "loudmouth/loudmouth.h")]
+       public enum SSLStatus {
+               NO_CERT_FOUND,
+               UNTRUSTED_CERT,
+               CERT_EXPIRED,
+               CERT_NOT_ACTIVATED,
+               CERT_HOSTNAME_MISMATCH,
+               CERT_FINGERPRINT_MISMATCH,
+               GENERIC_ERROR
+       }
+       [Compact]
+       [CCode (ref_function = "lm_connection_ref", unref_function = "lm_connection_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class Connection {
+               public const int DEFAULT_PORT;
+               public const int DEFAULT_PORT_SSL;
+               public Connection (string server);
+               public bool authenticate (string username, string password, string resource, Lm.ResultFunction function, GLib.DestroyNotify? notify) throws GLib.Error;
+               public bool authenticate_and_block (string username, string password, string resource) throws GLib.Error;
+               public void cancel_open ();
+               public bool close () throws GLib.Error;
+               public weak string get_full_jid ();
+               public weak string get_jid ();
+               public string get_local_host ();
+               public uint get_port ();
+               public weak Lm.Proxy get_proxy ();
+               public weak string get_server ();
+               public weak Lm.SSL get_ssl ();
+               public Lm.ConnectionState get_state ();
+               public bool is_authenticated ();
+               public bool is_open ();
+               public Connection.with_context (string server, GLib.MainContext context);
+               public bool open (Lm.ResultFunction function, GLib.DestroyNotify? notify) throws GLib.Error;
+               public bool open_and_block () throws GLib.Error;
+               public void register_message_handler (Lm.MessageHandler handler, Lm.MessageType type, Lm.HandlerPriority priority);
+               public bool send (Lm.Message message) throws GLib.Error;
+               public bool send_raw (string str) throws GLib.Error;
+               public bool send_with_reply (Lm.Message message, Lm.MessageHandler handler) throws GLib.Error;
+               public Lm.Message send_with_reply_and_block (Lm.Message message) throws GLib.Error;
+               public void set_disconnect_function (Lm.DisconnectFunction function, GLib.DestroyNotify? notify);
+               public void set_jid (string jid);
+               public void set_keep_alive_rate (uint rate);
+               public void set_port (uint port);
+               public void set_proxy (Lm.Proxy proxy);
+               public void set_server (string server);
+               public void set_ssl (Lm.SSL ssl);
+               public void unregister_message_handler (Lm.MessageHandler handler, Lm.MessageType type);
+       }
+       [Compact]
+       [CCode (ref_function = "lm_message_ref", unref_function = "lm_message_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class Message {
+               public Lm.MessageNode node;
+               public weak Lm.MessageNode get_node ();
+               public Lm.MessageSubType get_sub_type ();
+               public Message (string to, Lm.MessageType type);
+               public Message.with_sub_type (string? to, Lm.MessageType type, Lm.MessageSubType sub_type);
+       }
+       [Compact]
+       [CCode (ref_function = "lm_message_handler_ref", unref_function = "lm_message_handler_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class MessageHandler {
+               public void invalidate ();
+               public bool is_valid ();
+               public MessageHandler (Lm.HandleMessageFunction function, GLib.DestroyNotify? notify);
+       }
+       [Compact]
+       [CCode (ref_function = "lm_message_node_ref", unref_function = "lm_message_node_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class MessageNode {
+               public string name;
+               public string value;
+               public bool raw_mode;
+               public weak Lm.MessageNode next;
+               public weak Lm.MessageNode prev;
+               public weak Lm.MessageNode parent;
+               public Lm.MessageNode children;
+               public weak Lm.MessageNode add_child (string name, string? value);
+               public weak Lm.MessageNode? find_child (string child_name);
+               public weak string get_attribute (string name);
+               public weak Lm.MessageNode? get_child (string child_name);
+               public bool get_raw_mode ();
+               public weak string get_value ();
+               public void set_attribute (string name, string value);
+               public void set_attributes (string name, ...);
+               public void set_raw_mode (bool raw_mode);
+               public void set_value (string value);
+               public string to_string ();
+       }
+       [Compact]
+       [CCode (ref_function = "lm_proxy_ref", unref_function = "lm_proxy_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class Proxy {
+               public weak string get_password ();
+               public uint get_port ();
+               public weak string get_server ();
+               public weak string get_username ();
+               public Proxy (Lm.ProxyType type);
+               public Proxy.with_server (Lm.ProxyType type, string server, uint port);
+               public void set_password (string password);
+               public void set_port (uint port);
+               public void set_server (string server);
+               public void set_type (Lm.ProxyType type);
+               public void set_username (string username);
+       }
+       [Compact]
+       [CCode (ref_function = "lm_ssl_ref", unref_function = "lm_ssl_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class SSL {
+               public weak string get_fingerprint ();
+               public bool get_require_starttls ();
+               public bool get_use_starttls ();
+               public static bool is_supported ();
+               public SSL (string expected_fingerprint, Lm.SSLFunction ssl_function, GLib.DestroyNotify? notify);
+               public void use_starttls (bool use_starttls, bool require);
+       }
+       [CCode (cheader_filename = "loudmouth/loudmouth.h")]
+       public delegate void DisconnectFunction (Lm.Connection connection, Lm.DisconnectReason reason);
+       [CCode (cheader_filename = "loudmouth/loudmouth.h")]
+       public delegate Lm.HandlerResult HandleMessageFunction (Lm.MessageHandler handler, Lm.Connection connection, Lm.Message message);
+       [CCode (cheader_filename = "loudmouth/loudmouth.h")]
+       public delegate void ResultFunction (Lm.Connection connection, bool success);
+       [CCode (cheader_filename = "loudmouth/loudmouth.h")]
+       public delegate Lm.SSLResponse SSLFunction (Lm.SSL ssl, Lm.SSLStatus status);
+       [CCode (cheader_filename = "loudmouth/loudmouth.h")]
+       public static GLib.Quark error_quark ();
+}
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vala b/vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vala
new file mode 100644 (file)
index 0000000..745c152
--- /dev/null
@@ -0,0 +1,10 @@
+namespace Lm {
+       [Compact]
+       [CCode (ref_function = "lm_connection_ref", unref_function = "lm_connection_unref", cheader_filename = "loudmouth/loudmouth.h")]
+       public class Connection {
+               public const int DEFAULT_PORT;
+               public const int DEFAULT_PORT_SSL;
+               public Connection (string server);
+       }
+
+}
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0.defines b/vapi/packages/loudmouth-1.0/loudmouth-1.0.defines
new file mode 100644 (file)
index 0000000..c958258
--- /dev/null
@@ -0,0 +1 @@
+-DLM_INSIDE_LOUDMOUTH_H
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0.files b/vapi/packages/loudmouth-1.0/loudmouth-1.0.files
new file mode 100644 (file)
index 0000000..956d661
--- /dev/null
@@ -0,0 +1,2 @@
+include/loudmouth-1.0
+lib/libloudmouth-1.so
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0.gi b/vapi/packages/loudmouth-1.0/loudmouth-1.0.gi
new file mode 100644 (file)
index 0000000..6dde91b
--- /dev/null
@@ -0,0 +1,695 @@
+<?xml version="1.0"?>
+<api version="1.0">
+       <namespace name="Lm">
+               <function name="error_quark" symbol="lm_error_quark">
+                       <return-type type="GQuark"/>
+               </function>
+               <function name="utils_get_localtime" symbol="lm_utils_get_localtime">
+                       <return-type type="struct tm*"/>
+                       <parameters>
+                               <parameter name="stamp" type="gchar*"/>
+                       </parameters>
+               </function>
+               <callback name="LmDisconnectFunction">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="connection" type="LmConnection*"/>
+                               <parameter name="reason" type="LmDisconnectReason"/>
+                               <parameter name="user_data" type="gpointer"/>
+                       </parameters>
+               </callback>
+               <callback name="LmHandleMessageFunction">
+                       <return-type type="LmHandlerResult"/>
+                       <parameters>
+                               <parameter name="handler" type="LmMessageHandler*"/>
+                               <parameter name="connection" type="LmConnection*"/>
+                               <parameter name="message" type="LmMessage*"/>
+                               <parameter name="user_data" type="gpointer"/>
+                       </parameters>
+               </callback>
+               <callback name="LmResultFunction">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="connection" type="LmConnection*"/>
+                               <parameter name="success" type="gboolean"/>
+                               <parameter name="user_data" type="gpointer"/>
+                       </parameters>
+               </callback>
+               <callback name="LmSSLFunction">
+                       <return-type type="LmSSLResponse"/>
+                       <parameters>
+                               <parameter name="ssl" type="LmSSL*"/>
+                               <parameter name="status" type="LmSSLStatus"/>
+                               <parameter name="user_data" type="gpointer"/>
+                       </parameters>
+               </callback>
+               <struct name="LmConnection">
+                       <method name="authenticate" symbol="lm_connection_authenticate">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="username" type="gchar*"/>
+                                       <parameter name="password" type="gchar*"/>
+                                       <parameter name="resource" type="gchar*"/>
+                                       <parameter name="function" type="LmResultFunction"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="notify" type="GDestroyNotify"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="authenticate_and_block" symbol="lm_connection_authenticate_and_block">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="username" type="gchar*"/>
+                                       <parameter name="password" type="gchar*"/>
+                                       <parameter name="resource" type="gchar*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="cancel_open" symbol="lm_connection_cancel_open">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="close" symbol="lm_connection_close">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="get_full_jid" symbol="lm_connection_get_full_jid">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_jid" symbol="lm_connection_get_jid">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_local_host" symbol="lm_connection_get_local_host">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_port" symbol="lm_connection_get_port">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_proxy" symbol="lm_connection_get_proxy">
+                               <return-type type="LmProxy*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_server" symbol="lm_connection_get_server">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_ssl" symbol="lm_connection_get_ssl">
+                               <return-type type="LmSSL*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_state" symbol="lm_connection_get_state">
+                               <return-type type="LmConnectionState"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="is_authenticated" symbol="lm_connection_is_authenticated">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="is_open" symbol="lm_connection_is_open">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="new" symbol="lm_connection_new">
+                               <return-type type="LmConnection*"/>
+                               <parameters>
+                                       <parameter name="server" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="new_with_context" symbol="lm_connection_new_with_context">
+                               <return-type type="LmConnection*"/>
+                               <parameters>
+                                       <parameter name="server" type="gchar*"/>
+                                       <parameter name="context" type="GMainContext*"/>
+                               </parameters>
+                       </method>
+                       <method name="open" symbol="lm_connection_open">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="function" type="LmResultFunction"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="notify" type="GDestroyNotify"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="open_and_block" symbol="lm_connection_open_and_block">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="lm_connection_ref">
+                               <return-type type="LmConnection*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="register_message_handler" symbol="lm_connection_register_message_handler">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                                       <parameter name="type" type="LmMessageType"/>
+                                       <parameter name="priority" type="LmHandlerPriority"/>
+                               </parameters>
+                       </method>
+                       <method name="send" symbol="lm_connection_send">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="message" type="LmMessage*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="send_raw" symbol="lm_connection_send_raw">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="str" type="gchar*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="send_with_reply" symbol="lm_connection_send_with_reply">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="message" type="LmMessage*"/>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="send_with_reply_and_block" symbol="lm_connection_send_with_reply_and_block">
+                               <return-type type="LmMessage*"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="message" type="LmMessage*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="set_disconnect_function" symbol="lm_connection_set_disconnect_function">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="function" type="LmDisconnectFunction"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="notify" type="GDestroyNotify"/>
+                               </parameters>
+                       </method>
+                       <method name="set_jid" symbol="lm_connection_set_jid">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="jid" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_keep_alive_rate" symbol="lm_connection_set_keep_alive_rate">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="rate" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="set_port" symbol="lm_connection_set_port">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="port" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="set_proxy" symbol="lm_connection_set_proxy">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_server" symbol="lm_connection_set_server">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="server" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_ssl" symbol="lm_connection_set_ssl">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="lm_connection_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                               </parameters>
+                       </method>
+                       <method name="unregister_message_handler" symbol="lm_connection_unregister_message_handler">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="connection" type="LmConnection*"/>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                                       <parameter name="type" type="LmMessageType"/>
+                               </parameters>
+                       </method>
+               </struct>
+               <struct name="LmMessage">
+                       <method name="get_node" symbol="lm_message_get_node">
+                               <return-type type="LmMessageNode*"/>
+                               <parameters>
+                                       <parameter name="message" type="LmMessage*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_sub_type" symbol="lm_message_get_sub_type">
+                               <return-type type="LmMessageSubType"/>
+                               <parameters>
+                                       <parameter name="message" type="LmMessage*"/>
+                               </parameters>
+                       </method>
+                       <method name="new" symbol="lm_message_new">
+                               <return-type type="LmMessage*"/>
+                               <parameters>
+                                       <parameter name="to" type="gchar*"/>
+                                       <parameter name="type" type="LmMessageType"/>
+                               </parameters>
+                       </method>
+                       <method name="new_with_sub_type" symbol="lm_message_new_with_sub_type">
+                               <return-type type="LmMessage*"/>
+                               <parameters>
+                                       <parameter name="to" type="gchar*"/>
+                                       <parameter name="type" type="LmMessageType"/>
+                                       <parameter name="sub_type" type="LmMessageSubType"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="lm_message_ref">
+                               <return-type type="LmMessage*"/>
+                               <parameters>
+                                       <parameter name="message" type="LmMessage*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="lm_message_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="message" type="LmMessage*"/>
+                               </parameters>
+                       </method>
+                       <field name="node" type="LmMessageNode*"/>
+                       <field name="priv" type="LmMessagePriv*"/>
+               </struct>
+               <struct name="LmMessageHandler">
+                       <method name="invalidate" symbol="lm_message_handler_invalidate">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                               </parameters>
+                       </method>
+                       <method name="is_valid" symbol="lm_message_handler_is_valid">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                               </parameters>
+                       </method>
+                       <method name="new" symbol="lm_message_handler_new">
+                               <return-type type="LmMessageHandler*"/>
+                               <parameters>
+                                       <parameter name="function" type="LmHandleMessageFunction"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="notify" type="GDestroyNotify"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="lm_message_handler_ref">
+                               <return-type type="LmMessageHandler*"/>
+                               <parameters>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="lm_message_handler_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="handler" type="LmMessageHandler*"/>
+                               </parameters>
+                       </method>
+               </struct>
+               <struct name="LmMessageNode">
+                       <method name="add_child" symbol="lm_message_node_add_child">
+                               <return-type type="LmMessageNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="name" type="gchar*"/>
+                                       <parameter name="value" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="find_child" symbol="lm_message_node_find_child">
+                               <return-type type="LmMessageNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="child_name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_attribute" symbol="lm_message_node_get_attribute">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_child" symbol="lm_message_node_get_child">
+                               <return-type type="LmMessageNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="child_name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_raw_mode" symbol="lm_message_node_get_raw_mode">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_value" symbol="lm_message_node_get_value">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="lm_message_node_ref">
+                               <return-type type="LmMessageNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_attribute" symbol="lm_message_node_set_attribute">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="name" type="gchar*"/>
+                                       <parameter name="value" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_attributes" symbol="lm_message_node_set_attributes">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_raw_mode" symbol="lm_message_node_set_raw_mode">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="raw_mode" type="gboolean"/>
+                               </parameters>
+                       </method>
+                       <method name="set_value" symbol="lm_message_node_set_value">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                                       <parameter name="value" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="to_string" symbol="lm_message_node_to_string">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="lm_message_node_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="LmMessageNode*"/>
+                               </parameters>
+                       </method>
+                       <field name="name" type="gchar*"/>
+                       <field name="value" type="gchar*"/>
+                       <field name="raw_mode" type="gboolean"/>
+                       <field name="next" type="LmMessageNode*"/>
+                       <field name="prev" type="LmMessageNode*"/>
+                       <field name="parent" type="LmMessageNode*"/>
+                       <field name="children" type="LmMessageNode*"/>
+                       <field name="attributes" type="GSList*"/>
+                       <field name="ref_count" type="gint"/>
+               </struct>
+               <struct name="LmMessagePriv">
+               </struct>
+               <struct name="LmProxy">
+                       <method name="get_password" symbol="lm_proxy_get_password">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_port" symbol="lm_proxy_get_port">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_server" symbol="lm_proxy_get_server">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_username" symbol="lm_proxy_get_username">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="new" symbol="lm_proxy_new">
+                               <return-type type="LmProxy*"/>
+                               <parameters>
+                                       <parameter name="type" type="LmProxyType"/>
+                               </parameters>
+                       </method>
+                       <method name="new_with_server" symbol="lm_proxy_new_with_server">
+                               <return-type type="LmProxy*"/>
+                               <parameters>
+                                       <parameter name="type" type="LmProxyType"/>
+                                       <parameter name="server" type="gchar*"/>
+                                       <parameter name="port" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="lm_proxy_ref">
+                               <return-type type="LmProxy*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_password" symbol="lm_proxy_set_password">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                                       <parameter name="password" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_port" symbol="lm_proxy_set_port">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                                       <parameter name="port" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="set_server" symbol="lm_proxy_set_server">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                                       <parameter name="server" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_type" symbol="lm_proxy_set_type">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                                       <parameter name="type" type="LmProxyType"/>
+                               </parameters>
+                       </method>
+                       <method name="set_username" symbol="lm_proxy_set_username">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                                       <parameter name="username" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="lm_proxy_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="LmProxy*"/>
+                               </parameters>
+                       </method>
+               </struct>
+               <struct name="LmSSL">
+                       <method name="get_fingerprint" symbol="lm_ssl_get_fingerprint">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_require_starttls" symbol="lm_ssl_get_require_starttls">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_use_starttls" symbol="lm_ssl_get_use_starttls">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                               </parameters>
+                       </method>
+                       <method name="is_supported" symbol="lm_ssl_is_supported">
+                               <return-type type="gboolean"/>
+                       </method>
+                       <method name="new" symbol="lm_ssl_new">
+                               <return-type type="LmSSL*"/>
+                               <parameters>
+                                       <parameter name="expected_fingerprint" type="gchar*"/>
+                                       <parameter name="ssl_function" type="LmSSLFunction"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="notify" type="GDestroyNotify"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="lm_ssl_ref">
+                               <return-type type="LmSSL*"/>
+                               <parameters>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="lm_ssl_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                               </parameters>
+                       </method>
+                       <method name="use_starttls" symbol="lm_ssl_use_starttls">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="ssl" type="LmSSL*"/>
+                                       <parameter name="use_starttls" type="gboolean"/>
+                                       <parameter name="require" type="gboolean"/>
+                               </parameters>
+                       </method>
+               </struct>
+               <enum name="LmCertificateStatus">
+                       <member name="LM_CERT_INVALID" value="0"/>
+                       <member name="LM_CERT_ISSUER_NOT_FOUND" value="1"/>
+                       <member name="LM_CERT_REVOKED" value="2"/>
+               </enum>
+               <enum name="LmConnectionState">
+                       <member name="LM_CONNECTION_STATE_CLOSED" value="0"/>
+                       <member name="LM_CONNECTION_STATE_OPENING" value="1"/>
+                       <member name="LM_CONNECTION_STATE_OPEN" value="2"/>
+                       <member name="LM_CONNECTION_STATE_AUTHENTICATING" value="3"/>
+                       <member name="LM_CONNECTION_STATE_AUTHENTICATED" value="4"/>
+               </enum>
+               <enum name="LmDisconnectReason">
+                       <member name="LM_DISCONNECT_REASON_OK" value="0"/>
+                       <member name="LM_DISCONNECT_REASON_PING_TIME_OUT" value="1"/>
+                       <member name="LM_DISCONNECT_REASON_HUP" value="2"/>
+                       <member name="LM_DISCONNECT_REASON_ERROR" value="3"/>
+                       <member name="LM_DISCONNECT_REASON_RESOURCE_CONFLICT" value="4"/>
+                       <member name="LM_DISCONNECT_REASON_INVALID_XML" value="5"/>
+                       <member name="LM_DISCONNECT_REASON_UNKNOWN" value="6"/>
+               </enum>
+               <enum name="LmError">
+                       <member name="LM_ERROR_CONNECTION_NOT_OPEN" value="0"/>
+                       <member name="LM_ERROR_CONNECTION_OPEN" value="1"/>
+                       <member name="LM_ERROR_AUTH_FAILED" value="2"/>
+                       <member name="LM_ERROR_CONNECTION_FAILED" value="3"/>
+               </enum>
+               <enum name="LmHandlerPriority">
+                       <member name="LM_HANDLER_PRIORITY_LAST" value="1"/>
+                       <member name="LM_HANDLER_PRIORITY_NORMAL" value="2"/>
+                       <member name="LM_HANDLER_PRIORITY_FIRST" value="3"/>
+               </enum>
+               <enum name="LmHandlerResult">
+                       <member name="LM_HANDLER_RESULT_REMOVE_MESSAGE" value="0"/>
+                       <member name="LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS" value="1"/>
+               </enum>
+               <enum name="LmMessageSubType">
+                       <member name="LM_MESSAGE_SUB_TYPE_NOT_SET" value="-10"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_AVAILABLE" value="-1"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_NORMAL" value="0"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_CHAT" value="1"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_GROUPCHAT" value="2"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_HEADLINE" value="3"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_UNAVAILABLE" value="4"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_PROBE" value="5"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_SUBSCRIBE" value="6"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE" value="7"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_SUBSCRIBED" value="8"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED" value="9"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_GET" value="10"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_SET" value="11"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_RESULT" value="12"/>
+                       <member name="LM_MESSAGE_SUB_TYPE_ERROR" value="13"/>
+               </enum>
+               <enum name="LmMessageType">
+                       <member name="LM_MESSAGE_TYPE_MESSAGE" value="0"/>
+                       <member name="LM_MESSAGE_TYPE_PRESENCE" value="1"/>
+                       <member name="LM_MESSAGE_TYPE_IQ" value="2"/>
+                       <member name="LM_MESSAGE_TYPE_STREAM" value="3"/>
+                       <member name="LM_MESSAGE_TYPE_STREAM_ERROR" value="4"/>
+                       <member name="LM_MESSAGE_TYPE_STREAM_FEATURES" value="5"/>
+                       <member name="LM_MESSAGE_TYPE_AUTH" value="6"/>
+                       <member name="LM_MESSAGE_TYPE_CHALLENGE" value="7"/>
+                       <member name="LM_MESSAGE_TYPE_RESPONSE" value="8"/>
+                       <member name="LM_MESSAGE_TYPE_SUCCESS" value="9"/>
+                       <member name="LM_MESSAGE_TYPE_FAILURE" value="10"/>
+                       <member name="LM_MESSAGE_TYPE_PROCEED" value="11"/>
+                       <member name="LM_MESSAGE_TYPE_STARTTLS" value="12"/>
+                       <member name="LM_MESSAGE_TYPE_UNKNOWN" value="13"/>
+               </enum>
+               <enum name="LmProxyType">
+                       <member name="LM_PROXY_TYPE_NONE" value="0"/>
+                       <member name="LM_PROXY_TYPE_HTTP" value="1"/>
+               </enum>
+               <enum name="LmSSLResponse">
+                       <member name="LM_SSL_RESPONSE_CONTINUE" value="0"/>
+                       <member name="LM_SSL_RESPONSE_STOP" value="1"/>
+               </enum>
+               <enum name="LmSSLStatus">
+                       <member name="LM_SSL_STATUS_NO_CERT_FOUND" value="0"/>
+                       <member name="LM_SSL_STATUS_UNTRUSTED_CERT" value="1"/>
+                       <member name="LM_SSL_STATUS_CERT_EXPIRED" value="2"/>
+                       <member name="LM_SSL_STATUS_CERT_NOT_ACTIVATED" value="3"/>
+                       <member name="LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH" value="4"/>
+                       <member name="LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH" value="5"/>
+                       <member name="LM_SSL_STATUS_GENERIC_ERROR" value="6"/>
+               </enum>
+               <constant name="LM_CONNECTION_DEFAULT_PORT" type="int" value="5222"/>
+               <constant name="LM_CONNECTION_DEFAULT_PORT_SSL" type="int" value="5223"/>
+               <constant name="LM_INSIDE_LOUDMOUTH_H" type="int" value="1"/>
+       </namespace>
+</api>
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0.metadata b/vapi/packages/loudmouth-1.0/loudmouth-1.0.metadata
new file mode 100644 (file)
index 0000000..48ee312
--- /dev/null
@@ -0,0 +1,27 @@
+Lm cheader_filename="loudmouth/loudmouth.h"
+LmMessage.priv hidden="1"
+LmMessage.node weak="0"
+LmMessagePriv hidden="1"
+LmMessageNode.name weak="0"
+LmMessageNode.value weak="0"
+LmMessageNode.children weak="0"
+LmMessageNode.attributes hidden="1"
+LmMessageNode.ref_count hidden="1"
+lm_connection_authenticate.notify nullable="1"
+lm_connection_new hidden="1"
+lm_connection_open.notify nullable="1"
+lm_connection_set_disconnect_function.notify nullable="1"
+lm_connection_get_local_host transfer_ownership="1"
+lm_connection_send_with_reply_and_block transfer_ownership="1"
+lm_message_handler_new.notify nullable="1"
+lm_message_node_add_child.value nullable="1"
+lm_message_new_with_sub_type.to nullable="1"
+lm_message_node_find_child nullable="1"
+lm_message_node_get_child nullable="1"
+lm_message_node_set_attributes ellipsis="1"
+lm_message_node_to_string transfer_ownership="1"
+lm_ssl_new.notify nullable="1"
+lm_utils_get_localtime hidden="1"
+LM_CONNECTION_DEFAULT_PORT hidden="1"
+LM_CONNECTION_DEFAULT_PORT_SSL hidden="1"
+LM_INSIDE_LOUDMOUTH_H hidden="1"
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0.namespace b/vapi/packages/loudmouth-1.0/loudmouth-1.0.namespace
new file mode 100644 (file)
index 0000000..9f3324c
--- /dev/null
@@ -0,0 +1 @@
+Lm