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

Reply via email to