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