Author: ArcRiley Date: 2008-12-31 23:36:12 -0500 (Wed, 31 Dec 2008) New Revision: 1397
Modified: trunk/pysoy/include/lm.pxd Log: Ticket #971 : * added lm-message lm-message-handler and lm-message-node Modified: trunk/pysoy/include/lm.pxd =================================================================== --- trunk/pysoy/include/lm.pxd 2009-01-01 01:27:57 UTC (rev 1396) +++ trunk/pysoy/include/lm.pxd 2009-01-01 04:36:12 UTC (rev 1397) @@ -20,27 +20,48 @@ cimport g cdef extern from "loudmouth/loudmouth.h" nogil : + ############################################################################# + # + # private structs + # + ctypedef struct LmConnection : + void* none -# These remain to be imported: -#include <loudmouth/lm-message.h> -#include <loudmouth/lm-message-handler.h> -#include <loudmouth/lm-message-node.h> -#include <loudmouth/lm-proxy.h> -#include <loudmouth/lm-utils.h> -#include <loudmouth/lm-ssl.h> + ctypedef struct LmMessageHandler : + void* none + ctypedef struct LmMessagePriv : + void* none + # + ############################################################################# + # + # public structs + # + ctypedef struct LmMessage : + LmMessageNode* node + LmMessagePriv* priv - -#define LM_CONNECTION(o) (LmConnection *) o; -#define LM_CONNECTION_DEFAULT_PORT 5222 -#define LM_CONNECTION_DEFAULT_PORT_SSL 5223 - typedef struct _LmConnection LmConnection; - typedef struct LmMessageHandler LmMessageHandler; + ctypedef struct LmMessageNode : + g.gchar* name + g.gchar* value + g.gboolean raw_mode + LmMessageNode* next + LmMessageNode* prev + LmMessageNode* parent + LmMessageNode* children + # + # private : + void* attributes + int ref_count # ############################################################################# # # enums # + ctypedef enum : + LM_CONNECTION_DEFAULT_PORT + LM_CONNECTION_DEFAULT_PORT_SSL + ctypedef enum LmHandlerResult : LM_HANDLER_RESULT_REMOVE_MESSAGE LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS @@ -71,87 +92,172 @@ LM_ERROR_CONNECTION_OPEN LM_ERROR_AUTH_FAILED LM_ERROR_CONNECTION_FAILED + + ctypedef enum LmMessageType : + LM_MESSAGE_TYPE_MESSAGE + LM_MESSAGE_TYPE_PRESENCE + LM_MESSAGE_TYPE_IQ + LM_MESSAGE_TYPE_STREAM + LM_MESSAGE_TYPE_STREAM_ERROR + LM_MESSAGE_TYPE_STREAM_FEATURES + LM_MESSAGE_TYPE_AUTH + LM_MESSAGE_TYPE_CHALLENGE + LM_MESSAGE_TYPE_RESPONSE + LM_MESSAGE_TYPE_SUCCESS + LM_MESSAGE_TYPE_FAILURE + LM_MESSAGE_TYPE_PROCEED + LM_MESSAGE_TYPE_STARTTLS + LM_MESSAGE_TYPE_UNKNOWN + + ctypedef enum LmMessageSubType : + LM_MESSAGE_SUB_TYPE_NOT_SET + LM_MESSAGE_SUB_TYPE_AVAILABLE + LM_MESSAGE_SUB_TYPE_NORMAL + LM_MESSAGE_SUB_TYPE_CHAT + LM_MESSAGE_SUB_TYPE_GROUPCHAT + LM_MESSAGE_SUB_TYPE_HEADLINE + LM_MESSAGE_SUB_TYPE_UNAVAILABLE + LM_MESSAGE_SUB_TYPE_PROBE + LM_MESSAGE_SUB_TYPE_SUBSCRIBE + LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE + LM_MESSAGE_SUB_TYPE_SUBSCRIBED + LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED + LM_MESSAGE_SUB_TYPE_GET + LM_MESSAGE_SUB_TYPE_SET + LM_MESSAGE_SUB_TYPE_RESULT + LM_MESSAGE_SUB_TYPE_ERROR # ############################################################################# # # callbacks # - typedef void (* LmResultFunction) ( LmConnection*, g.gboolean, + ctypedef void (* LmResultFunction) ( LmConnection*, g.gboolean, g.gpointer ) - typedef void (* LmDisconnectFunction) ( LmConnection*, + ctypedef void (* LmDisconnectFunction) ( LmConnection*, LmDisconnectReason, g.gpointer ) + ctypedef LmHandlerResult ( *LmHandleMessageFunction ) ( LmMessageHandler*, + LmConnection*, + LmMessage*, + g.gpointer ) # ############################################################################# # # cdef functions # cdef : - LmConnection* lm_connection_new ( g.gchar* ) - LmConnection* lm_connection_new_with_context( g.gchar*, g.GMainContext* ) - g.gboolean lm_connection_open ( LmConnection*, + LmConnection* lm_connection_new ( g.gchar* ) + LmConnection* lm_connection_new_with_context ( + g.gchar*, g.GMainContext* ) + g.gboolean lm_connection_open ( LmConnection*, LmResultFunction, g.gpointer, g.GDestroyNotify, g.GError** ) - g.gboolean lm_connection_open_and_block ( LmConnection*, g.GError** ) - void lm_connection_cancel_open ( LmConnection* ) - g.gboolean lm_connection_close ( LmConnection*, g.GError** ) - g.gboolean lm_connection_authenticate ( LmConnection*, g.gchar*, + g.gboolean lm_connection_open_and_block ( + LmConnection*, g.GError** ) + void lm_connection_cancel_open( LmConnection* ) + g.gboolean lm_connection_close ( LmConnection*, g.GError** ) + g.gboolean lm_connection_authenticate ( + LmConnection*, g.gchar*, g.gchar*, g.gchar*, LmResultFunction, g.gpointer, g.GDestroyNotify, g.GError** ) - g.gboolean lm_connection_authenticate_and_block ( + g.gboolean lm_connection_authenticate_and_block ( LmConnection*, g.gchar*, g.gchar*, g.gchar*, g.GError** ) - g.guint lm_connection_get_keep_alive_rate ( + g.guint lm_connection_get_keep_alive_rate ( LmConnection* ) - void lm_connection_set_keep_alive_rate ( + void lm_connection_set_keep_alive_rate ( LmConnection*, g.guint ) - g.gboolean lm_connection_is_open ( LmConnection* ) - g.gboolean lm_connection_is_authenticated( LmConnection* ) - g.gchar* lm_connection_get_server ( LmConnection* ) - void lm_connection_set_server ( LmConnection*, g.gchar* ) - void lm_connection_set_jid ( LmConnection*, g.gchar* ) - g.gchar* lm_connection_get_jid ( LmConnection* ) - g.gchar* lm_connection_get_full_jid ( LmConnection* ) - g.guint lm_connection_get_port ( LmConnection* ) - void lm_connection_set_port ( LmConnection*, g.guint ) - LmSSL* lm_connection_get_ssl ( LmConnection* ) - void lm_connection_set_ssl ( LmConnection*, LmSSL* ) - LmProxy* lm_connection_get_proxy ( LmConnection* ) - void lm_connection_set_proxy ( LmConnection*, LmProxy* ) - g.gboolean lm_connection_send ( LmConnection*, LmMessage*, + g.gboolean lm_connection_is_open ( LmConnection* ) + g.gboolean lm_connection_is_authenticated ( + LmConnection* ) + g.gchar* lm_connection_get_server ( LmConnection* ) + void lm_connection_set_server ( LmConnection*, g.gchar* ) + void lm_connection_set_jid ( LmConnection*, g.gchar* ) + g.gchar* lm_connection_get_jid ( LmConnection* ) + g.gchar* lm_connection_get_full_jid ( + LmConnection* ) + g.guint lm_connection_get_port ( LmConnection* ) + void lm_connection_set_port ( LmConnection*, g.guint ) + LmSSL* lm_connection_get_ssl ( LmConnection* ) + void lm_connection_set_ssl ( LmConnection*, LmSSL* ) + LmProxy* lm_connection_get_proxy ( LmConnection* ) + void lm_connection_set_proxy ( LmConnection*, LmProxy* ) + g.gboolean lm_connection_send ( LmConnection*, LmMessage*, g.GError** ) - g.gboolean lm_connection_send_with_reply ( LmConnection*, LmMessage*, + g.gboolean lm_connection_send_with_reply ( + LmConnection*, LmMessage*, LmMessageHandler*, g.GError** ) - LmMessage* lm_connection_send_with_reply_and_block ( + LmMessage* lm_connection_send_with_reply_and_block ( LmConnection*, LmMessage*, g.GError** ) - void lm_connection_register_message_handler ( + void lm_connection_register_message_handler ( LmConnection*, LmMessageHandler*, LmMessageType, LmHandlerPriority ) - void lm_connection_unregister_message_handler ( + void lm_connection_unregister_message_handler ( LmConnection*, LmMessageHandler*, LmMessageType ) - void lm_connection_set_disconnect_function ( + void lm_connection_set_disconnect_function ( LmConnection*, LmDisconnectFunction, g.gpointer, g.GDestroyNotify ) - g.gboolean lm_connection_send_raw ( LmConnection*, + g.gboolean lm_connection_send_raw ( LmConnection*, g.gchar*, g.GError** ) - LmConnectionState lm_connection_get_state ( LmConnection* ) - g.gchar* lm_connection_get_local_host ( LmConnection* ) - LmConnection* lm_connection_ref ( LmConnection* ) - void lm_connection_unref ( LmConnection* ) + LmConnectionState lm_connection_get_state ( LmConnection* ) + g.gchar* lm_connection_get_local_host ( + LmConnection* ) + LmConnection* lm_connection_ref ( LmConnection* ) + void lm_connection_unref ( LmConnection* ) + LmMessage* lm_message_new ( g.gchar*, LmMessageType ) + LmMessage* lm_message_new_with_sub_type ( + g.gchar*, LmMessageType, + LmMessageSubType ) + LmMessageType lm_message_get_type ( LmMessage* ) + LmMessageSubType lm_message_get_sub_type ( LmMessage* ) + LmMessageNode* lm_message_get_node ( LmMessage* ) + LmMessage* lm_message_ref ( LmMessage* ) + void lm_message_unref ( LmMessage* ) + LmMessageHandler* lm_message_handler_new ( LmHandleMessageFunction, + g.gpointer, + g.GDestroyNotify ) + void lm_message_handler_invalidate ( + LmMessageHandler* ) + g.gboolean lm_message_handler_is_valid ( + LmMessageHandler* ) + LmMessageHandler* lm_message_handler_ref ( LmMessageHandler* ) + void lm_message_handler_unref ( LmMessageHandler* ) + g.gchar* lm_message_node_get_value( LmMessageNode* ) + void lm_message_node_set_value( LmMessageNode*, g.gchar* ) + LmMessageNode* lm_message_node_add_child( LmMessageNode*, g.gchar*, + g.gchar* ) + void lm_message_node_set_attributes ( + LmMessageNode*, g.gchar*, + ... ) + void lm_message_node_set_attribute ( + LmMessageNode*, g.gchar*, + g.gchar* ) + g.gchar* lm_message_node_get_attribute ( + LmMessageNode*, g.gchar* ) + LmMessageNode* lm_message_node_get_child( LmMessageNode*, g.gchar* ) + LmMessageNode* lm_message_node_find_child ( + LmMessageNode*, g.gchar* ) + g.gboolean lm_message_node_get_raw_mode ( + LmMessageNode* ) + void lm_message_node_set_raw_mode ( + LmMessageNode*, g.gboolean ) + LmMessageNode* lm_message_node_ref ( LmMessageNode* ) + void lm_message_node_unref ( LmMessageNode* ) + g.gchar* lm_message_node_to_string( LmMessageNode* ) # ############################################################################# _______________________________________________ PySoy-SVN mailing list PySoy-SVN@pysoy.org http://www.pysoy.org/mailman/listinfo/pysoy-svn