Author: ArcRiley
Date: 2008-12-31 20:27:57 -0500 (Wed, 31 Dec 2008)
New Revision: 1396

Added:
   trunk/pysoy/include/lm.pxd
Log:
Ticket #971 :
  * so far most of lm-connection.h and lm-error.h are complete


Added: trunk/pysoy/include/lm.pxd
===================================================================
--- trunk/pysoy/include/lm.pxd                          (rev 0)
+++ trunk/pysoy/include/lm.pxd  2009-01-01 01:27:57 UTC (rev 1396)
@@ -0,0 +1,157 @@
+# Loudmouth Declarations
+#
+# Copyright (C) 2006,2007,2008,2009 PySoy Group
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU Affero General Public License as published
+#  by the Free Software Foundation, either version 3 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU Affero General Public License for more details.
+#
+#  You should have received a copy of the GNU Affero General Public License
+#  along with this program; if not, see http://www.gnu.org/licenses
+#
+# $Id$
+
+cimport g
+
+cdef extern from "loudmouth/loudmouth.h" nogil :
+
+# 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>
+
+
+
+#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;
+  #
+  #############################################################################
+  #
+  # enums
+  #
+  ctypedef enum LmHandlerResult :
+    LM_HANDLER_RESULT_REMOVE_MESSAGE
+    LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS
+ 
+  ctypedef enum LmHandlerPriority :
+    LM_HANDLER_PRIORITY_LAST   = 1
+    LM_HANDLER_PRIORITY_NORMAL = 2
+    LM_HANDLER_PRIORITY_FIRST  = 3
+
+  ctypedef enum LmDisconnectReason :
+    LM_DISCONNECT_REASON_OK
+    LM_DISCONNECT_REASON_PING_TIME_OUT
+    LM_DISCONNECT_REASON_HUP
+    LM_DISCONNECT_REASON_ERROR
+    LM_DISCONNECT_REASON_RESOURCE_CONFLICT
+    LM_DISCONNECT_REASON_INVALID_XML
+    LM_DISCONNECT_REASON_UNKNOWN
+
+  ctypedef enum LmConnectionState :
+    LM_CONNECTION_STATE_CLOSED
+    LM_CONNECTION_STATE_OPENING
+    LM_CONNECTION_STATE_OPEN
+    LM_CONNECTION_STATE_AUTHENTICATING
+    LM_CONNECTION_STATE_AUTHENTICATED
+
+  ctypedef enum LmError :
+    LM_ERROR_CONNECTION_NOT_OPEN
+    LM_ERROR_CONNECTION_OPEN
+    LM_ERROR_AUTH_FAILED
+    LM_ERROR_CONNECTION_FAILED
+  #
+  #############################################################################
+  #
+  # callbacks
+  #
+  typedef void          (* LmResultFunction)     ( LmConnection*, g.gboolean,
+                                                 g.gpointer )
+
+  typedef void          (* LmDisconnectFunction) ( LmConnection*,
+                                                 LmDisconnectReason,
+                                                 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*,       
+                                                   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.gchar*, g.gchar*,
+                                                   LmResultFunction,
+                                                   g.gpointer,
+                                                   g.GDestroyNotify,
+                                                   g.GError** )
+    g.gboolean     lm_connection_authenticate_and_block (
+                                                   LmConnection*,
+                                                   g.gchar*, g.gchar*,
+                                                   g.gchar*, g.GError** )
+    g.guint        lm_connection_get_keep_alive_rate ( 
+                                                   LmConnection* )
+    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.GError** )
+    g.gboolean     lm_connection_send_with_reply ( LmConnection*, LmMessage*,
+                                                   LmMessageHandler*,
+                                                   g.GError** )
+    LmMessage*     lm_connection_send_with_reply_and_block (
+                                                   LmConnection*, LmMessage*,
+                                                   g.GError** )
+    void           lm_connection_register_message_handler (
+                                                   LmConnection*,
+                                                   LmMessageHandler*,
+                                                   LmMessageType,
+                                                   LmHandlerPriority )
+    void           lm_connection_unregister_message_handler (
+                                                   LmConnection*,
+                                                   LmMessageHandler*,
+                                                   LmMessageType )
+    void           lm_connection_set_disconnect_function (
+                                                   LmConnection*,
+                                                   LmDisconnectFunction,
+                                                   g.gpointer,
+                                                   g.GDestroyNotify )
+    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* )
+  #
+  #############################################################################


Property changes on: trunk/pysoy/include/lm.pxd
___________________________________________________________________
Added: svn:keywords
   + Id

_______________________________________________
PySoy-SVN mailing list
PySoy-SVN@pysoy.org
http://www.pysoy.org/mailman/listinfo/pysoy-svn

Reply via email to