Removed purple.c from watched list.
authorBruno Abinader <bruno.abinader@openbossa.org>
Mon, 2 Mar 2009 01:50:07 +0000 (21:50 -0400)
committerBruno Abinader <bruno.abinader@openbossa.org>
Mon, 2 Mar 2009 01:50:07 +0000 (21:50 -0400)
FIXES:
 - Since purple.c is automatically generated using Cython, there is no
   need to have it on the repository. In order to avoid future trouble
   with this file, it should be best to have it on .git/info/exclude.

Signed-off-by: Bruno Abinader <bruno.abinader@openbossa.org>

purple.c [deleted file]

diff --git a/purple.c b/purple.c
deleted file mode 100644 (file)
index e8c2ce9..0000000
--- a/purple.c
+++ /dev/null
@@ -1,23810 +0,0 @@
-/* Generated by Cython 0.9.8 on Fri Dec 12 10:07:08 2008 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#include "structmember.h"
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#if PY_VERSION_HEX < 0x02040000
-  #define METH_COEXIST 0
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
-  #define PyNumber_Index(o)    PyNumber_Int(o)
-  #define PyIndex_Check(o)     PyNumber_Check(o)
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   ((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-
-  typedef struct {
-       void *buf;
-       Py_ssize_t len;
-       int readonly;
-       const char *format;
-       int ndim;
-       Py_ssize_t *shape;
-       Py_ssize_t *strides;
-       Py_ssize_t *suboffsets;
-       Py_ssize_t itemsize;
-       void *internal;
-  } Py_buffer;
-
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_LOCK 0x0002
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyString_Type                PyBytes_Type
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-  #define PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-#else
-  #define PyBytes_Type                 PyString_Type
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
-#endif
-#ifndef __stdcall
-  #define __stdcall
-#endif
-#ifndef __cdecl
-  #define __cdecl
-#endif
-#ifdef __cplusplus
-#define __PYX_EXTERN_C extern "C"
-#else
-#define __PYX_EXTERN_C extern
-#endif
-#include <math.h>
-#define __PYX_HAVE_API__purple
-#include "libpurple/purple.h"
-#include "c_purple.h"
-#include "glib.h"
-#include "libpurple/blist.h"
-#include "libpurple/connection.h"
-#include "libpurple/log.h"
-#include "libpurple/proxy.h"
-#include "libpurple/status.h"
-#include "libpurple/account.h"
-#include "libpurple/prefs.h"
-#include "libpurple/accountopt.h"
-#include "libpurple/buddyicon.h"
-#include "libpurple/plugin.h"
-#include "libpurple/prpl.h"
-#include "time.h"
-#include "libpurple/conversation.h"
-#include "libpurple/core.h"
-#include "libpurple/debug.h"
-#include "libpurple/eventloop.h"
-#include "libpurple/ft.h"
-#include "libpurple/idle.h"
-#include "libpurple/notify.h"
-#include "libpurple/pounce.h"
-#include "libpurple/privacy.h"
-#include "libpurple/request.h"
-#include "libpurple/roomlist.h"
-#include "libpurple/server.h"
-#include "libpurple/signals.h"
-#include "libpurple/value.h"
-#include "libpurple/savedstatuses.h"
-#include "libpurple/xmlnode.h"
-#include "libpurple/util.h"
-
-
-#ifdef __GNUC__
-#define INLINE __inline__
-#elif _WIN32
-#define INLINE __inline
-#else
-#define INLINE 
-#endif
-
-typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/
-
-
-
-static int __pyx_skip_dispatch = 0;
-
-
-/* Type Conversion Predeclarations */
-
-#if PY_MAJOR_VERSION < 3
-#define __Pyx_PyBytes_FromString PyString_FromString
-#define __Pyx_PyBytes_AsString   PyString_AsString
-#else
-#define __Pyx_PyBytes_FromString PyBytes_FromString
-#define __Pyx_PyBytes_AsString   PyBytes_AsString
-#endif
-
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static INLINE int __Pyx_PyObject_IsTrue(PyObject* x);
-static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x);
-static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x);
-static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b);
-
-#define __pyx_PyInt_AsLong(x) (PyInt_CheckExact(x) ? PyInt_AS_LONG(x) : PyInt_AsLong(x))
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-
-static INLINE unsigned char __pyx_PyInt_unsigned_char(PyObject* x);
-static INLINE unsigned short __pyx_PyInt_unsigned_short(PyObject* x);
-static INLINE char __pyx_PyInt_char(PyObject* x);
-static INLINE short __pyx_PyInt_short(PyObject* x);
-static INLINE int __pyx_PyInt_int(PyObject* x);
-static INLINE long __pyx_PyInt_long(PyObject* x);
-static INLINE signed char __pyx_PyInt_signed_char(PyObject* x);
-static INLINE signed short __pyx_PyInt_signed_short(PyObject* x);
-static INLINE signed int __pyx_PyInt_signed_int(PyObject* x);
-static INLINE signed long __pyx_PyInt_signed_long(PyObject* x);
-static INLINE long double __pyx_PyInt_long_double(PyObject* x);
-#ifdef __GNUC__
-/* Test for GCC > 2.95 */
-#if __GNUC__ > 2 ||               (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) 
-#define likely(x)   __builtin_expect(!!(x), 1)
-#define unlikely(x) __builtin_expect(!!(x), 0)
-#else /* __GNUC__ > 2 ... */
-#define likely(x)   (x)
-#define unlikely(x) (x)
-#endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-#define likely(x)   (x)
-#define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-static const char **__pyx_f;
-
-static INLINE void __Pyx_RaiseArgtupleTooLong(Py_ssize_t num_expected, Py_ssize_t num_found); /*proto*/
-
-#if PY_VERSION_HEX >= 0x02060000
-/* #define __Pyx_TypeModified(t) PyType_Modified(t) */  /* Py3.0beta1 */
-static void __Pyx_TypeModified(PyTypeObject* type); /*proto*/
-#else
-  #define __Pyx_TypeModified(t)
-#endif
-
-static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name, int exact); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_WriteUnraisable(const char *name); /*proto*/
-
-static INLINE PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i, int is_unsigned) {
-    PyObject *r;
-    if (PyList_CheckExact(o) && 0 <= i && i < PyList_GET_SIZE(o)) {
-        r = PyList_GET_ITEM(o, i);
-        Py_INCREF(r);
-    }
-    else if (PyTuple_CheckExact(o) && 0 <= i && i < PyTuple_GET_SIZE(o)) {
-        r = PyTuple_GET_ITEM(o, i);
-        Py_INCREF(r);
-    }
-    else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0) || !is_unsigned))
-        r = PySequence_GetItem(o, i);
-    else {
-        PyObject *j = (likely(i >= 0) || !is_unsigned) ? PyInt_FromLong(i) : PyLong_FromUnsignedLongLong((sizeof(unsigned long long) > sizeof(Py_ssize_t) ? (1ULL << (sizeof(Py_ssize_t)*8)) : 0) + i);
-        if (!j)
-            return 0;
-        r = PyObject_GetItem(o, j);
-        Py_DECREF(j);
-    }
-    return r;
-}
-
-static INLINE PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
-    if (likely(PyList_CheckExact(L))) {
-        if (PyList_Append(L, x) < 0) return NULL;
-        Py_INCREF(Py_None);
-        return Py_None; // this is just to have an accurate signature
-    }
-    else {
-        return PyObject_CallMethod(L, "append", "(O)", x);
-    }
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
-
-static void __Pyx_AddTraceback(const char *funcname); /*proto*/
-
-/* Type declarations */
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":22
- * cimport purple
- * 
- * cdef class Buddy:             # <<<<<<<<<<<<<<
- *     """
- *     Buddy class
- */
-
-struct __pyx_obj_6purple_Buddy {
-  PyObject_HEAD
-  struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtab;
-  PyObject *__account;
-  PyObject *__name;
-  PyObject *__exists;
-};
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":61
- * include "util.pxd"
- * 
- * cdef class Purple:             # <<<<<<<<<<<<<<
- *     """ Purple class.
- * 
- */
-
-struct __pyx_obj_6purple_Purple {
-  PyObject_HEAD
-  struct __pyx_vtabstruct_6purple_Purple *__pyx_vtab;
-};
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":56
- *     USE_ENVVAR = property(get_USE_ENVVAR)
- * 
- * cdef class ProxyInfo:             # <<<<<<<<<<<<<<
- * 
- *     cdef proxy.PurpleProxyInfo *c_proxyinfo
- */
-
-struct __pyx_obj_6purple_ProxyInfo {
-  PyObject_HEAD
-  PurpleProxyInfo *c_proxyinfo;
-  PyObject *types;
-};
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":22
- * cimport purple
- * 
- * cdef class Protocol:             # <<<<<<<<<<<<<<
- *     """
- *     Protocol class
- */
-
-struct __pyx_obj_6purple_Protocol {
-  PyObject_HEAD
-  struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtab;
-  PyObject *__id;
-  PyObject *__exists;
-};
-
-struct __pyx_obj_6purple_ProxyInfoType {
-  PyObject_HEAD
-  PurpleProxyType c_type;
-};
-
-struct __pyx_obj_6purple_Conversation {
-  PyObject_HEAD
-  struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtab;
-  PyObject *__account;
-  PyObject *__name;
-  PyObject *__type;
-  PyObject *__exists;
-};
-
-struct __pyx_obj_6purple_Account {
-  PyObject_HEAD
-  struct __pyx_vtabstruct_6purple_Account *__pyx_vtab;
-  PyObject *__username;
-  PyObject *__protocol;
-  PyObject *__core;
-  PyObject *__exists;
-};
-
-
-struct __pyx_vtabstruct_6purple_Protocol {
-  PurplePlugin *(*_get_structure)(struct __pyx_obj_6purple_Protocol *);
-};
-static struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtabptr_6purple_Protocol;
-
-
-struct __pyx_vtabstruct_6purple_Buddy {
-  PurpleBuddy *(*_get_structure)(struct __pyx_obj_6purple_Buddy *);
-};
-static struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtabptr_6purple_Buddy;
-
-
-struct __pyx_vtabstruct_6purple_Conversation {
-  PurpleConversation *(*_get_structure)(struct __pyx_obj_6purple_Conversation *);
-};
-static struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtabptr_6purple_Conversation;
-
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":61
- * include "util.pxd"
- * 
- * cdef class Purple:             # <<<<<<<<<<<<<<
- *     """ Purple class.
- * 
- */
-
-struct __pyx_vtabstruct_6purple_Purple {
-  void (*__core_ui_ops_ui_prefs_init)(struct __pyx_obj_6purple_Purple *);
-  void (*__core_ui_ops_debug_init)(struct __pyx_obj_6purple_Purple *);
-  void (*__core_ui_ops_ui_init)(struct __pyx_obj_6purple_Purple *);
-  void (*__core_ui_ops_quit)(struct __pyx_obj_6purple_Purple *);
-  GHashTable *(*__core_ui_ops_get_ui_info)(struct __pyx_obj_6purple_Purple *);
-};
-static struct __pyx_vtabstruct_6purple_Purple *__pyx_vtabptr_6purple_Purple;
-
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":22
- * cimport purple
- * 
- * cdef class Account:             # <<<<<<<<<<<<<<
- *     """
- *     Account class
- */
-
-struct __pyx_vtabstruct_6purple_Account {
-  PurpleAccount *(*_get_structure)(struct __pyx_obj_6purple_Account *);
-};
-static struct __pyx_vtabstruct_6purple_Account *__pyx_vtabptr_6purple_Account;
-/* Module declarations from glib */
-
-/* Module declarations from account */
-
-/* Module declarations from prefs */
-
-/* Module declarations from accountopt */
-
-/* Module declarations from buddyicon */
-
-/* Module declarations from blist */
-
-/* Module declarations from prpl */
-
-/* Module declarations from plugin */
-
-/* Module declarations from connection */
-
-/* Module declarations from conversation */
-
-/* Module declarations from core */
-
-/* Module declarations from debug */
-
-/* Module declarations from eventloop */
-
-/* Module declarations from ft */
-
-/* Module declarations from idle */
-
-/* Module declarations from notify */
-
-/* Module declarations from pounce */
-
-/* Module declarations from privacy */
-
-/* Module declarations from proxy */
-
-/* Module declarations from request */
-
-/* Module declarations from roomlist */
-
-/* Module declarations from server */
-
-/* Module declarations from signals */
-
-/* Module declarations from value */
-
-/* Module declarations from status */
-
-/* Module declarations from savedstatuses */
-
-/* Module declarations from xmlnode */
-
-/* Module declarations from util */
-
-/* Module declarations from purple */
-
-static PyTypeObject *__pyx_ptype_6purple_Purple = 0;
-static PyTypeObject *__pyx_ptype_6purple_Protocol = 0;
-static PyTypeObject *__pyx_ptype_6purple_ProxyInfoType = 0;
-static PyTypeObject *__pyx_ptype_6purple_ProxyInfo = 0;
-static PyTypeObject *__pyx_ptype_6purple_Account = 0;
-static PyTypeObject *__pyx_ptype_6purple_Buddy = 0;
-static PyTypeObject *__pyx_ptype_6purple_Conversation = 0;
-static GHashTable *__pyx_v_6purple_c_ui_info;
-static char *__pyx_v_6purple_c_ui_name;
-static char *__pyx_v_6purple_c_ui_version;
-static char *__pyx_v_6purple_c_ui_website;
-static char *__pyx_v_6purple_c_ui_dev_website;
-static PurpleAccountUiOps __pyx_v_6purple_c_account_ui_ops;
-static PurpleBlistUiOps __pyx_v_6purple_c_blist_ui_ops;
-static PurpleConnectionUiOps __pyx_v_6purple_c_conn_ui_ops;
-static PurpleConversationUiOps __pyx_v_6purple_c_conv_ui_ops;
-static PurpleCoreUiOps __pyx_v_6purple_c_core_ui_ops;
-static PurpleEventLoopUiOps __pyx_v_6purple_c_eventloop_ui_ops;
-static PurpleNotifyUiOps __pyx_v_6purple_c_notify_ui_ops;
-static PurpleRequestUiOps __pyx_v_6purple_c_request_ui_ops;
-static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_authorize_cb;
-static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_deny_cb;
-static void *__pyx_v_6purple_c_request_authorize_user_data;
-static void __pyx_f_6purple_notify_added(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/
-static void __pyx_f_6purple_status_changed(PurpleAccount *, PurpleStatus *); /*proto*/
-static void __pyx_f_6purple_request_add(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/
-static void *__pyx_f_6purple_request_authorize(PurpleAccount *, const char *, const char *, const char *, const char *, gboolean, PurpleAccountRequestAuthorizationCb, PurpleAccountRequestAuthorizationCb, void *); /*proto*/
-static void __pyx_f_6purple_close_account_request(void *); /*proto*/
-static void __pyx_f_6purple___group_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
-static void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
-static void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
-static void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
-static void __pyx_f_6purple___other_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
-static void __pyx_f_6purple_new_list(PurpleBuddyList *); /*proto*/
-static void __pyx_f_6purple_new_node(PurpleBlistNode *); /*proto*/
-static void __pyx_f_6purple_show(PurpleBuddyList *); /*proto*/
-static void __pyx_f_6purple_update(PurpleBuddyList *, PurpleBlistNode *); /*proto*/
-static void __pyx_f_6purple_remove(PurpleBuddyList *, PurpleBlistNode *); /*proto*/
-static void __pyx_f_6purple_destroy(PurpleBuddyList *); /*proto*/
-static void __pyx_f_6purple_set_visible(PurpleBuddyList *, gboolean); /*proto*/
-static void __pyx_f_6purple_request_add_buddy(PurpleAccount *, const char *, const char *, const char *); /*proto*/
-static void __pyx_f_6purple_request_add_chat(PurpleAccount *, PurpleGroup *, const char *, const char *); /*proto*/
-static void __pyx_f_6purple_request_add_group(void); /*proto*/
-static void __pyx_f_6purple_connect_progress(PurpleConnection *, const char *, size_t, size_t); /*proto*/
-static void __pyx_f_6purple_connected(PurpleConnection *); /*proto*/
-static void __pyx_f_6purple_disconnected(PurpleConnection *); /*proto*/
-static void __pyx_f_6purple_notice(PurpleConnection *, const char *); /*proto*/
-static void __pyx_f_6purple_report_disconnect(PurpleConnection *, const char *); /*proto*/
-static void __pyx_f_6purple_network_connected(void); /*proto*/
-static void __pyx_f_6purple_network_disconnected(void); /*proto*/
-static void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *, PurpleConnectionError, const char *); /*proto*/
-static void __pyx_f_6purple_create_conversation(PurpleConversation *); /*proto*/
-static void __pyx_f_6purple_destroy_conversation(PurpleConversation *); /*proto*/
-static void __pyx_f_6purple_write_chat(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
-static void __pyx_f_6purple_write_im(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
-static void __pyx_f_6purple_write_conv(PurpleConversation *, const char *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
-static void __pyx_f_6purple_chat_add_users(PurpleConversation *, GList *, gboolean); /*proto*/
-static void __pyx_f_6purple_chat_rename_user(PurpleConversation *, const char *, const char *, const char *); /*proto*/
-static void __pyx_f_6purple_chat_remove_users(PurpleConversation *, GList *); /*proto*/
-static void __pyx_f_6purple_chat_update_user(PurpleConversation *, const char *); /*proto*/
-static void __pyx_f_6purple_present(PurpleConversation *); /*proto*/
-static gboolean __pyx_f_6purple_has_focus(PurpleConversation *); /*proto*/
-static gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *, const char *, gboolean); /*proto*/
-static void __pyx_f_6purple_custom_smiley_write(PurpleConversation *, const char *, const guchar *, gsize); /*proto*/
-static void __pyx_f_6purple_custom_smiley_close(PurpleConversation *, const char *); /*proto*/
-static void __pyx_f_6purple_send_confirm(PurpleConversation *, const char *); /*proto*/
-static void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType, const char *, const char *, const char *); /*proto*/
-static void *__pyx_f_6purple_notify_email(PurpleConnection *, const char *, const char *, const char *, const char *); /*proto*/
-static void *__pyx_f_6purple_notify_emails(PurpleConnection *, size_t, gboolean, const char **, const char **, const char **, const char **); /*proto*/
-static void *__pyx_f_6purple_notify_formatted(const char *, const char *, const char *, const char *); /*proto*/
-static void *__pyx_f_6purple_notify_searchresults(PurpleConnection *, const char *, const char *, const char *, PurpleNotifySearchResults *, gpointer); /*proto*/
-static void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *, PurpleNotifySearchResults *, void *); /*proto*/
-static void *__pyx_f_6purple_notify_userinfo(PurpleConnection *, const char *, PurpleNotifyUserInfo *); /*proto*/
-static void *__pyx_f_6purple_notify_uri(const char *); /*proto*/
-static void __pyx_f_6purple_close_notify(PurpleNotifyType, void *); /*proto*/
-static void *__pyx_f_6purple_request_input(const char *, const char *, const char *, const char *, gboolean, gboolean, gchar *, const char *, GCallback, const char *, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
-static void *__pyx_f_6purple_request_choice(const char *, const char *, const char *, int, const char *, GCallback, const char *, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *, va_list); /*proto*/
-static void *__pyx_f_6purple_request_action(const char *, const char *, const char *, int, PurpleAccount *, const char *, PurpleConversation *, void *, size_t, va_list); /*proto*/
-static void *__pyx_f_6purple_request_fields(const char *, const char *, const char *, PurpleRequestFields *, const char *, GCallback, const char *, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
-static void *__pyx_f_6purple_request_file(const char *, const char *, gboolean, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
-static void __pyx_f_6purple_close_request(PurpleRequestType, void *); /*proto*/
-static void *__pyx_f_6purple_request_folder(const char *, const char *, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
-static void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *, gpointer); /*proto*/
-static void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *, gpointer); /*proto*/
-static void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *, PurpleConnectionError, const gchar *); /*proto*/
-static void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *); /*proto*/
-static void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *); /*proto*/
-static gboolean __pyx_f_6purple_signal_receiving_im_msg_cb(PurpleAccount *, char **, char **, PurpleConversation *, PurpleMessageFlags *); /*proto*/
-static void __pyx_f_6purple_jabber_receiving_xmlnode_cb(PurpleConnection *, xmlnode **, gpointer); /*proto*/
-
-
-/* Implementation of purple */
-
-
-static char __pyx_k___init__[] = "__init__";
-static char __pyx_k_destroy[] = "destroy";
-static char __pyx_k___get_ui_name[] = "__get_ui_name";
-static char __pyx_k_ui_name[] = "ui_name";
-static char __pyx_k_1[] = "__glib_iteration_when_idle";
-static char __pyx_k_purple_init[] = "purple_init";
-static char __pyx_k_add_callback[] = "add_callback";
-static char __pyx_k_signal_connect[] = "signal_connect";
-static char __pyx_k_accounts_get_all[] = "accounts_get_all";
-static char __pyx_k_2[] = "accounts_get_all_active";
-static char __pyx_k_protocols_get_all[] = "protocols_get_all";
-static char __pyx_k___get_exists[] = "__get_exists";
-static char __pyx_k_exists[] = "exists";
-static char __pyx_k___get_id[] = "__get_id";
-static char __pyx_k_id[] = "id";
-static char __pyx_k___get_name[] = "__get_name";
-static char __pyx_k_name[] = "name";
-static char __pyx_k_3[] = "__get_options_labels";
-static char __pyx_k_options_labels[] = "options_labels";
-static char __pyx_k_4[] = "__get_options_values";
-static char __pyx_k_options_values[] = "options_values";
-static char __pyx_k_get_NONE[] = "get_NONE";
-static char __pyx_k_NONE[] = "NONE";
-static char __pyx_k_get_USE_GLOBAL[] = "get_USE_GLOBAL";
-static char __pyx_k_USE_GLOBAL[] = "USE_GLOBAL";
-static char __pyx_k_get_HTTP[] = "get_HTTP";
-static char __pyx_k_HTTP[] = "HTTP";
-static char __pyx_k_5[] = "get_SOCKS4";
-static char __pyx_k_6[] = "get_SOCKS5";
-static char __pyx_k_get_USE_ENVVAR[] = "get_USE_ENVVAR";
-static char __pyx_k_USE_ENVVAR[] = "USE_ENVVAR";
-static char __pyx_k_set_type[] = "set_type";
-static char __pyx_k_set_host[] = "set_host";
-static char __pyx_k_set_port[] = "set_port";
-static char __pyx_k_set_username[] = "set_username";
-static char __pyx_k_set_password[] = "set_password";
-static char __pyx_k_get_types[] = "get_types";
-static char __pyx_k_set_info[] = "set_info";
-static char __pyx_k___is_connected[] = "__is_connected";
-static char __pyx_k_is_connected[] = "is_connected";
-static char __pyx_k___is_connecting[] = "__is_connecting";
-static char __pyx_k_is_connecting[] = "is_connecting";
-static char __pyx_k___is_disconnected[] = "__is_disconnected";
-static char __pyx_k_is_disconnected[] = "is_disconnected";
-static char __pyx_k___get_core[] = "__get_core";
-static char __pyx_k_core[] = "core";
-static char __pyx_k___get_username[] = "__get_username";
-static char __pyx_k_username[] = "username";
-static char __pyx_k___get_protocol[] = "__get_protocol";
-static char __pyx_k_protocol[] = "protocol";
-static char __pyx_k_7[] = "_get_protocol_options";
-static char __pyx_k_protocol_options[] = "protocol_options";
-static char __pyx_k___get_password[] = "__get_password";
-static char __pyx_k_password[] = "password";
-static char __pyx_k___get_alias[] = "__get_alias";
-static char __pyx_k_alias[] = "alias";
-static char __pyx_k___get_user_info[] = "__get_user_info";
-static char __pyx_k_user_info[] = "user_info";
-static char __pyx_k_8[] = "__get_remember_password";
-static char __pyx_k_remember_password[] = "remember_password";
-static char __pyx_k___get_enabled[] = "__get_enabled";
-static char __pyx_k_enabled[] = "enabled";
-static char __pyx_k___get_status_types[] = "__get_status_types";
-static char __pyx_k_status_types[] = "status_types";
-static char __pyx_k___get_active_status[] = "__get_active_status";
-static char __pyx_k_active_status[] = "active_status";
-static char __pyx_k_set_protocol[] = "set_protocol";
-static char __pyx_k_9[] = "set_protocol_options";
-static char __pyx_k_set_alias[] = "set_alias";
-static char __pyx_k_set_user_info[] = "set_user_info";
-static char __pyx_k_10[] = "set_remember_password";
-static char __pyx_k_set_enabled[] = "set_enabled";
-static char __pyx_k_new[] = "new";
-static char __pyx_k_remove[] = "remove";
-static char __pyx_k_connect[] = "connect";
-static char __pyx_k_disconnect[] = "disconnect";
-static char __pyx_k_add_buddy[] = "add_buddy";
-static char __pyx_k_remove_buddy[] = "remove_buddy";
-static char __pyx_k_get_buddies_online[] = "get_buddies_online";
-static char __pyx_k_get_buddies[] = "get_buddies";
-static char __pyx_k_request_add_buddy[] = "request_add_buddy";
-static char __pyx_k_set_active_status[] = "set_active_status";
-static char __pyx_k_set_status_message[] = "set_status_message";
-static char __pyx_k___get_account[] = "__get_account";
-static char __pyx_k_account[] = "account";
-static char __pyx_k___get_group[] = "__get_group";
-static char __pyx_k_group[] = "group";
-static char __pyx_k___get_server_alias[] = "__get_server_alias";
-static char __pyx_k_server_alias[] = "server_alias";
-static char __pyx_k___get_contact_alias[] = "__get_contact_alias";
-static char __pyx_k_contact_alias[] = "contact_alias";
-static char __pyx_k___get_local_alias[] = "__get_local_alias";
-static char __pyx_k_local_alias[] = "local_alias";
-static char __pyx_k___get_available[] = "__get_available";
-static char __pyx_k_available[] = "available";
-static char __pyx_k___get_online[] = "__get_online";
-static char __pyx_k_online[] = "online";
-static char __pyx_k___get_idle[] = "__get_idle";
-static char __pyx_k_idle[] = "idle";
-static char __pyx_k_set_group[] = "set_group";
-static char __pyx_k_set_ui_ops[] = "set_ui_ops";
-static char __pyx_k_im_send[] = "im_send";
-static char __pyx_k_ecore[] = "ecore";
-static char __pyx_k_account_cbs[] = "account_cbs";
-static char __pyx_k_blist_cbs[] = "blist_cbs";
-static char __pyx_k_connection_cbs[] = "connection_cbs";
-static char __pyx_k_conversation_cbs[] = "conversation_cbs";
-static char __pyx_k_notify_cbs[] = "notify_cbs";
-static char __pyx_k_request_cbs[] = "request_cbs";
-static char __pyx_k_signal_cbs[] = "signal_cbs";
-static char __pyx_k_property[] = "property";
-
-static PyObject *__pyx_kp___init__;
-static PyObject *__pyx_kp_destroy;
-static PyObject *__pyx_kp___get_ui_name;
-static PyObject *__pyx_kp_ui_name;
-static PyObject *__pyx_kp_1;
-static PyObject *__pyx_kp_purple_init;
-static PyObject *__pyx_kp_add_callback;
-static PyObject *__pyx_kp_signal_connect;
-static PyObject *__pyx_kp_accounts_get_all;
-static PyObject *__pyx_kp_2;
-static PyObject *__pyx_kp_protocols_get_all;
-static PyObject *__pyx_kp___get_exists;
-static PyObject *__pyx_kp_exists;
-static PyObject *__pyx_kp___get_id;
-static PyObject *__pyx_kp_id;
-static PyObject *__pyx_kp___get_name;
-static PyObject *__pyx_kp_name;
-static PyObject *__pyx_kp_3;
-static PyObject *__pyx_kp_options_labels;
-static PyObject *__pyx_kp_4;
-static PyObject *__pyx_kp_options_values;
-static PyObject *__pyx_kp_get_NONE;
-static PyObject *__pyx_kp_NONE;
-static PyObject *__pyx_kp_get_USE_GLOBAL;
-static PyObject *__pyx_kp_USE_GLOBAL;
-static PyObject *__pyx_kp_get_HTTP;
-static PyObject *__pyx_kp_HTTP;
-static PyObject *__pyx_kp_5;
-static PyObject *__pyx_kp_6;
-static PyObject *__pyx_kp_get_USE_ENVVAR;
-static PyObject *__pyx_kp_USE_ENVVAR;
-static PyObject *__pyx_kp_set_type;
-static PyObject *__pyx_kp_set_host;
-static PyObject *__pyx_kp_set_port;
-static PyObject *__pyx_kp_set_username;
-static PyObject *__pyx_kp_set_password;
-static PyObject *__pyx_kp_get_types;
-static PyObject *__pyx_kp_set_info;
-static PyObject *__pyx_kp___is_connected;
-static PyObject *__pyx_kp_is_connected;
-static PyObject *__pyx_kp___is_connecting;
-static PyObject *__pyx_kp_is_connecting;
-static PyObject *__pyx_kp___is_disconnected;
-static PyObject *__pyx_kp_is_disconnected;
-static PyObject *__pyx_kp___get_core;
-static PyObject *__pyx_kp_core;
-static PyObject *__pyx_kp___get_username;
-static PyObject *__pyx_kp_username;
-static PyObject *__pyx_kp___get_protocol;
-static PyObject *__pyx_kp_protocol;
-static PyObject *__pyx_kp_7;
-static PyObject *__pyx_kp_protocol_options;
-static PyObject *__pyx_kp___get_password;
-static PyObject *__pyx_kp_password;
-static PyObject *__pyx_kp___get_alias;
-static PyObject *__pyx_kp_alias;
-static PyObject *__pyx_kp___get_user_info;
-static PyObject *__pyx_kp_user_info;
-static PyObject *__pyx_kp_8;
-static PyObject *__pyx_kp_remember_password;
-static PyObject *__pyx_kp___get_enabled;
-static PyObject *__pyx_kp_enabled;
-static PyObject *__pyx_kp___get_status_types;
-static PyObject *__pyx_kp_status_types;
-static PyObject *__pyx_kp___get_active_status;
-static PyObject *__pyx_kp_active_status;
-static PyObject *__pyx_kp_set_protocol;
-static PyObject *__pyx_kp_9;
-static PyObject *__pyx_kp_set_alias;
-static PyObject *__pyx_kp_set_user_info;
-static PyObject *__pyx_kp_10;
-static PyObject *__pyx_kp_set_enabled;
-static PyObject *__pyx_kp_new;
-static PyObject *__pyx_kp_remove;
-static PyObject *__pyx_kp_connect;
-static PyObject *__pyx_kp_disconnect;
-static PyObject *__pyx_kp_add_buddy;
-static PyObject *__pyx_kp_remove_buddy;
-static PyObject *__pyx_kp_get_buddies_online;
-static PyObject *__pyx_kp_get_buddies;
-static PyObject *__pyx_kp_request_add_buddy;
-static PyObject *__pyx_kp_set_active_status;
-static PyObject *__pyx_kp_set_status_message;
-static PyObject *__pyx_kp___get_account;
-static PyObject *__pyx_kp_account;
-static PyObject *__pyx_kp___get_group;
-static PyObject *__pyx_kp_group;
-static PyObject *__pyx_kp___get_server_alias;
-static PyObject *__pyx_kp_server_alias;
-static PyObject *__pyx_kp___get_contact_alias;
-static PyObject *__pyx_kp_contact_alias;
-static PyObject *__pyx_kp___get_local_alias;
-static PyObject *__pyx_kp_local_alias;
-static PyObject *__pyx_kp___get_available;
-static PyObject *__pyx_kp_available;
-static PyObject *__pyx_kp___get_online;
-static PyObject *__pyx_kp_online;
-static PyObject *__pyx_kp___get_idle;
-static PyObject *__pyx_kp_idle;
-static PyObject *__pyx_kp_set_group;
-static PyObject *__pyx_kp_set_ui_ops;
-static PyObject *__pyx_kp_im_send;
-static PyObject *__pyx_kp_ecore;
-static PyObject *__pyx_kp_account_cbs;
-static PyObject *__pyx_kp_blist_cbs;
-static PyObject *__pyx_kp_connection_cbs;
-static PyObject *__pyx_kp_conversation_cbs;
-static PyObject *__pyx_kp_notify_cbs;
-static PyObject *__pyx_kp_request_cbs;
-static PyObject *__pyx_kp_signal_cbs;
-static PyObject *__pyx_kp_property;
-
-
-static PyObject *__pyx_builtin_property;
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":31
- * cdef void *c_request_authorize_user_data = NULL
- * 
- * def call_authorize_cb():             # <<<<<<<<<<<<<<
- *     global c_request_authorize_authorize_cb
- *     global c_request_authorize_deny_cb
- */
-
-static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/
-static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused) {
-  PyObject *__pyx_r;
-  int __pyx_1;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":36
- *     global c_request_authorize_user_data
- * 
- *     if c_request_authorize_authorize_cb:             # <<<<<<<<<<<<<<
- *         c_request_authorize_authorize_cb(c_request_authorize_user_data)
- *     c_request_authorize_authorize_cb = NULL
- */
-  __pyx_1 = (__pyx_v_6purple_c_request_authorize_authorize_cb != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":37
- * 
- *     if c_request_authorize_authorize_cb:
- *         c_request_authorize_authorize_cb(c_request_authorize_user_data)             # <<<<<<<<<<<<<<
- *     c_request_authorize_authorize_cb = NULL
- *     c_request_authorize_deny_cb = NULL
- */
-    __pyx_v_6purple_c_request_authorize_authorize_cb(__pyx_v_6purple_c_request_authorize_user_data);
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":38
- *     if c_request_authorize_authorize_cb:
- *         c_request_authorize_authorize_cb(c_request_authorize_user_data)
- *     c_request_authorize_authorize_cb = NULL             # <<<<<<<<<<<<<<
- *     c_request_authorize_deny_cb = NULL
- *     c_request_authorize_user_data = NULL
- */
-  __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":39
- *         c_request_authorize_authorize_cb(c_request_authorize_user_data)
- *     c_request_authorize_authorize_cb = NULL
- *     c_request_authorize_deny_cb = NULL             # <<<<<<<<<<<<<<
- *     c_request_authorize_user_data = NULL
- * 
- */
-  __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":40
- *     c_request_authorize_authorize_cb = NULL
- *     c_request_authorize_deny_cb = NULL
- *     c_request_authorize_user_data = NULL             # <<<<<<<<<<<<<<
- * 
- * def call_deny_cb():
- */
-  __pyx_v_6purple_c_request_authorize_user_data = NULL;
-
-  __pyx_r = Py_None; Py_INCREF(Py_None);
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":42
- *     c_request_authorize_user_data = NULL
- * 
- * def call_deny_cb():             # <<<<<<<<<<<<<<
- *     global c_request_authorize_authorize_cb
- *     global c_request_authorize_deny_cb
- */
-
-static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/
-static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused) {
-  PyObject *__pyx_r;
-  int __pyx_1;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":47
- *     global c_request_authorize_user_data
- * 
- *     if c_request_authorize_deny_cb:             # <<<<<<<<<<<<<<
- *         c_request_authorize_deny_cb(c_request_authorize_user_data)
- *     c_request_authorize_authorize_cb = NULL
- */
-  __pyx_1 = (__pyx_v_6purple_c_request_authorize_deny_cb != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":48
- * 
- *     if c_request_authorize_deny_cb:
- *         c_request_authorize_deny_cb(c_request_authorize_user_data)             # <<<<<<<<<<<<<<
- *     c_request_authorize_authorize_cb = NULL
- *     c_request_authorize_deny_cb = NULL
- */
-    __pyx_v_6purple_c_request_authorize_deny_cb(__pyx_v_6purple_c_request_authorize_user_data);
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":49
- *     if c_request_authorize_deny_cb:
- *         c_request_authorize_deny_cb(c_request_authorize_user_data)
- *     c_request_authorize_authorize_cb = NULL             # <<<<<<<<<<<<<<
- *     c_request_authorize_deny_cb = NULL
- *     c_request_authorize_user_data = NULL
- */
-  __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":50
- *         c_request_authorize_deny_cb(c_request_authorize_user_data)
- *     c_request_authorize_authorize_cb = NULL
- *     c_request_authorize_deny_cb = NULL             # <<<<<<<<<<<<<<
- *     c_request_authorize_user_data = NULL
- * 
- */
-  __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":51
- *     c_request_authorize_authorize_cb = NULL
- *     c_request_authorize_deny_cb = NULL
- *     c_request_authorize_user_data = NULL             # <<<<<<<<<<<<<<
- * 
- * cdef void notify_added(account.PurpleAccount *c_account, \
- */
-  __pyx_v_6purple_c_request_authorize_user_data = NULL;
-
-  __pyx_r = Py_None; Py_INCREF(Py_None);
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":53
- *     c_request_authorize_user_data = NULL
- * 
- * cdef void notify_added(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
- *         const_char *remote_user, const_char *id, const_char *alias, \
- *         const_char *c_message):
- */
-
-static char __pyx_k_has_key[] = "has_key";
-
-static PyObject *__pyx_kp_has_key;
-
-static PyObject *__pyx_kp_14;
-static PyObject *__pyx_kp_15;
-
-static char __pyx_k_11[] = "account";
-static char __pyx_k_12[] = "%s";
-static char __pyx_k_13[] = "notify-added\n";
-static char __pyx_k_14[] = "notify-added";
-static char __pyx_k_15[] = "notify-added";
-
-static  void __pyx_f_6purple_notify_added(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_remote_user, const char *__pyx_v_id, const char *__pyx_v_alias, const char *__pyx_v_c_message) {
-  PurpleConnection *__pyx_v_gc;
-  PyObject *__pyx_v_remote_alias;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  PyObject *__pyx_v_message;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  PyObject *__pyx_5 = 0;
-  __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_message = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":61
- *     """
- *     cdef connection.PurpleConnection *gc = \
- *             account.purple_account_get_connection(c_account)             # <<<<<<<<<<<<<<
- * 
- *     debug.purple_debug_info("account", "%s", "notify-added\n")
- */
-  __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":63
- *             account.purple_account_get_connection(c_account)
- * 
- *     debug.purple_debug_info("account", "%s", "notify-added\n")             # <<<<<<<<<<<<<<
- * 
- *     if alias:
- */
-  purple_debug_info(__pyx_k_11, __pyx_k_12, __pyx_k_13);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":65
- *     debug.purple_debug_info("account", "%s", "notify-added\n")
- * 
- *     if alias:             # <<<<<<<<<<<<<<
- *         remote_alias = <char *> alias
- *     else:
- */
-  __pyx_1 = (__pyx_v_alias != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":66
- * 
- *     if alias:
- *         remote_alias = <char *> alias             # <<<<<<<<<<<<<<
- *     else:
- *         remote_alias = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_remote_alias);
-    __pyx_v_remote_alias = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":68
- *         remote_alias = <char *> alias
- *     else:
- *         remote_alias = None             # <<<<<<<<<<<<<<
- * 
- *     if id:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_remote_alias);
-    __pyx_v_remote_alias = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":70
- *         remote_alias = None
- * 
- *     if id:             # <<<<<<<<<<<<<<
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- */
-  __pyx_1 = (__pyx_v_id != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":71
- * 
- *     if id:
- *         username = <char *> id             # <<<<<<<<<<<<<<
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- *         username = connection.purple_connection_get_display_name(gc)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":72
- *     if id:
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:             # <<<<<<<<<<<<<<
- *         username = connection.purple_connection_get_display_name(gc)
- *     else:
- */
-  __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":73
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- *         username = connection.purple_connection_get_display_name(gc)             # <<<<<<<<<<<<<<
- *     else:
- *         username = account.purple_account_get_username(c_account)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":75
- *         username = connection.purple_connection_get_display_name(gc)
- *     else:
- *         username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
- * 
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":77
- *         username = account.purple_account_get_username(c_account)
- * 
- *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
- * 
- *     if c_message:
- */
-  __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_protocol_id);
-  __pyx_v_protocol_id = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":79
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- *     if c_message:             # <<<<<<<<<<<<<<
- *         message = <char *> c_message
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_message != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":80
- * 
- *     if c_message:
- *         message = <char *> c_message             # <<<<<<<<<<<<<<
- *     else:
- *         message = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":82
- *         message = <char *> c_message
- *     else:
- *         message = None             # <<<<<<<<<<<<<<
- * 
- *     if account_cbs.has_key("notify-added"):
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = Py_None;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":84
- *         message = None
- * 
- *     if account_cbs.has_key("notify-added"):             # <<<<<<<<<<<<<<
- *         (<object> account_cbs["notify-added"])( \
- *                 (<char *> remote_user, remote_alias), \
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_14);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_14);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":85
- * 
- *     if account_cbs.has_key("notify-added"):
- *         (<object> account_cbs["notify-added"])( \             # <<<<<<<<<<<<<<
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), message)
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_15); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":86
- *     if account_cbs.has_key("notify-added"):
- *         (<object> account_cbs["notify-added"])( \
- *                 (<char *> remote_user, remote_alias), \             # <<<<<<<<<<<<<<
- *                 (username, protocol_id), message)
- * 
- */
-    __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
-    Py_INCREF(__pyx_v_remote_alias);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
-    __pyx_4 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":87
- *         (<object> account_cbs["notify-added"])( \
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), message)             # <<<<<<<<<<<<<<
- * 
- * cdef void status_changed(account.PurpleAccount *c_account, \
- */
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
-    __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3));
-    PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4));
-    Py_INCREF(__pyx_v_message);
-    PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message);
-    __pyx_3 = 0;
-    __pyx_4 = 0;
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  Py_XDECREF(__pyx_5);
-  __Pyx_WriteUnraisable("purple.notify_added");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_remote_alias);
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-  Py_DECREF(__pyx_v_message);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":89
- *                 (username, protocol_id), message)
- * 
- * cdef void status_changed(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
- *         status.PurpleStatus *c_status):
- *     """
- */
-
-static PyObject *__pyx_kp_19;
-static PyObject *__pyx_kp_20;
-
-static char __pyx_k_16[] = "account";
-static char __pyx_k_17[] = "%s";
-static char __pyx_k_18[] = "status-changed\n";
-static char __pyx_k_19[] = "status-changed";
-static char __pyx_k_20[] = "status-changed";
-
-static  void __pyx_f_6purple_status_changed(PurpleAccount *__pyx_v_c_account, PurpleStatus *__pyx_v_c_status) {
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  PyObject *__pyx_v_status_id;
-  PyObject *__pyx_v_status_name;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_status_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_status_name = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":94
- *     This account's status changed.
- *     """
- *     debug.purple_debug_info("account", "%s", "status-changed\n")             # <<<<<<<<<<<<<<
- * 
- *     username = account.purple_account_get_username(c_account)
- */
-  purple_debug_info(__pyx_k_16, __pyx_k_17, __pyx_k_18);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":96
- *     debug.purple_debug_info("account", "%s", "status-changed\n")
- * 
- *     username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- */
-  __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_username);
-  __pyx_v_username = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":97
- * 
- *     username = account.purple_account_get_username(c_account)
- *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
- * 
- *     status_id = status.purple_status_get_id(c_status)
- */
-  __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_protocol_id);
-  __pyx_v_protocol_id = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":99
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- *     status_id = status.purple_status_get_id(c_status)             # <<<<<<<<<<<<<<
- *     status_name = status.purple_status_get_name(c_status)
- * 
- */
-  __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_id(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_status_id);
-  __pyx_v_status_id = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":100
- * 
- *     status_id = status.purple_status_get_id(c_status)
- *     status_name = status.purple_status_get_name(c_status)             # <<<<<<<<<<<<<<
- * 
- *     if account_cbs.has_key("status-changed"):
- */
-  __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_name(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_status_name);
-  __pyx_v_status_name = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":102
- *     status_name = status.purple_status_get_name(c_status)
- * 
- *     if account_cbs.has_key("status-changed"):             # <<<<<<<<<<<<<<
- *         (<object> account_cbs["status-changed"])( \
- *                 (username, protocol_id), status_id, status_name)
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_19);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_19);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":103
- * 
- *     if account_cbs.has_key("status-changed"):
- *         (<object> account_cbs["status-changed"])( \             # <<<<<<<<<<<<<<
- *                 (username, protocol_id), status_id, status_name)
- * 
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_20); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":104
- *     if account_cbs.has_key("status-changed"):
- *         (<object> account_cbs["status-changed"])( \
- *                 (username, protocol_id), status_id, status_name)             # <<<<<<<<<<<<<<
- * 
- * cdef void request_add(account.PurpleAccount *c_account, \
- */
-    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_protocol_id);
-    __pyx_2 = PyTuple_New(3); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_2, 0, ((PyObject *)__pyx_3));
-    Py_INCREF(__pyx_v_status_id);
-    PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_status_id);
-    Py_INCREF(__pyx_v_status_name);
-    PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_status_name);
-    __pyx_3 = 0;
-    __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.status_changed");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-  Py_DECREF(__pyx_v_status_id);
-  Py_DECREF(__pyx_v_status_name);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":106
- *                 (username, protocol_id), status_id, status_name)
- * 
- * cdef void request_add(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
- *         const_char *remote_user, const_char *id, const_char *alias, \
- *         const_char *c_message):
- */
-
-static PyObject *__pyx_kp_24;
-static PyObject *__pyx_kp_25;
-
-static char __pyx_k_21[] = "account";
-static char __pyx_k_22[] = "%s";
-static char __pyx_k_23[] = "request-add\n";
-static char __pyx_k_24[] = "request-add";
-static char __pyx_k_25[] = "request-add";
-
-static  void __pyx_f_6purple_request_add(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_remote_user, const char *__pyx_v_id, const char *__pyx_v_alias, const char *__pyx_v_c_message) {
-  PurpleConnection *__pyx_v_gc;
-  PyObject *__pyx_v_remote_alias;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  PyObject *__pyx_v_message;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  PyObject *__pyx_5 = 0;
-  __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_message = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":113
- *     """
- *     cdef connection.PurpleConnection *gc = \
- *             account.purple_account_get_connection(c_account)             # <<<<<<<<<<<<<<
- * 
- *     debug.purple_debug_info("account", "%s", "request-add\n")
- */
-  __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":115
- *             account.purple_account_get_connection(c_account)
- * 
- *     debug.purple_debug_info("account", "%s", "request-add\n")             # <<<<<<<<<<<<<<
- * 
- *     if alias:
- */
-  purple_debug_info(__pyx_k_21, __pyx_k_22, __pyx_k_23);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":117
- *     debug.purple_debug_info("account", "%s", "request-add\n")
- * 
- *     if alias:             # <<<<<<<<<<<<<<
- *         remote_alias = <char *> alias
- *     else:
- */
-  __pyx_1 = (__pyx_v_alias != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":118
- * 
- *     if alias:
- *         remote_alias = <char *> alias             # <<<<<<<<<<<<<<
- *     else:
- *         remote_alias = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_remote_alias);
-    __pyx_v_remote_alias = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":120
- *         remote_alias = <char *> alias
- *     else:
- *         remote_alias = None             # <<<<<<<<<<<<<<
- * 
- *     if id:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_remote_alias);
-    __pyx_v_remote_alias = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":122
- *         remote_alias = None
- * 
- *     if id:             # <<<<<<<<<<<<<<
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- */
-  __pyx_1 = (__pyx_v_id != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":123
- * 
- *     if id:
- *         username = <char *> id             # <<<<<<<<<<<<<<
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- *         username = connection.purple_connection_get_display_name(gc)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":124
- *     if id:
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:             # <<<<<<<<<<<<<<
- *         username = connection.purple_connection_get_display_name(gc)
- *     else:
- */
-  __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":125
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- *         username = connection.purple_connection_get_display_name(gc)             # <<<<<<<<<<<<<<
- *     else:
- *         username = account.purple_account_get_username(c_account)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":127
- *         username = connection.purple_connection_get_display_name(gc)
- *     else:
- *         username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
- * 
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":129
- *         username = account.purple_account_get_username(c_account)
- * 
- *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
- * 
- *     if c_message:
- */
-  __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_protocol_id);
-  __pyx_v_protocol_id = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":131
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- *     if c_message:             # <<<<<<<<<<<<<<
- *         message = <char *> c_message
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_message != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":132
- * 
- *     if c_message:
- *         message = <char *> c_message             # <<<<<<<<<<<<<<
- *     else:
- *         message = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":134
- *         message = <char *> c_message
- *     else:
- *         message = None             # <<<<<<<<<<<<<<
- * 
- *     if account_cbs.has_key("request-add"):
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = Py_None;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":136
- *         message = None
- * 
- *     if account_cbs.has_key("request-add"):             # <<<<<<<<<<<<<<
- *         (<object> account_cbs["request-add"])( \
- *                 (<char *> remote_user, remote_alias), \
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_24);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_24);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":137
- * 
- *     if account_cbs.has_key("request-add"):
- *         (<object> account_cbs["request-add"])( \             # <<<<<<<<<<<<<<
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), message)
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_25); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":138
- *     if account_cbs.has_key("request-add"):
- *         (<object> account_cbs["request-add"])( \
- *                 (<char *> remote_user, remote_alias), \             # <<<<<<<<<<<<<<
- *                 (username, protocol_id), message)
- * 
- */
-    __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
-    Py_INCREF(__pyx_v_remote_alias);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
-    __pyx_4 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":139
- *         (<object> account_cbs["request-add"])( \
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), message)             # <<<<<<<<<<<<<<
- * 
- * cdef void *request_authorize(account.PurpleAccount *c_account, \
- */
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
-    __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3));
-    PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4));
-    Py_INCREF(__pyx_v_message);
-    PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message);
-    __pyx_3 = 0;
-    __pyx_4 = 0;
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  Py_XDECREF(__pyx_5);
-  __Pyx_WriteUnraisable("purple.request_add");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_remote_alias);
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-  Py_DECREF(__pyx_v_message);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":141
- *                 (username, protocol_id), message)
- * 
- * cdef void *request_authorize(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
- *         const_char *remote_user, const_char *id, const_char *alias, \
- *         const_char *c_message, glib.gboolean on_list, \
- */
-
-static char __pyx_k_call_authorize_cb[] = "call_authorize_cb";
-static char __pyx_k_call_deny_cb[] = "call_deny_cb";
-
-static PyObject *__pyx_kp_call_authorize_cb;
-static PyObject *__pyx_kp_call_deny_cb;
-
-static PyObject *__pyx_kp_29;
-static PyObject *__pyx_kp_30;
-
-static char __pyx_k_26[] = "account";
-static char __pyx_k_27[] = "%s";
-static char __pyx_k_28[] = "request-authorize\n";
-static char __pyx_k_29[] = "request-authorize";
-static char __pyx_k_30[] = "request-authorize";
-
-static  void *__pyx_f_6purple_request_authorize(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_remote_user, const char *__pyx_v_id, const char *__pyx_v_alias, const char *__pyx_v_c_message, gboolean __pyx_v_on_list, PurpleAccountRequestAuthorizationCb __pyx_v_authorize_cb, PurpleAccountRequestAuthorizationCb __pyx_v_deny_cb, void *__pyx_v_user_data) {
-  PurpleConnection *__pyx_v_gc;
-  PyObject *__pyx_v_remote_alias;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  PyObject *__pyx_v_message;
-  void *__pyx_r;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  PyObject *__pyx_5 = 0;
-  PyObject *__pyx_6 = 0;
-  PyObject *__pyx_7 = 0;
-  PyObject *__pyx_8 = 0;
-  __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_message = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":154
- *     """
- *     cdef connection.PurpleConnection *gc = \
- *             account.purple_account_get_connection(c_account)             # <<<<<<<<<<<<<<
- * 
- *     debug.purple_debug_info("account", "%s", "request-authorize\n")
- */
-  __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":156
- *             account.purple_account_get_connection(c_account)
- * 
- *     debug.purple_debug_info("account", "%s", "request-authorize\n")             # <<<<<<<<<<<<<<
- * 
- *     global c_request_authorize_authorize_cb
- */
-  purple_debug_info(__pyx_k_26, __pyx_k_27, __pyx_k_28);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":162
- *     global c_request_authorize_user_data
- * 
- *     c_request_authorize_authorize_cb = authorize_cb             # <<<<<<<<<<<<<<
- *     c_request_authorize_deny_cb = deny_cb
- *     c_request_authorize_user_data = user_data
- */
-  __pyx_v_6purple_c_request_authorize_authorize_cb = __pyx_v_authorize_cb;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":163
- * 
- *     c_request_authorize_authorize_cb = authorize_cb
- *     c_request_authorize_deny_cb = deny_cb             # <<<<<<<<<<<<<<
- *     c_request_authorize_user_data = user_data
- * 
- */
-  __pyx_v_6purple_c_request_authorize_deny_cb = __pyx_v_deny_cb;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":164
- *     c_request_authorize_authorize_cb = authorize_cb
- *     c_request_authorize_deny_cb = deny_cb
- *     c_request_authorize_user_data = user_data             # <<<<<<<<<<<<<<
- * 
- *     if alias:
- */
-  __pyx_v_6purple_c_request_authorize_user_data = __pyx_v_user_data;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":166
- *     c_request_authorize_user_data = user_data
- * 
- *     if alias:             # <<<<<<<<<<<<<<
- *         remote_alias = <char *> alias
- *     else:
- */
-  __pyx_1 = (__pyx_v_alias != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":167
- * 
- *     if alias:
- *         remote_alias = <char *> alias             # <<<<<<<<<<<<<<
- *     else:
- *         remote_alias = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_remote_alias);
-    __pyx_v_remote_alias = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":169
- *         remote_alias = <char *> alias
- *     else:
- *         remote_alias = None             # <<<<<<<<<<<<<<
- * 
- *     if id:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_remote_alias);
-    __pyx_v_remote_alias = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":171
- *         remote_alias = None
- * 
- *     if id:             # <<<<<<<<<<<<<<
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- */
-  __pyx_1 = (__pyx_v_id != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":172
- * 
- *     if id:
- *         username = <char *> id             # <<<<<<<<<<<<<<
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- *         username = connection.purple_connection_get_display_name(gc)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":173
- *     if id:
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:             # <<<<<<<<<<<<<<
- *         username = connection.purple_connection_get_display_name(gc)
- *     else:
- */
-  __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":174
- *         username = <char *> id
- *     elif connection.purple_connection_get_display_name(gc) != NULL:
- *         username = connection.purple_connection_get_display_name(gc)             # <<<<<<<<<<<<<<
- *     else:
- *         username = account.purple_account_get_username(c_account)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":176
- *         username = connection.purple_connection_get_display_name(gc)
- *     else:
- *         username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
- * 
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":178
- *         username = account.purple_account_get_username(c_account)
- * 
- *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
- * 
- *     if c_message:
- */
-  __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_protocol_id);
-  __pyx_v_protocol_id = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":180
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- *     if c_message:             # <<<<<<<<<<<<<<
- *         message = <char *> c_message
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_message != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":181
- * 
- *     if c_message:
- *         message = <char *> c_message             # <<<<<<<<<<<<<<
- *     else:
- *         message = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":183
- *         message = <char *> c_message
- *     else:
- *         message = None             # <<<<<<<<<<<<<<
- * 
- *     if account_cbs.has_key("request-authorize"):
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = Py_None;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":185
- *         message = None
- * 
- *     if account_cbs.has_key("request-authorize"):             # <<<<<<<<<<<<<<
- *         (<object> account_cbs["request-authorize"])( \
- *                 (<char *> remote_user, remote_alias), \
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_29);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_29);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":186
- * 
- *     if account_cbs.has_key("request-authorize"):
- *         (<object> account_cbs["request-authorize"])( \             # <<<<<<<<<<<<<<
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), \
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_30); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":187
- *     if account_cbs.has_key("request-authorize"):
- *         (<object> account_cbs["request-authorize"])( \
- *                 (<char *> remote_user, remote_alias), \             # <<<<<<<<<<<<<<
- *                 (username, protocol_id), \
- *                 message, on_list, \
- */
-    __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
-    Py_INCREF(__pyx_v_remote_alias);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
-    __pyx_4 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":188
- *         (<object> account_cbs["request-authorize"])( \
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), \             # <<<<<<<<<<<<<<
- *                 message, on_list, \
- *                 call_authorize_cb, call_deny_cb)
- */
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":189
- *                 (<char *> remote_user, remote_alias), \
- *                 (username, protocol_id), \
- *                 message, on_list, \             # <<<<<<<<<<<<<<
- *                 call_authorize_cb, call_deny_cb)
- * 
- */
-    __pyx_5 = PyInt_FromLong(__pyx_v_on_list); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":190
- *                 (username, protocol_id), \
- *                 message, on_list, \
- *                 call_authorize_cb, call_deny_cb)             # <<<<<<<<<<<<<<
- * 
- * cdef void close_account_request (void *ui_handle):
- */
-    __pyx_6 = __Pyx_GetName(__pyx_m, __pyx_kp_call_authorize_cb); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_7 = __Pyx_GetName(__pyx_m, __pyx_kp_call_deny_cb); if (unlikely(!__pyx_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_8 = PyTuple_New(6); if (unlikely(!__pyx_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_8, 0, ((PyObject *)__pyx_3));
-    PyTuple_SET_ITEM(__pyx_8, 1, ((PyObject *)__pyx_4));
-    Py_INCREF(__pyx_v_message);
-    PyTuple_SET_ITEM(__pyx_8, 2, __pyx_v_message);
-    PyTuple_SET_ITEM(__pyx_8, 3, __pyx_5);
-    PyTuple_SET_ITEM(__pyx_8, 4, __pyx_6);
-    PyTuple_SET_ITEM(__pyx_8, 5, __pyx_7);
-    __pyx_3 = 0;
-    __pyx_4 = 0;
-    __pyx_5 = 0;
-    __pyx_6 = 0;
-    __pyx_7 = 0;
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_8), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_8)); __pyx_8 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  Py_XDECREF(__pyx_5);
-  Py_XDECREF(__pyx_6);
-  Py_XDECREF(__pyx_7);
-  Py_XDECREF(__pyx_8);
-  __Pyx_WriteUnraisable("purple.request_authorize");
-  __pyx_r = 0;
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_remote_alias);
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-  Py_DECREF(__pyx_v_message);
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":192
- *                 call_authorize_cb, call_deny_cb)
- * 
- * cdef void close_account_request (void *ui_handle):             # <<<<<<<<<<<<<<
- *     """
- *     Close a pending request for authorization. ui_handle is a handle as
- */
-
-static PyObject *__pyx_kp_34;
-static PyObject *__pyx_kp_35;
-
-static char __pyx_k_31[] = "account";
-static char __pyx_k_32[] = "%s";
-static char __pyx_k_33[] = "close-account-request\n";
-static char __pyx_k_34[] = "close-account-request";
-static char __pyx_k_35[] = "close-account-request";
-
-static  void __pyx_f_6purple_close_account_request(void *__pyx_v_ui_handle) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":197
- *     returned by request_authorize.
- *     """
- *     debug.purple_debug_info("account", "%s", "close-account-request\n")             # <<<<<<<<<<<<<<
- * 
- *     request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)
- */
-  purple_debug_info(__pyx_k_31, __pyx_k_32, __pyx_k_33);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":199
- *     debug.purple_debug_info("account", "%s", "close-account-request\n")
- * 
- *     request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)             # <<<<<<<<<<<<<<
- * 
- *     if account_cbs.has_key("close-account-request"):
- */
-  purple_request_close(PURPLE_REQUEST_ACTION, __pyx_v_ui_handle);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":201
- *     request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)
- * 
- *     if account_cbs.has_key("close-account-request"):             # <<<<<<<<<<<<<<
- *         (<object> account_cbs["close-account-request"])()
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_34);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_34);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":202
- * 
- *     if account_cbs.has_key("close-account-request"):
- *         (<object> account_cbs["close-account-request"])()             # <<<<<<<<<<<<<<
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_35); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.close_account_request");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":27
- * blist_cbs = {}
- * 
- * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
- *     cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
- *     cdef char *c_name = NULL
- */
-
-static  void __pyx_f_6purple___group_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
-  PurpleGroup *__pyx_v_group;
-  char *__pyx_v_c_name;
-  PyObject *__pyx_v_name;
-  PyObject *__pyx_v_currentsize;
-  PyObject *__pyx_v_totalsize;
-  PyObject *__pyx_v_online;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  __pyx_v_name = Py_None; Py_INCREF(Py_None);
-  __pyx_v_currentsize = Py_None; Py_INCREF(Py_None);
-  __pyx_v_totalsize = Py_None; Py_INCREF(Py_None);
-  __pyx_v_online = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":28
- * 
- * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node             # <<<<<<<<<<<<<<
- *     cdef char *c_name = NULL
- * 
- */
-  __pyx_v_group = ((PurpleGroup *)__pyx_v_node);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":29
- * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
- *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_name = <char *> blist.purple_group_get_name(group)
- */
-  __pyx_v_c_name = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":31
- *     cdef char *c_name = NULL
- * 
- *     c_name = <char *> blist.purple_group_get_name(group)             # <<<<<<<<<<<<<<
- *     if c_name == NULL:
- *         name = None
- */
-  __pyx_v_c_name = ((char *)purple_group_get_name(__pyx_v_group));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":32
- * 
- *     c_name = <char *> blist.purple_group_get_name(group)
- *     if c_name == NULL:             # <<<<<<<<<<<<<<
- *         name = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_name == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":33
- *     c_name = <char *> blist.purple_group_get_name(group)
- *     if c_name == NULL:
- *         name = None             # <<<<<<<<<<<<<<
- *     else:
- *         name = c_name
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":35
- *         name = None
- *     else:
- *         name = c_name             # <<<<<<<<<<<<<<
- * 
- *     currentsize = blist.purple_blist_get_group_size(group, False)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":37
- *         name = c_name
- * 
- *     currentsize = blist.purple_blist_get_group_size(group, False)             # <<<<<<<<<<<<<<
- *     totalsize = blist.purple_blist_get_group_size(group, True)
- *     online = blist.purple_blist_get_group_online_count(group)
- */
-  __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 0)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_currentsize);
-  __pyx_v_currentsize = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":38
- * 
- *     currentsize = blist.purple_blist_get_group_size(group, False)
- *     totalsize = blist.purple_blist_get_group_size(group, True)             # <<<<<<<<<<<<<<
- *     online = blist.purple_blist_get_group_online_count(group)
- * 
- */
-  __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 1)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_totalsize);
-  __pyx_v_totalsize = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":39
- *     currentsize = blist.purple_blist_get_group_size(group, False)
- *     totalsize = blist.purple_blist_get_group_size(group, True)
- *     online = blist.purple_blist_get_group_online_count(group)             # <<<<<<<<<<<<<<
- * 
- *     callback(node.type, name, totalsize, currentsize, online)
- */
-  __pyx_2 = PyInt_FromLong(purple_blist_get_group_online_count(__pyx_v_group)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_online);
-  __pyx_v_online = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":41
- *     online = blist.purple_blist_get_group_online_count(group)
- * 
- *     callback(node.type, name, totalsize, currentsize, online)             # <<<<<<<<<<<<<<
- * 
- * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
- */
-  __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_name);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
-  Py_INCREF(__pyx_v_totalsize);
-  PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_totalsize);
-  Py_INCREF(__pyx_v_currentsize);
-  PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_currentsize);
-  Py_INCREF(__pyx_v_online);
-  PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_online);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.__group_node_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_name);
-  Py_DECREF(__pyx_v_currentsize);
-  Py_DECREF(__pyx_v_totalsize);
-  Py_DECREF(__pyx_v_online);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":43
- *     callback(node.type, name, totalsize, currentsize, online)
- * 
- * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
- *     cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
- *     cdef char *c_alias = NULL
- */
-
-static  void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
-  PurpleContact *__pyx_v_contact;
-  char *__pyx_v_c_alias;
-  PyObject *__pyx_v_alias;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  PyObject *__pyx_5 = 0;
-  PyObject *__pyx_6 = 0;
-  __pyx_v_alias = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":44
- * 
- * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleContact *contact = <blist.PurpleContact *>node             # <<<<<<<<<<<<<<
- *     cdef char *c_alias = NULL
- * 
- */
-  __pyx_v_contact = ((PurpleContact *)__pyx_v_node);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":45
- * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
- *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_alias = <char *> blist.purple_contact_get_alias(contact)
- */
-  __pyx_v_c_alias = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":47
- *     cdef char *c_alias = NULL
- * 
- *     c_alias = <char *> blist.purple_contact_get_alias(contact)             # <<<<<<<<<<<<<<
- *     if c_alias == NULL:
- *         alias = None
- */
-  __pyx_v_c_alias = ((char *)purple_contact_get_alias(__pyx_v_contact));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":48
- * 
- *     c_alias = <char *> blist.purple_contact_get_alias(contact)
- *     if c_alias == NULL:             # <<<<<<<<<<<<<<
- *         alias = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_alias == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":49
- *     c_alias = <char *> blist.purple_contact_get_alias(contact)
- *     if c_alias == NULL:
- *         alias = None             # <<<<<<<<<<<<<<
- *     else:
- *         alias = c_alias
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_alias);
-    __pyx_v_alias = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":51
- *         alias = None
- *     else:
- *         alias = c_alias             # <<<<<<<<<<<<<<
- * 
- *     callback(node.type, alias, contact.totalsize, contact.currentsize, \
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_alias);
-    __pyx_v_alias = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":53
- *         alias = c_alias
- * 
- *     callback(node.type, alias, contact.totalsize, contact.currentsize, \             # <<<<<<<<<<<<<<
- *              contact.online)
- * 
- */
-  __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyInt_FromLong(__pyx_v_contact->totalsize); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_4 = PyInt_FromLong(__pyx_v_contact->currentsize); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":54
- * 
- *     callback(node.type, alias, contact.totalsize, contact.currentsize, \
- *              contact.online)             # <<<<<<<<<<<<<<
- * 
- * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
- */
-  __pyx_5 = PyInt_FromLong(__pyx_v_contact->online); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_6 = PyTuple_New(5); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_6, 0, __pyx_2);
-  Py_INCREF(__pyx_v_alias);
-  PyTuple_SET_ITEM(__pyx_6, 1, __pyx_v_alias);
-  PyTuple_SET_ITEM(__pyx_6, 2, __pyx_3);
-  PyTuple_SET_ITEM(__pyx_6, 3, __pyx_4);
-  PyTuple_SET_ITEM(__pyx_6, 4, __pyx_5);
-  __pyx_2 = 0;
-  __pyx_3 = 0;
-  __pyx_4 = 0;
-  __pyx_5 = 0;
-  __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0;
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  Py_XDECREF(__pyx_5);
-  Py_XDECREF(__pyx_6);
-  __Pyx_WriteUnraisable("purple.__contact_node_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_alias);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":56
- *              contact.online)
- * 
- * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
- *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
- *     cdef char *c_name = NULL
- */
-
-static  void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
-  PurpleBuddy *__pyx_v_buddy;
-  char *__pyx_v_c_name;
-  char *__pyx_v_c_alias;
-  PyObject *__pyx_v_name;
-  PyObject *__pyx_v_alias;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  __pyx_v_name = Py_None; Py_INCREF(Py_None);
-  __pyx_v_alias = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":57
- * 
- * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node             # <<<<<<<<<<<<<<
- *     cdef char *c_name = NULL
- *     cdef char *c_alias = NULL
- */
-  __pyx_v_buddy = ((PurpleBuddy *)__pyx_v_node);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":58
- * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
- *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_alias = NULL
- * 
- */
-  __pyx_v_c_name = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":59
- *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
- *     cdef char *c_name = NULL
- *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- */
-  __pyx_v_c_alias = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":61
- *     cdef char *c_alias = NULL
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)             # <<<<<<<<<<<<<<
- *     if c_name == NULL:
- *         name = None
- */
-  __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":62
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- *     if c_name == NULL:             # <<<<<<<<<<<<<<
- *         name = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_name == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":63
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- *     if c_name == NULL:
- *         name = None             # <<<<<<<<<<<<<<
- *     else:
- *         name = c_name
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":65
- *         name = None
- *     else:
- *         name = c_name             # <<<<<<<<<<<<<<
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":67
- *         name = c_name
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
- *     if c_alias == NULL:
- *         alias = None
- */
-  __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":68
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- *     if c_alias == NULL:             # <<<<<<<<<<<<<<
- *         alias = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_alias == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":69
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- *     if c_alias == NULL:
- *         alias = None             # <<<<<<<<<<<<<<
- *     else:
- *         alias = c_alias
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_alias);
-    __pyx_v_alias = Py_None;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":71
- *         alias = None
- *     else:
- *         alias = c_alias             # <<<<<<<<<<<<<<
- * 
- *     callback(node.type, name, alias)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_alias);
-    __pyx_v_alias = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":73
- *         alias = c_alias
- * 
- *     callback(node.type, name, alias)             # <<<<<<<<<<<<<<
- * 
- * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
- */
-  __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(3); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_name);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
-  Py_INCREF(__pyx_v_alias);
-  PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_alias);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.__buddy_node_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_name);
-  Py_DECREF(__pyx_v_alias);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":75
- *     callback(node.type, name, alias)
- * 
- * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
- *     cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
- *     cdef char *c_name = NULL
- */
-
-static  void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
-  PurpleChat *__pyx_v_chat;
-  char *__pyx_v_c_name;
-  PyObject *__pyx_v_name;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  __pyx_v_name = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":76
- * 
- * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleChat *chat = <blist.PurpleChat *>node             # <<<<<<<<<<<<<<
- *     cdef char *c_name = NULL
- * 
- */
-  __pyx_v_chat = ((PurpleChat *)__pyx_v_node);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":77
- * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
- *     cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
- *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_name = <char *> blist.purple_chat_get_name(chat)
- */
-  __pyx_v_c_name = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":79
- *     cdef char *c_name = NULL
- * 
- *     c_name = <char *> blist.purple_chat_get_name(chat)             # <<<<<<<<<<<<<<
- *     if c_name == NULL:
- *         name = None
- */
-  __pyx_v_c_name = ((char *)purple_chat_get_name(__pyx_v_chat));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":80
- * 
- *     c_name = <char *> blist.purple_chat_get_name(chat)
- *     if c_name == NULL:             # <<<<<<<<<<<<<<
- *         name = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_name == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":81
- *     c_name = <char *> blist.purple_chat_get_name(chat)
- *     if c_name == NULL:
- *         name = None             # <<<<<<<<<<<<<<
- *     else:
- *         name = c_name
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":83
- *         name = None
- *     else:
- *         name = c_name             # <<<<<<<<<<<<<<
- * 
- *     callback(node.type, name)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":85
- *         name = c_name
- * 
- *     callback(node.type, name)             # <<<<<<<<<<<<<<
- * 
- * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
- */
-  __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-  Py_INCREF(__pyx_v_name);
-  PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
-  __pyx_2 = 0;
-  __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.__chat_node_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_name);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":87
- *     callback(node.type, name)
- * 
- * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
- *     callback(node.type)
- * 
- */
-
-static  void __pyx_f_6purple___other_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":88
- * 
- * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
- *     callback(node.type)             # <<<<<<<<<<<<<<
- * 
- * cdef void new_list(blist.PurpleBuddyList *list):
- */
-  __pyx_1 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
-  __pyx_1 = 0;
-  __pyx_1 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  __Pyx_WriteUnraisable("purple.__other_node_cb");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":90
- *     callback(node.type)
- * 
- * cdef void new_list(blist.PurpleBuddyList *list):             # <<<<<<<<<<<<<<
- *     """
- *     Sets UI-specific data on a buddy list.
- */
-
-static PyObject *__pyx_kp_39;
-static PyObject *__pyx_kp_40;
-static PyObject *__pyx_kp_41;
-
-static char __pyx_k_36[] = "blist";
-static char __pyx_k_37[] = "%s";
-static char __pyx_k_38[] = "new-list\n";
-static char __pyx_k_39[] = "new-list";
-static char __pyx_k_40[] = "new-list";
-static char __pyx_k_41[] = "new-list: TODO";
-
-static  void __pyx_f_6purple_new_list(PurpleBuddyList *__pyx_v_list) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":94
- *     Sets UI-specific data on a buddy list.
- *     """
- *     debug.purple_debug_info("blist", "%s", "new-list\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("new-list"):
- *         (<object> blist_cbs["new-list"])("new-list: TODO")
- */
-  purple_debug_info(__pyx_k_36, __pyx_k_37, __pyx_k_38);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":95
- *     """
- *     debug.purple_debug_info("blist", "%s", "new-list\n")
- *     if blist_cbs.has_key("new-list"):             # <<<<<<<<<<<<<<
- *         (<object> blist_cbs["new-list"])("new-list: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_39);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_39);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":96
- *     debug.purple_debug_info("blist", "%s", "new-list\n")
- *     if blist_cbs.has_key("new-list"):
- *         (<object> blist_cbs["new-list"])("new-list: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void new_node(blist.PurpleBlistNode *node):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_40); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_41);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_41);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.new_list");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":98
- *         (<object> blist_cbs["new-list"])("new-list: TODO")
- * 
- * cdef void new_node(blist.PurpleBlistNode *node):             # <<<<<<<<<<<<<<
- *     """
- *     Sets UI-specific data on a node.
- */
-
-static PyObject *__pyx_kp_45;
-static PyObject *__pyx_kp_46;
-static PyObject *__pyx_kp_47;
-static PyObject *__pyx_kp_48;
-static PyObject *__pyx_kp_49;
-static PyObject *__pyx_kp_50;
-
-static char __pyx_k_42[] = "blist";
-static char __pyx_k_43[] = "%s";
-static char __pyx_k_44[] = "new-node\n";
-static char __pyx_k_45[] = "new-node";
-static char __pyx_k_46[] = "new-node";
-static char __pyx_k_47[] = "new-node";
-static char __pyx_k_48[] = "new-node";
-static char __pyx_k_49[] = "new-node";
-static char __pyx_k_50[] = "new-node";
-
-static  void __pyx_f_6purple_new_node(PurpleBlistNode *__pyx_v_node) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":102
- *     Sets UI-specific data on a node.
- *     """
- *     debug.purple_debug_info("blist", "%s", "new-node\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("new-node"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- */
-  purple_debug_info(__pyx_k_42, __pyx_k_43, __pyx_k_44);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":103
- *     """
- *     debug.purple_debug_info("blist", "%s", "new-node\n")
- *     if blist_cbs.has_key("new-node"):             # <<<<<<<<<<<<<<
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["new-node"])
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_45);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_45);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":104
- *     debug.purple_debug_info("blist", "%s", "new-node\n")
- *     if blist_cbs.has_key("new-node"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:             # <<<<<<<<<<<<<<
- *             __group_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":105
- *     if blist_cbs.has_key("new-node"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["new-node"])
- */
-      __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_46); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":106
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:             # <<<<<<<<<<<<<<
- *             __contact_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":107
- *             __group_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["new-node"])
- */
-      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_47); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":108
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:             # <<<<<<<<<<<<<<
- *             __buddy_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":109
- *             __contact_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["new-node"])
- */
-      __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_48); if (!__pyx_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":110
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:             # <<<<<<<<<<<<<<
- *             __chat_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":111
- *             __buddy_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- *             __other_node_cb(node, blist_cbs["new-node"])
- */
-      __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_49); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":112
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:             # <<<<<<<<<<<<<<
- *             __other_node_cb(node, blist_cbs["new-node"])
- * 
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":113
- *             __chat_node_cb(node, blist_cbs["new-node"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- *             __other_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
- * 
- * cdef void show(blist.PurpleBuddyList *list):
- */
-      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_50); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      goto __pyx_L3;
-    }
-    __pyx_L3:;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.new_node");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":115
- *             __other_node_cb(node, blist_cbs["new-node"])
- * 
- * cdef void show(blist.PurpleBuddyList *list):             # <<<<<<<<<<<<<<
- *     """
- *     The core will call this when it's finished doing its core stuff.
- */
-
-static char __pyx_k_54[] = "show";
-static char __pyx_k_55[] = "show";
-
-static PyObject *__pyx_kp_54;
-static PyObject *__pyx_kp_55;
-
-static PyObject *__pyx_kp_56;
-
-static char __pyx_k_51[] = "blist";
-static char __pyx_k_52[] = "%s";
-static char __pyx_k_53[] = "show\n";
-static char __pyx_k_56[] = "show: TODO";
-
-static  void __pyx_f_6purple_show(PurpleBuddyList *__pyx_v_list) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":119
- *     The core will call this when it's finished doing its core stuff.
- *     """
- *     debug.purple_debug_info("blist", "%s", "show\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("show"):
- *         (<object> blist_cbs["show"])("show: TODO")
- */
-  purple_debug_info(__pyx_k_51, __pyx_k_52, __pyx_k_53);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":120
- *     """
- *     debug.purple_debug_info("blist", "%s", "show\n")
- *     if blist_cbs.has_key("show"):             # <<<<<<<<<<<<<<
- *         (<object> blist_cbs["show"])("show: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_54);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_54);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":121
- *     debug.purple_debug_info("blist", "%s", "show\n")
- *     if blist_cbs.has_key("show"):
- *         (<object> blist_cbs["show"])("show: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_55); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_56);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_56);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.show");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":123
- *         (<object> blist_cbs["show"])("show: TODO")
- * 
- * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):             # <<<<<<<<<<<<<<
- *     """
- *     This will update a node in the buddy list.
- */
-
-static char __pyx_k_60[] = "update";
-static char __pyx_k_61[] = "update";
-static char __pyx_k_62[] = "update";
-static char __pyx_k_63[] = "update";
-static char __pyx_k_64[] = "update";
-static char __pyx_k_65[] = "update";
-
-static PyObject *__pyx_kp_60;
-static PyObject *__pyx_kp_61;
-static PyObject *__pyx_kp_62;
-static PyObject *__pyx_kp_63;
-static PyObject *__pyx_kp_64;
-static PyObject *__pyx_kp_65;
-
-
-static char __pyx_k_57[] = "blist";
-static char __pyx_k_58[] = "%s";
-static char __pyx_k_59[] = "update\n";
-
-static  void __pyx_f_6purple_update(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":127
- *     This will update a node in the buddy list.
- *     """
- *     debug.purple_debug_info("blist", "%s", "update\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("update"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- */
-  purple_debug_info(__pyx_k_57, __pyx_k_58, __pyx_k_59);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":128
- *     """
- *     debug.purple_debug_info("blist", "%s", "update\n")
- *     if blist_cbs.has_key("update"):             # <<<<<<<<<<<<<<
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["update"])
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_60);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_60);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":129
- *     debug.purple_debug_info("blist", "%s", "update\n")
- *     if blist_cbs.has_key("update"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:             # <<<<<<<<<<<<<<
- *             __group_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":130
- *     if blist_cbs.has_key("update"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["update"])
- */
-      __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_61); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":131
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:             # <<<<<<<<<<<<<<
- *             __contact_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":132
- *             __group_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["update"])
- */
-      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_62); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":133
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:             # <<<<<<<<<<<<<<
- *             __buddy_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":134
- *             __contact_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["update"])
- */
-      __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_63); if (!__pyx_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":135
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:             # <<<<<<<<<<<<<<
- *             __chat_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":136
- *             __buddy_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- *             __other_node_cb(node, blist_cbs["update"])
- */
-      __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_64); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":137
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:             # <<<<<<<<<<<<<<
- *             __other_node_cb(node, blist_cbs["update"])
- * 
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":138
- *             __chat_node_cb(node, blist_cbs["update"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- *             __other_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
- * 
- * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):
- */
-      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_65); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      goto __pyx_L3;
-    }
-    __pyx_L3:;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.update");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":140
- *             __other_node_cb(node, blist_cbs["update"])
- * 
- * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):             # <<<<<<<<<<<<<<
- *     """
- *     This removes a node from the list.
- */
-
-static char __pyx_k_69[] = "remove";
-static char __pyx_k_70[] = "remove";
-static char __pyx_k_71[] = "remove";
-static char __pyx_k_72[] = "remove";
-static char __pyx_k_73[] = "remove";
-static char __pyx_k_74[] = "remove";
-
-static PyObject *__pyx_kp_69;
-static PyObject *__pyx_kp_70;
-static PyObject *__pyx_kp_71;
-static PyObject *__pyx_kp_72;
-static PyObject *__pyx_kp_73;
-static PyObject *__pyx_kp_74;
-
-
-static char __pyx_k_66[] = "blist";
-static char __pyx_k_67[] = "%s";
-static char __pyx_k_68[] = "remove\n";
-
-static  void __pyx_f_6purple_remove(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":144
- *     This removes a node from the list.
- *     """
- *     debug.purple_debug_info("blist", "%s", "remove\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("remove"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- */
-  purple_debug_info(__pyx_k_66, __pyx_k_67, __pyx_k_68);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":145
- *     """
- *     debug.purple_debug_info("blist", "%s", "remove\n")
- *     if blist_cbs.has_key("remove"):             # <<<<<<<<<<<<<<
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["remove"])
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_69);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_69);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":146
- *     debug.purple_debug_info("blist", "%s", "remove\n")
- *     if blist_cbs.has_key("remove"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:             # <<<<<<<<<<<<<<
- *             __group_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":147
- *     if blist_cbs.has_key("remove"):
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["remove"])
- */
-      __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_70); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":148
- *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
- *             __group_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:             # <<<<<<<<<<<<<<
- *             __contact_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":149
- *             __group_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["remove"])
- */
-      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_71); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":150
- *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
- *             __contact_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:             # <<<<<<<<<<<<<<
- *             __buddy_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":151
- *             __contact_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["remove"])
- */
-      __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_72); if (!__pyx_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":152
- *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
- *             __buddy_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:             # <<<<<<<<<<<<<<
- *             __chat_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":153
- *             __buddy_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- *             __other_node_cb(node, blist_cbs["remove"])
- */
-      __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_73); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
-      Py_DECREF(__pyx_1); __pyx_1 = 0;
-      goto __pyx_L3;
-    }
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":154
- *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
- *             __chat_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:             # <<<<<<<<<<<<<<
- *             __other_node_cb(node, blist_cbs["remove"])
- * 
- */
-    __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
-    if (__pyx_4) {
-
-      /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":155
- *             __chat_node_cb(node, blist_cbs["remove"])
- *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
- *             __other_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
- * 
- * cdef void destroy(blist.PurpleBuddyList *list):
- */
-      __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_74); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-      Py_DECREF(__pyx_3); __pyx_3 = 0;
-      __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
-      Py_DECREF(__pyx_2); __pyx_2 = 0;
-      goto __pyx_L3;
-    }
-    __pyx_L3:;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.remove");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":157
- *             __other_node_cb(node, blist_cbs["remove"])
- * 
- * cdef void destroy(blist.PurpleBuddyList *list):             # <<<<<<<<<<<<<<
- *     """
- *     When the list gets destroyed, this gets called to destroy the UI.
- */
-
-static char __pyx_k_78[] = "destroy";
-static char __pyx_k_79[] = "destroy";
-
-static PyObject *__pyx_kp_78;
-static PyObject *__pyx_kp_79;
-
-static PyObject *__pyx_kp_80;
-
-static char __pyx_k_75[] = "blist";
-static char __pyx_k_76[] = "%s";
-static char __pyx_k_77[] = "destroy\n";
-static char __pyx_k_80[] = "destroy: TODO";
-
-static  void __pyx_f_6purple_destroy(PurpleBuddyList *__pyx_v_list) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":161
- *     When the list gets destroyed, this gets called to destroy the UI.
- *     """
- *     debug.purple_debug_info("blist", "%s", "destroy\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("destroy"):
- *         (<object> blist_cbs["destroy"])("destroy: TODO")
- */
-  purple_debug_info(__pyx_k_75, __pyx_k_76, __pyx_k_77);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":162
- *     """
- *     debug.purple_debug_info("blist", "%s", "destroy\n")
- *     if blist_cbs.has_key("destroy"):             # <<<<<<<<<<<<<<
- *         (<object> blist_cbs["destroy"])("destroy: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_78);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_78);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":163
- *     debug.purple_debug_info("blist", "%s", "destroy\n")
- *     if blist_cbs.has_key("destroy"):
- *         (<object> blist_cbs["destroy"])("destroy: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_79); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_80);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_80);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.destroy");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":165
- *         (<object> blist_cbs["destroy"])("destroy: TODO")
- * 
- * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show):             # <<<<<<<<<<<<<<
- *     """
- *     Hides or unhides the buddy list.
- */
-
-static PyObject *__pyx_kp_84;
-static PyObject *__pyx_kp_85;
-static PyObject *__pyx_kp_86;
-
-static char __pyx_k_81[] = "blist";
-static char __pyx_k_82[] = "%s";
-static char __pyx_k_83[] = "set-visible\n";
-static char __pyx_k_84[] = "set-visible";
-static char __pyx_k_85[] = "set-visible";
-static char __pyx_k_86[] = "set-visible: TODO";
-
-static  void __pyx_f_6purple_set_visible(PurpleBuddyList *__pyx_v_list, gboolean __pyx_v_show) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":169
- *     Hides or unhides the buddy list.
- *     """
- *     debug.purple_debug_info("blist", "%s", "set-visible\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("set-visible"):
- *         (<object> blist_cbs["set-visible"])("set-visible: TODO")
- */
-  purple_debug_info(__pyx_k_81, __pyx_k_82, __pyx_k_83);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":170
- *     """
- *     debug.purple_debug_info("blist", "%s", "set-visible\n")
- *     if blist_cbs.has_key("set-visible"):             # <<<<<<<<<<<<<<
- *         (<object> blist_cbs["set-visible"])("set-visible: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_84);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_84);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":171
- *     debug.purple_debug_info("blist", "%s", "set-visible\n")
- *     if blist_cbs.has_key("set-visible"):
- *         (<object> blist_cbs["set-visible"])("set-visible: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void request_add_buddy(account.PurpleAccount *c_account, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_85); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_86);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_86);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.set_visible");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":173
- *         (<object> blist_cbs["set-visible"])("set-visible: TODO")
- * 
- * cdef void request_add_buddy(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
- *         const_char *c_buddy_username, const_char *c_buddy_group, \
- *         const_char *c_buddy_alias):
- */
-
-static PyObject *__pyx_kp_90;
-static PyObject *__pyx_kp_91;
-
-static char __pyx_k_87[] = "blist";
-static char __pyx_k_88[] = "%s";
-static char __pyx_k_89[] = "request-add-buddy\n";
-static char __pyx_k_90[] = "request-add-buddy";
-static char __pyx_k_91[] = "request-add-buddy";
-
-static  void __pyx_f_6purple_request_add_buddy(PurpleAccount *__pyx_v_c_account, const char *__pyx_v_c_buddy_username, const char *__pyx_v_c_buddy_group, const char *__pyx_v_c_buddy_alias) {
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  PyObject *__pyx_v_buddy_username;
-  PyObject *__pyx_v_buddy_group;
-  PyObject *__pyx_v_buddy_alias;
-  PyObject *__pyx_1 = 0;
-  int __pyx_2;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_buddy_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_buddy_group = Py_None; Py_INCREF(Py_None);
-  __pyx_v_buddy_alias = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":180
- *     list.
- *     """
- *     debug.purple_debug_info("blist", "%s", "request-add-buddy\n")             # <<<<<<<<<<<<<<
- * 
- *     username = account.purple_account_get_username(c_account)
- */
-  purple_debug_info(__pyx_k_87, __pyx_k_88, __pyx_k_89);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":182
- *     debug.purple_debug_info("blist", "%s", "request-add-buddy\n")
- * 
- *     username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- */
-  __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_username);
-  __pyx_v_username = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":183
- * 
- *     username = account.purple_account_get_username(c_account)
- *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
- * 
- *     if c_buddy_username:
- */
-  __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_protocol_id);
-  __pyx_v_protocol_id = __pyx_1;
-  __pyx_1 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":185
- *     protocol_id = account.purple_account_get_protocol_id(c_account)
- * 
- *     if c_buddy_username:             # <<<<<<<<<<<<<<
- *         buddy_username = <char *> c_buddy_username
- *     else:
- */
-  __pyx_2 = (__pyx_v_c_buddy_username != 0);
-  if (__pyx_2) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":186
- * 
- *     if c_buddy_username:
- *         buddy_username = <char *> c_buddy_username             # <<<<<<<<<<<<<<
- *     else:
- *         buddy_username = None
- */
-    __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_username)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_buddy_username);
-    __pyx_v_buddy_username = __pyx_1;
-    __pyx_1 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":188
- *         buddy_username = <char *> c_buddy_username
- *     else:
- *         buddy_username = None             # <<<<<<<<<<<<<<
- * 
- *     if c_buddy_group:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_buddy_username);
-    __pyx_v_buddy_username = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":190
- *         buddy_username = None
- * 
- *     if c_buddy_group:             # <<<<<<<<<<<<<<
- *         buddy_group = <char *> c_buddy_group
- *     else:
- */
-  __pyx_2 = (__pyx_v_c_buddy_group != 0);
-  if (__pyx_2) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":191
- * 
- *     if c_buddy_group:
- *         buddy_group = <char *> c_buddy_group             # <<<<<<<<<<<<<<
- *     else:
- *         buddy_group = None
- */
-    __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_group)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_buddy_group);
-    __pyx_v_buddy_group = __pyx_1;
-    __pyx_1 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":193
- *         buddy_group = <char *> c_buddy_group
- *     else:
- *         buddy_group = None             # <<<<<<<<<<<<<<
- * 
- *     if c_buddy_alias:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_buddy_group);
-    __pyx_v_buddy_group = Py_None;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":195
- *         buddy_group = None
- * 
- *     if c_buddy_alias:             # <<<<<<<<<<<<<<
- *         buddy_alias = <char *> c_buddy_alias
- *     else:
- */
-  __pyx_2 = (__pyx_v_c_buddy_alias != 0);
-  if (__pyx_2) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":196
- * 
- *     if c_buddy_alias:
- *         buddy_alias = <char *> c_buddy_alias             # <<<<<<<<<<<<<<
- *     else:
- *         buddy_alias = None
- */
-    __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_alias)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_buddy_alias);
-    __pyx_v_buddy_alias = __pyx_1;
-    __pyx_1 = 0;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":198
- *         buddy_alias = <char *> c_buddy_alias
- *     else:
- *         buddy_alias = None             # <<<<<<<<<<<<<<
- * 
- *     if blist_cbs.has_key("request-add-buddy"):
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_buddy_alias);
-    __pyx_v_buddy_alias = Py_None;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":200
- *         buddy_alias = None
- * 
- *     if blist_cbs.has_key("request-add-buddy"):             # <<<<<<<<<<<<<<
- *         (<object> blist_cbs["request-add-buddy"])( \
- *                 (username, protocol_id), \
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_90);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_90);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_2) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":201
- * 
- *     if blist_cbs.has_key("request-add-buddy"):
- *         (<object> blist_cbs["request-add-buddy"])( \             # <<<<<<<<<<<<<<
- *                 (username, protocol_id), \
- *                 buddy_username, buddy_group, buddy_alias)
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_3, __pyx_kp_91); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":202
- *     if blist_cbs.has_key("request-add-buddy"):
- *         (<object> blist_cbs["request-add-buddy"])( \
- *                 (username, protocol_id), \             # <<<<<<<<<<<<<<
- *                 buddy_username, buddy_group, buddy_alias)
- * 
- */
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":203
- *         (<object> blist_cbs["request-add-buddy"])( \
- *                 (username, protocol_id), \
- *                 buddy_username, buddy_group, buddy_alias)             # <<<<<<<<<<<<<<
- * 
- * cdef void request_add_chat(account.PurpleAccount *acc, \
- */
-    __pyx_3 = PyTuple_New(4); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_3, 0, ((PyObject *)__pyx_4));
-    Py_INCREF(__pyx_v_buddy_username);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_buddy_username);
-    Py_INCREF(__pyx_v_buddy_group);
-    PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_buddy_group);
-    Py_INCREF(__pyx_v_buddy_alias);
-    PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_buddy_alias);
-    __pyx_4 = 0;
-    __pyx_4 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_4); __pyx_4 = 0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  __Pyx_WriteUnraisable("purple.request_add_buddy");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-  Py_DECREF(__pyx_v_buddy_username);
-  Py_DECREF(__pyx_v_buddy_group);
-  Py_DECREF(__pyx_v_buddy_alias);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":205
- *                 buddy_username, buddy_group, buddy_alias)
- * 
- * cdef void request_add_chat(account.PurpleAccount *acc, \             # <<<<<<<<<<<<<<
- *         blist.PurpleGroup *group, const_char *alias, const_char *name):
- *     """
- */
-
-static PyObject *__pyx_kp_95;
-static PyObject *__pyx_kp_96;
-static PyObject *__pyx_kp_97;
-
-static char __pyx_k_92[] = "blist";
-static char __pyx_k_93[] = "%s";
-static char __pyx_k_94[] = "request-add-chat\n";
-static char __pyx_k_95[] = "request-add-chat";
-static char __pyx_k_96[] = "request-add-chat";
-static char __pyx_k_97[] = "request-add-chat: TODO";
-
-static  void __pyx_f_6purple_request_add_chat(PurpleAccount *__pyx_v_acc, PurpleGroup *__pyx_v_group, const char *__pyx_v_alias, const char *__pyx_v_name) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":210
- *     TODO
- *     """
- *     debug.purple_debug_info("blist", "%s", "request-add-chat\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("request-add-chat"):
- *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")
- */
-  purple_debug_info(__pyx_k_92, __pyx_k_93, __pyx_k_94);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":211
- *     """
- *     debug.purple_debug_info("blist", "%s", "request-add-chat\n")
- *     if blist_cbs.has_key("request-add-chat"):             # <<<<<<<<<<<<<<
- *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_95);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_95);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":212
- *     debug.purple_debug_info("blist", "%s", "request-add-chat\n")
- *     if blist_cbs.has_key("request-add-chat"):
- *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void request_add_group():
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_96); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_97);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_97);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_add_chat");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":214
- *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")
- * 
- * cdef void request_add_group():             # <<<<<<<<<<<<<<
- *     """
- *     TODO
- */
-
-static PyObject *__pyx_kp_101;
-static PyObject *__pyx_kp_102;
-static PyObject *__pyx_kp_103;
-
-static char __pyx_k_98[] = "blist";
-static char __pyx_k_99[] = "%s";
-static char __pyx_k_100[] = "request-add-group\n";
-static char __pyx_k_101[] = "request-add-chat";
-static char __pyx_k_102[] = "request-add-chat";
-static char __pyx_k_103[] = "request-add-group: TODO";
-
-static  void __pyx_f_6purple_request_add_group(void) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":218
- *     TODO
- *     """
- *     debug.purple_debug_info("blist", "%s", "request-add-group\n")             # <<<<<<<<<<<<<<
- *     if blist_cbs.has_key("request-add-chat"):
- *         (<object>blist_cbs["request-add-chat"])("request-add-group: TODO")
- */
-  purple_debug_info(__pyx_k_98, __pyx_k_99, __pyx_k_100);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":219
- *     """
- *     debug.purple_debug_info("blist", "%s", "request-add-group\n")
- *     if blist_cbs.has_key("request-add-chat"):             # <<<<<<<<<<<<<<
- *         (<object>blist_cbs["request-add-chat"])("request-add-group: TODO")
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_101);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_101);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":220
- *     debug.purple_debug_info("blist", "%s", "request-add-group\n")
- *     if blist_cbs.has_key("request-add-chat"):
- *         (<object>blist_cbs["request-add-chat"])("request-add-group: TODO")             # <<<<<<<<<<<<<<
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_102); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_103);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_103);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_add_group");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":30
- *     ctypedef int size_t
- * 
- * cdef void connect_progress(connection.PurpleConnection *gc, const_char *text, \             # <<<<<<<<<<<<<<
- *         size_t step, size_t step_count):
- *     """
- */
-
-static PyObject *__pyx_kp_107;
-static PyObject *__pyx_kp_108;
-
-static char __pyx_k_104[] = "connection";
-static char __pyx_k_105[] = "%s";
-static char __pyx_k_106[] = "connect-progress\n";
-static char __pyx_k_107[] = "connect-progress";
-static char __pyx_k_108[] = "connect-progress";
-
-static  void __pyx_f_6purple_connect_progress(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text, size_t __pyx_v_step, size_t __pyx_v_step_count) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  PyObject *__pyx_5 = 0;
-  PyObject *__pyx_6 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":37
- *     reached (which might be displayed as a progress bar).
- *     """
- *     debug.purple_debug_info("connection", "%s", "connect-progress\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("connect-progress"):
- *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)
- */
-  purple_debug_info(__pyx_k_104, __pyx_k_105, __pyx_k_106);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":38
- *     """
- *     debug.purple_debug_info("connection", "%s", "connect-progress\n")
- *     if connection_cbs.has_key("connect-progress"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_107);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_107);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":39
- *     debug.purple_debug_info("connection", "%s", "connect-progress\n")
- *     if connection_cbs.has_key("connect-progress"):
- *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)             # <<<<<<<<<<<<<<
- * 
- * cdef void connected(connection.PurpleConnection *gc):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_108); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_text)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyInt_FromLong(__pyx_v_step); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_5 = PyInt_FromLong(__pyx_v_step_count); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_6 = PyTuple_New(3); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_6, 0, __pyx_3);
-    PyTuple_SET_ITEM(__pyx_6, 1, __pyx_2);
-    PyTuple_SET_ITEM(__pyx_6, 2, __pyx_5);
-    __pyx_3 = 0;
-    __pyx_2 = 0;
-    __pyx_5 = 0;
-    __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_5);
-  Py_XDECREF(__pyx_6);
-  __Pyx_WriteUnraisable("purple.connect_progress");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":41
- *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)
- * 
- * cdef void connected(connection.PurpleConnection *gc):             # <<<<<<<<<<<<<<
- *     """
- *     Called when a connection is established (just before the signed-on signal).
- */
-
-static char __pyx_k_112[] = "connected";
-static char __pyx_k_113[] = "connected";
-
-static PyObject *__pyx_kp_112;
-static PyObject *__pyx_kp_113;
-
-static PyObject *__pyx_kp_114;
-
-static char __pyx_k_109[] = "connection";
-static char __pyx_k_110[] = "%s";
-static char __pyx_k_111[] = "connected\n";
-static char __pyx_k_114[] = "connected: TODO";
-
-static  void __pyx_f_6purple_connected(PurpleConnection *__pyx_v_gc) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":45
- *     Called when a connection is established (just before the signed-on signal).
- *     """
- *     debug.purple_debug_info("connection", "%s", "connected\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("connected"):
- *         (<object> connection_cbs["connected"])("connected: TODO")
- */
-  purple_debug_info(__pyx_k_109, __pyx_k_110, __pyx_k_111);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":46
- *     """
- *     debug.purple_debug_info("connection", "%s", "connected\n")
- *     if connection_cbs.has_key("connected"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["connected"])("connected: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_112);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_112);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":47
- *     debug.purple_debug_info("connection", "%s", "connected\n")
- *     if connection_cbs.has_key("connected"):
- *         (<object> connection_cbs["connected"])("connected: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void disconnected(connection.PurpleConnection *gc):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_113); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_114);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_114);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.connected");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":49
- *         (<object> connection_cbs["connected"])("connected: TODO")
- * 
- * cdef void disconnected(connection.PurpleConnection *gc):             # <<<<<<<<<<<<<<
- *     """
- *     Called when a connection is ended (between the signing-off and signed-off
- */
-
-static char __pyx_k_118[] = "disconnected";
-static char __pyx_k_119[] = "disconnected";
-
-static PyObject *__pyx_kp_118;
-static PyObject *__pyx_kp_119;
-
-static PyObject *__pyx_kp_120;
-
-static char __pyx_k_115[] = "connection";
-static char __pyx_k_116[] = "%s";
-static char __pyx_k_117[] = "disconnected\n";
-static char __pyx_k_120[] = "disconnected: TODO";
-
-static  void __pyx_f_6purple_disconnected(PurpleConnection *__pyx_v_gc) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":54
- *     signal).
- *     """
- *     debug.purple_debug_info("connection", "%s", "disconnected\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("disconnected"):
- *         (<object> connection_cbs["disconnected"])("disconnected: TODO")
- */
-  purple_debug_info(__pyx_k_115, __pyx_k_116, __pyx_k_117);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":55
- *     """
- *     debug.purple_debug_info("connection", "%s", "disconnected\n")
- *     if connection_cbs.has_key("disconnected"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["disconnected"])("disconnected: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_118);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_118);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":56
- *     debug.purple_debug_info("connection", "%s", "disconnected\n")
- *     if connection_cbs.has_key("disconnected"):
- *         (<object> connection_cbs["disconnected"])("disconnected: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void notice(connection.PurpleConnection *gc, const_char *text):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_119); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_120);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_120);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.disconnected");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":58
- *         (<object> connection_cbs["disconnected"])("disconnected: TODO")
- * 
- * cdef void notice(connection.PurpleConnection *gc, const_char *text):             # <<<<<<<<<<<<<<
- *     """
- *     Used to display connection-specific notices. (Pidgin's Gtk user interface
- */
-
-static char __pyx_k_124[] = "notice";
-static char __pyx_k_125[] = "notice";
-
-static PyObject *__pyx_kp_124;
-static PyObject *__pyx_kp_125;
-
-static PyObject *__pyx_kp_126;
-
-static char __pyx_k_121[] = "connection";
-static char __pyx_k_122[] = "%s";
-static char __pyx_k_123[] = "notice\n";
-static char __pyx_k_126[] = "notice: TODO";
-
-static  void __pyx_f_6purple_notice(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":64
- *     operation, is not used by any of the protocols shipped with libpurple.)
- *     """
- *     debug.purple_debug_info("connection", "%s", "notice\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("notice"):
- *         (<object> connection_cbs["notice"])("notice: TODO")
- */
-  purple_debug_info(__pyx_k_121, __pyx_k_122, __pyx_k_123);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":65
- *     """
- *     debug.purple_debug_info("connection", "%s", "notice\n")
- *     if connection_cbs.has_key("notice"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["notice"])("notice: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_124);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_124);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":66
- *     debug.purple_debug_info("connection", "%s", "notice\n")
- *     if connection_cbs.has_key("notice"):
- *         (<object> connection_cbs["notice"])("notice: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void report_disconnect(connection.PurpleConnection *gc, const_char *text):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_125); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_126);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_126);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notice");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":68
- *         (<object> connection_cbs["notice"])("notice: TODO")
- * 
- * cdef void report_disconnect(connection.PurpleConnection *gc, const_char *text):             # <<<<<<<<<<<<<<
- *     """
- *     Called when an error causes a connection to be disconnected.
- */
-
-static PyObject *__pyx_kp_130;
-static PyObject *__pyx_kp_131;
-
-static char __pyx_k_127[] = "connection";
-static char __pyx_k_128[] = "%s";
-static char __pyx_k_129[] = "report-disconnect\n";
-static char __pyx_k_130[] = "report-disconnect";
-static char __pyx_k_131[] = "report-disconnect";
-
-static  void __pyx_f_6purple_report_disconnect(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":77
- *                 PurpleConnectionUiOps.report_disconnect_reason.
- *     """
- *     debug.purple_debug_info("connection", "%s", "report-disconnect\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("report-disconnect"):
- *         (<object> connection_cbs["report-disconnect"])(<char *> text)
- */
-  purple_debug_info(__pyx_k_127, __pyx_k_128, __pyx_k_129);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":78
- *     """
- *     debug.purple_debug_info("connection", "%s", "report-disconnect\n")
- *     if connection_cbs.has_key("report-disconnect"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["report-disconnect"])(<char *> text)
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_130);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_130);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":79
- *     debug.purple_debug_info("connection", "%s", "report-disconnect\n")
- *     if connection_cbs.has_key("report-disconnect"):
- *         (<object> connection_cbs["report-disconnect"])(<char *> text)             # <<<<<<<<<<<<<<
- * 
- * cdef void network_connected():
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_131); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_text)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
-    __pyx_3 = 0;
-    __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.report_disconnect");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":81
- *         (<object> connection_cbs["report-disconnect"])(<char *> text)
- * 
- * cdef void network_connected():             # <<<<<<<<<<<<<<
- *     """
- *     Called when libpurple discovers that the computer's network connection
- */
-
-static PyObject *__pyx_kp_135;
-static PyObject *__pyx_kp_136;
-
-static char __pyx_k_132[] = "connection";
-static char __pyx_k_133[] = "%s";
-static char __pyx_k_134[] = "network-connected\n";
-static char __pyx_k_135[] = "network-connected";
-static char __pyx_k_136[] = "network-connected";
-
-static  void __pyx_f_6purple_network_connected(void) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":87
- *     it uses Win32's network change notification infrastructure.
- *     """
- *     debug.purple_debug_info("connection", "%s", "network-connected\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("network-connected"):
- *         (<object> connection_cbs["network-connected"])()
- */
-  purple_debug_info(__pyx_k_132, __pyx_k_133, __pyx_k_134);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":88
- *     """
- *     debug.purple_debug_info("connection", "%s", "network-connected\n")
- *     if connection_cbs.has_key("network-connected"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["network-connected"])()
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_135);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_135);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":89
- *     debug.purple_debug_info("connection", "%s", "network-connected\n")
- *     if connection_cbs.has_key("network-connected"):
- *         (<object> connection_cbs["network-connected"])()             # <<<<<<<<<<<<<<
- * 
- * cdef void network_disconnected():
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_136); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.network_connected");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":91
- *         (<object> connection_cbs["network-connected"])()
- * 
- * cdef void network_disconnected():             # <<<<<<<<<<<<<<
- *     """
- *     Called when libpurple discovers that the computer's network connection
- */
-
-static PyObject *__pyx_kp_140;
-static PyObject *__pyx_kp_141;
-
-static char __pyx_k_137[] = "connection";
-static char __pyx_k_138[] = "%s";
-static char __pyx_k_139[] = "network-disconnected\n";
-static char __pyx_k_140[] = "network-disconnected";
-static char __pyx_k_141[] = "network-disconnected";
-
-static  void __pyx_f_6purple_network_disconnected(void) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":96
- *     has gone away.
- *     """
- *     debug.purple_debug_info("connection", "%s", "network-disconnected\n")             # <<<<<<<<<<<<<<
- *     if connection_cbs.has_key("network-disconnected"):
- *         (<object> connection_cbs["network-disconnected"])()
- */
-  purple_debug_info(__pyx_k_137, __pyx_k_138, __pyx_k_139);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":97
- *     """
- *     debug.purple_debug_info("connection", "%s", "network-disconnected\n")
- *     if connection_cbs.has_key("network-disconnected"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["network-disconnected"])()
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_140);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_140);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":98
- *     debug.purple_debug_info("connection", "%s", "network-disconnected\n")
- *     if connection_cbs.has_key("network-disconnected"):
- *         (<object> connection_cbs["network-disconnected"])()             # <<<<<<<<<<<<<<
- * 
- * cdef void report_disconnect_reason(connection.PurpleConnection *gc, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_141); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.network_disconnected");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":100
- *         (<object> connection_cbs["network-disconnected"])()
- * 
- * cdef void report_disconnect_reason(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         connection.PurpleConnectionError reason, const_char *c_text):
- *     """
- */
-
-static PyObject *__pyx_int_0;
-static PyObject *__pyx_int_1;
-static PyObject *__pyx_int_2;
-static PyObject *__pyx_int_3;
-static PyObject *__pyx_int_4;
-static PyObject *__pyx_int_5;
-static PyObject *__pyx_int_6;
-static PyObject *__pyx_int_7;
-static PyObject *__pyx_int_8;
-static PyObject *__pyx_int_9;
-static PyObject *__pyx_int_10;
-static PyObject *__pyx_int_11;
-static PyObject *__pyx_int_12;
-static PyObject *__pyx_int_13;
-static PyObject *__pyx_int_14;
-static PyObject *__pyx_int_15;
-static PyObject *__pyx_int_16;
-
-static PyObject *__pyx_kp_145;
-static PyObject *__pyx_kp_146;
-static PyObject *__pyx_kp_147;
-static PyObject *__pyx_kp_148;
-static PyObject *__pyx_kp_149;
-static PyObject *__pyx_kp_150;
-static PyObject *__pyx_kp_151;
-static PyObject *__pyx_kp_152;
-static PyObject *__pyx_kp_153;
-static PyObject *__pyx_kp_154;
-static PyObject *__pyx_kp_155;
-static PyObject *__pyx_kp_156;
-static PyObject *__pyx_kp_157;
-static PyObject *__pyx_kp_158;
-static PyObject *__pyx_kp_159;
-static PyObject *__pyx_kp_160;
-static PyObject *__pyx_kp_161;
-static PyObject *__pyx_kp_162;
-static PyObject *__pyx_kp_163;
-
-static char __pyx_k_142[] = "connection";
-static char __pyx_k_143[] = "%s";
-static char __pyx_k_144[] = "report-disconnect-reason\n";
-static char __pyx_k_145[] = "Network error";
-static char __pyx_k_146[] = "Invalid username";
-static char __pyx_k_147[] = "Authentication failed";
-static char __pyx_k_148[] = "Authentication impossible";
-static char __pyx_k_149[] = "No SSL support";
-static char __pyx_k_150[] = "Encryption error";
-static char __pyx_k_151[] = "Name in use";
-static char __pyx_k_152[] = "Invalid settings";
-static char __pyx_k_153[] = "Certificate not provided";
-static char __pyx_k_154[] = "Certificate untrusted";
-static char __pyx_k_155[] = "Certificate expired";
-static char __pyx_k_156[] = "Certificate not activated";
-static char __pyx_k_157[] = "Certificate hostname mismatch";
-static char __pyx_k_158[] = "Certificate fingerprint mismatch";
-static char __pyx_k_159[] = "Certificate self signed";
-static char __pyx_k_160[] = "Certificate error (other)";
-static char __pyx_k_161[] = "Other error";
-static char __pyx_k_162[] = "report-disconnect-reason";
-static char __pyx_k_163[] = "report-disconnect-reason";
-
-static  void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *__pyx_v_gc, PurpleConnectionError __pyx_v_reason, const char *__pyx_v_c_text) {
-  PyObject *__pyx_v_reason_string;
-  PyObject *__pyx_v_text;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  char *__pyx_5;
-  __pyx_v_reason_string = Py_None; Py_INCREF(Py_None);
-  __pyx_v_text = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":114
- *     @since 2.3.0
- *     """
- *     debug.purple_debug_info("connection", "%s", "report-disconnect-reason\n")             # <<<<<<<<<<<<<<
- * 
- *     reason_string = {
- */
-  purple_debug_info(__pyx_k_142, __pyx_k_143, __pyx_k_144);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":133
- *         14: 'Certificate self signed',
- *         15: 'Certificate error (other)',
- *         16: 'Other error' }[reason]             # <<<<<<<<<<<<<<
- * 
- *     if c_text:
- */
-  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":117
- * 
- *     reason_string = {
- *         0: 'Network error',             # <<<<<<<<<<<<<<
- *         1: 'Invalid username',
- *         2: 'Authentication failed',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_0, __pyx_kp_145) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":118
- *     reason_string = {
- *         0: 'Network error',
- *         1: 'Invalid username',             # <<<<<<<<<<<<<<
- *         2: 'Authentication failed',
- *         3: 'Authentication impossible',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_1, __pyx_kp_146) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":119
- *         0: 'Network error',
- *         1: 'Invalid username',
- *         2: 'Authentication failed',             # <<<<<<<<<<<<<<
- *         3: 'Authentication impossible',
- *         4: 'No SSL support',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_2, __pyx_kp_147) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":120
- *         1: 'Invalid username',
- *         2: 'Authentication failed',
- *         3: 'Authentication impossible',             # <<<<<<<<<<<<<<
- *         4: 'No SSL support',
- *         5: 'Encryption error',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_3, __pyx_kp_148) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":121
- *         2: 'Authentication failed',
- *         3: 'Authentication impossible',
- *         4: 'No SSL support',             # <<<<<<<<<<<<<<
- *         5: 'Encryption error',
- *         6: 'Name in use',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_4, __pyx_kp_149) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":122
- *         3: 'Authentication impossible',
- *         4: 'No SSL support',
- *         5: 'Encryption error',             # <<<<<<<<<<<<<<
- *         6: 'Name in use',
- *         7: 'Invalid settings',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_5, __pyx_kp_150) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":123
- *         4: 'No SSL support',
- *         5: 'Encryption error',
- *         6: 'Name in use',             # <<<<<<<<<<<<<<
- *         7: 'Invalid settings',
- *         8: 'Certificate not provided',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_6, __pyx_kp_151) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":124
- *         5: 'Encryption error',
- *         6: 'Name in use',
- *         7: 'Invalid settings',             # <<<<<<<<<<<<<<
- *         8: 'Certificate not provided',
- *         9: 'Certificate untrusted',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_7, __pyx_kp_152) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":125
- *         6: 'Name in use',
- *         7: 'Invalid settings',
- *         8: 'Certificate not provided',             # <<<<<<<<<<<<<<
- *         9: 'Certificate untrusted',
- *         10: 'Certificate expired',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_8, __pyx_kp_153) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":126
- *         7: 'Invalid settings',
- *         8: 'Certificate not provided',
- *         9: 'Certificate untrusted',             # <<<<<<<<<<<<<<
- *         10: 'Certificate expired',
- *         11: 'Certificate not activated',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_9, __pyx_kp_154) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":127
- *         8: 'Certificate not provided',
- *         9: 'Certificate untrusted',
- *         10: 'Certificate expired',             # <<<<<<<<<<<<<<
- *         11: 'Certificate not activated',
- *         12: 'Certificate hostname mismatch',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_10, __pyx_kp_155) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":128
- *         9: 'Certificate untrusted',
- *         10: 'Certificate expired',
- *         11: 'Certificate not activated',             # <<<<<<<<<<<<<<
- *         12: 'Certificate hostname mismatch',
- *         13: 'Certificate fingerprint mismatch',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_11, __pyx_kp_156) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":129
- *         10: 'Certificate expired',
- *         11: 'Certificate not activated',
- *         12: 'Certificate hostname mismatch',             # <<<<<<<<<<<<<<
- *         13: 'Certificate fingerprint mismatch',
- *         14: 'Certificate self signed',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_12, __pyx_kp_157) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":130
- *         11: 'Certificate not activated',
- *         12: 'Certificate hostname mismatch',
- *         13: 'Certificate fingerprint mismatch',             # <<<<<<<<<<<<<<
- *         14: 'Certificate self signed',
- *         15: 'Certificate error (other)',
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_13, __pyx_kp_158) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":131
- *         12: 'Certificate hostname mismatch',
- *         13: 'Certificate fingerprint mismatch',
- *         14: 'Certificate self signed',             # <<<<<<<<<<<<<<
- *         15: 'Certificate error (other)',
- *         16: 'Other error' }[reason]
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_14, __pyx_kp_159) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":132
- *         13: 'Certificate fingerprint mismatch',
- *         14: 'Certificate self signed',
- *         15: 'Certificate error (other)',             # <<<<<<<<<<<<<<
- *         16: 'Other error' }[reason]
- * 
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_15, __pyx_kp_160) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":133
- *         14: 'Certificate self signed',
- *         15: 'Certificate error (other)',
- *         16: 'Other error' }[reason]             # <<<<<<<<<<<<<<
- * 
- *     if c_text:
- */
-  if (PyDict_SetItem(__pyx_1, __pyx_int_16, __pyx_kp_161) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyInt_FromLong(__pyx_v_reason); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(__pyx_v_reason_string);
-  __pyx_v_reason_string = __pyx_3;
-  __pyx_3 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":135
- *         16: 'Other error' }[reason]
- * 
- *     if c_text:             # <<<<<<<<<<<<<<
- *         text = <char *> c_text
- *     else:
- */
-  __pyx_4 = (__pyx_v_c_text != 0);
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":136
- * 
- *     if c_text:
- *         text = <char *> c_text             # <<<<<<<<<<<<<<
- *     else:
- *         text = None
- */
-    __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_text)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_text);
-    __pyx_v_text = __pyx_1;
-    __pyx_1 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":138
- *         text = <char *> c_text
- *     else:
- *         text = None             # <<<<<<<<<<<<<<
- * 
- *     if connection_cbs.has_key("report-disconnect-reason"):
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_text);
-    __pyx_v_text = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":140
- *         text = None
- * 
- *     if connection_cbs.has_key("report-disconnect-reason"):             # <<<<<<<<<<<<<<
- *         (<object> connection_cbs["report-disconnect-reason"])(reason_string, <char *> text)
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_162);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_162);
-  __pyx_2 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":141
- * 
- *     if connection_cbs.has_key("report-disconnect-reason"):
- *         (<object> connection_cbs["report-disconnect-reason"])(reason_string, <char *> text)             # <<<<<<<<<<<<<<
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_3, __pyx_kp_163); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    __pyx_5 = __Pyx_PyBytes_AsString(__pyx_v_text); if (unlikely((!__pyx_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_5)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_reason_string);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_reason_string);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
-    __pyx_2 = 0;
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.report_disconnect_reason");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_reason_string);
-  Py_DECREF(__pyx_v_text);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":29
- * conversation_cbs = {}
- * 
- * cdef void create_conversation(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
- *     """
- *     Called when a conv is created (but before the conversation-created
- */
-
-static PyObject *__pyx_kp_167;
-static PyObject *__pyx_kp_168;
-
-static char __pyx_k_164[] = "conversation";
-static char __pyx_k_165[] = "%s";
-static char __pyx_k_166[] = "create-conversation\n";
-static char __pyx_k_167[] = "create-conversation";
-static char __pyx_k_168[] = "create-conversation";
-
-static  void __pyx_f_6purple_create_conversation(PurpleConversation *__pyx_v_conv) {
-  char *__pyx_v_c_name;
-  PyObject *__pyx_v_name;
-  PyObject *__pyx_v_type;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  __pyx_v_name = Py_None; Py_INCREF(Py_None);
-  __pyx_v_type = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":34
- *     signal is emitted).
- *     """
- *     debug.purple_debug_info("conversation", "%s", "create-conversation\n")             # <<<<<<<<<<<<<<
- *     cdef char *c_name = NULL
- * 
- */
-  purple_debug_info(__pyx_k_164, __pyx_k_165, __pyx_k_166);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":35
- *     """
- *     debug.purple_debug_info("conversation", "%s", "create-conversation\n")
- *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_name = <char *> conversation.purple_conversation_get_name(conv)
- */
-  __pyx_v_c_name = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":37
- *     cdef char *c_name = NULL
- * 
- *     c_name = <char *> conversation.purple_conversation_get_name(conv)             # <<<<<<<<<<<<<<
- *     if c_name == NULL:
- *         name = None
- */
-  __pyx_v_c_name = ((char *)purple_conversation_get_name(__pyx_v_conv));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":38
- * 
- *     c_name = <char *> conversation.purple_conversation_get_name(conv)
- *     if c_name == NULL:             # <<<<<<<<<<<<<<
- *         name = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_name == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":39
- *     c_name = <char *> conversation.purple_conversation_get_name(conv)
- *     if c_name == NULL:
- *         name = None             # <<<<<<<<<<<<<<
- *     else:
- *         name = c_name
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":41
- *         name = None
- *     else:
- *         name = c_name             # <<<<<<<<<<<<<<
- * 
- *     type = conversation.purple_conversation_get_type(conv)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":43
- *         name = c_name
- * 
- *     type = conversation.purple_conversation_get_type(conv)             # <<<<<<<<<<<<<<
- * 
- *     if conversation_cbs.has_key("create-conversation"):
- */
-  __pyx_2 = PyInt_FromLong(purple_conversation_get_type(__pyx_v_conv)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_type);
-  __pyx_v_type = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":45
- *     type = conversation.purple_conversation_get_type(conv)
- * 
- *     if conversation_cbs.has_key("create-conversation"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["create-conversation"])(name, type)
- * 
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_167);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_167);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":46
- * 
- *     if conversation_cbs.has_key("create-conversation"):
- *         (<object> conversation_cbs["create-conversation"])(name, type)             # <<<<<<<<<<<<<<
- * 
- * cdef void destroy_conversation(conversation.PurpleConversation *conv):
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_168); if (!__pyx_2) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_name);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name);
-    Py_INCREF(__pyx_v_type);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_type);
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  __Pyx_WriteUnraisable("purple.create_conversation");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_name);
-  Py_DECREF(__pyx_v_type);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":48
- *         (<object> conversation_cbs["create-conversation"])(name, type)
- * 
- * cdef void destroy_conversation(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
- *     """
- *     Called just before a conv is freed.
- */
-
-static PyObject *__pyx_kp_172;
-static PyObject *__pyx_kp_173;
-static PyObject *__pyx_kp_174;
-
-static char __pyx_k_169[] = "conversation";
-static char __pyx_k_170[] = "%s";
-static char __pyx_k_171[] = "destroy-conversation\n";
-static char __pyx_k_172[] = "destroy-conversation";
-static char __pyx_k_173[] = "destroy-conversation";
-static char __pyx_k_174[] = "destroy-conversation: TODO";
-
-static  void __pyx_f_6purple_destroy_conversation(PurpleConversation *__pyx_v_conv) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":52
- *     Called just before a conv is freed.
- *     """
- *     debug.purple_debug_info("conversation", "%s", "destroy-conversation\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("destroy-conversation"):
- *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")
- */
-  purple_debug_info(__pyx_k_169, __pyx_k_170, __pyx_k_171);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":53
- *     """
- *     debug.purple_debug_info("conversation", "%s", "destroy-conversation\n")
- *     if conversation_cbs.has_key("destroy-conversation"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_172);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_172);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":54
- *     debug.purple_debug_info("conversation", "%s", "destroy-conversation\n")
- *     if conversation_cbs.has_key("destroy-conversation"):
- *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void write_chat(conversation.PurpleConversation *conv, const_char *who, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_173); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_174);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_174);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.destroy_conversation");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":56
- *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")
- * 
- * cdef void write_chat(conversation.PurpleConversation *conv, const_char *who, \             # <<<<<<<<<<<<<<
- *         const_char *message, conversation.PurpleMessageFlags flags, \
- *         time_t mtime):
- */
-
-static PyObject *__pyx_kp_178;
-static PyObject *__pyx_kp_179;
-static PyObject *__pyx_kp_180;
-
-static char __pyx_k_175[] = "conversation";
-static char __pyx_k_176[] = "%s";
-static char __pyx_k_177[] = "write-chat\n";
-static char __pyx_k_178[] = "write-chat";
-static char __pyx_k_179[] = "write-chat";
-static char __pyx_k_180[] = "write-chat: TODO";
-
-static  void __pyx_f_6purple_write_chat(PurpleConversation *__pyx_v_conv, const char *__pyx_v_who, const char *__pyx_v_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":64
- *     @see purple_conv_chat_write()
- *     """
- *     debug.purple_debug_info("conversation", "%s", "write-chat\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("write-chat"):
- *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")
- */
-  purple_debug_info(__pyx_k_175, __pyx_k_176, __pyx_k_177);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":65
- *     """
- *     debug.purple_debug_info("conversation", "%s", "write-chat\n")
- *     if conversation_cbs.has_key("write-chat"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_178);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_178);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":66
- *     debug.purple_debug_info("conversation", "%s", "write-chat\n")
- *     if conversation_cbs.has_key("write-chat"):
- *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_179); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_180);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_180);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.write_chat");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":68
- *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")
- * 
- * cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \             # <<<<<<<<<<<<<<
- *         const_char *c_message, conversation.PurpleMessageFlags flags, \
- *         time_t mtime):
- */
-
-static char __pyx_k_185[] = "SEND";
-static char __pyx_k_186[] = "RECV";
-
-static PyObject *__pyx_kp_185;
-static PyObject *__pyx_kp_186;
-
-static PyObject *__pyx_kp_184;
-static PyObject *__pyx_kp_187;
-static PyObject *__pyx_kp_188;
-
-static char __pyx_k_181[] = "conversation";
-static char __pyx_k_182[] = "%s";
-static char __pyx_k_183[] = "write-im\n";
-static char __pyx_k_184[] = "utf-8";
-static char __pyx_k_187[] = "write-im";
-static char __pyx_k_188[] = "write-im";
-
-static  void __pyx_f_6purple_write_im(PurpleConversation *__pyx_v_conv, const char *__pyx_v_who, const char *__pyx_v_c_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) {
-  PurpleAccount *__pyx_v_acc;
-  PurpleBuddy *__pyx_v_buddy;
-  char *__pyx_v_c_username;
-  char *__pyx_v_c_sender_alias;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_sender;
-  PyObject *__pyx_v_sender_alias;
-  PyObject *__pyx_v_message;
-  PyObject *__pyx_v_flag;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-  PyObject *__pyx_5 = 0;
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_sender = Py_None; Py_INCREF(Py_None);
-  __pyx_v_sender_alias = Py_None; Py_INCREF(Py_None);
-  __pyx_v_message = Py_None; Py_INCREF(Py_None);
-  __pyx_v_flag = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":76
- *     @see purple_conv_im_write()
- *     """
- *     debug.purple_debug_info("conversation", "%s", "write-im\n")             # <<<<<<<<<<<<<<
- *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
- *     cdef blist.PurpleBuddy *buddy = NULL
- */
-  purple_debug_info(__pyx_k_181, __pyx_k_182, __pyx_k_183);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":77
- *     """
- *     debug.purple_debug_info("conversation", "%s", "write-im\n")
- *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)             # <<<<<<<<<<<<<<
- *     cdef blist.PurpleBuddy *buddy = NULL
- *     cdef char *c_username = NULL
- */
-  __pyx_v_acc = purple_conversation_get_account(__pyx_v_conv);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":78
- *     debug.purple_debug_info("conversation", "%s", "write-im\n")
- *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
- *     cdef blist.PurpleBuddy *buddy = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_username = NULL
- *     cdef char *c_sender_alias = NULL
- */
-  __pyx_v_buddy = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":79
- *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
- *     cdef blist.PurpleBuddy *buddy = NULL
- *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_sender_alias = NULL
- * 
- */
-  __pyx_v_c_username = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":80
- *     cdef blist.PurpleBuddy *buddy = NULL
- *     cdef char *c_username = NULL
- *     cdef char *c_sender_alias = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- */
-  __pyx_v_c_sender_alias = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":82
- *     cdef char *c_sender_alias = NULL
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
- *     if c_username:
- *         username = c_username
- */
-  __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":83
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username:             # <<<<<<<<<<<<<<
- *         username = c_username
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_username != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":84
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username:
- *         username = c_username             # <<<<<<<<<<<<<<
- *     else:
- *         username = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":86
- *         username = c_username
- *     else:
- *         username = None             # <<<<<<<<<<<<<<
- * 
- *     if who == NULL:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":88
- *         username = None
- * 
- *     if who == NULL:             # <<<<<<<<<<<<<<
- *         who = conversation.purple_conversation_get_name(conv)
- * 
- */
-  __pyx_1 = (__pyx_v_who == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":89
- * 
- *     if who == NULL:
- *         who = conversation.purple_conversation_get_name(conv)             # <<<<<<<<<<<<<<
- * 
- *     sender = <char *> who
- */
-    __pyx_v_who = purple_conversation_get_name(__pyx_v_conv);
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":91
- *         who = conversation.purple_conversation_get_name(conv)
- * 
- *     sender = <char *> who             # <<<<<<<<<<<<<<
- *     buddy = blist.purple_find_buddy(acc, <char *> who)
- *     if buddy:
- */
-  __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_who)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_v_sender);
-  __pyx_v_sender = __pyx_2;
-  __pyx_2 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":92
- * 
- *     sender = <char *> who
- *     buddy = blist.purple_find_buddy(acc, <char *> who)             # <<<<<<<<<<<<<<
- *     if buddy:
- *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- */
-  __pyx_v_buddy = purple_find_buddy(__pyx_v_acc, ((char *)__pyx_v_who));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":93
- *     sender = <char *> who
- *     buddy = blist.purple_find_buddy(acc, <char *> who)
- *     if buddy:             # <<<<<<<<<<<<<<
- *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- * 
- */
-  __pyx_1 = (__pyx_v_buddy != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":94
- *     buddy = blist.purple_find_buddy(acc, <char *> who)
- *     if buddy:
- *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
- * 
- *     if c_sender_alias:
- */
-    __pyx_v_c_sender_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":96
- *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- * 
- *     if c_sender_alias:             # <<<<<<<<<<<<<<
- *         sender_alias = unicode(c_sender_alias, 'utf-8')
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_sender_alias != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":97
- * 
- *     if c_sender_alias:
- *         sender_alias = unicode(c_sender_alias, 'utf-8')             # <<<<<<<<<<<<<<
- *     else:
- *         sender_alias = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_sender_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
-    Py_INCREF(__pyx_kp_184);
-    PyTuple_SET_ITEM(__pyx_3, 1, __pyx_kp_184);
-    __pyx_2 = 0;
-    __pyx_2 = PyObject_Call(((PyObject*)&PyUnicode_Type), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_v_sender_alias);
-    __pyx_v_sender_alias = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L5;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":99
- *         sender_alias = unicode(c_sender_alias, 'utf-8')
- *     else:
- *         sender_alias = None             # <<<<<<<<<<<<<<
- * 
- *     if c_message:
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_sender_alias);
-    __pyx_v_sender_alias = Py_None;
-  }
-  __pyx_L5:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":101
- *         sender_alias = None
- * 
- *     if c_message:             # <<<<<<<<<<<<<<
- *         message = <char *> c_message
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_message != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":102
- * 
- *     if c_message:
- *         message = <char *> c_message             # <<<<<<<<<<<<<<
- *     else:
- *         message = None
- */
-    __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = __pyx_3;
-    __pyx_3 = 0;
-    goto __pyx_L6;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":104
- *         message = <char *> c_message
- *     else:
- *         message = None             # <<<<<<<<<<<<<<
- * 
- *     # FIXME: Maybe we need add more purple flags in the future
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_message);
-    __pyx_v_message = Py_None;
-  }
-  __pyx_L6:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":107
- * 
- *     # FIXME: Maybe we need add more purple flags in the future
- *     if flags & conversation.PURPLE_MESSAGE_SEND:             # <<<<<<<<<<<<<<
- *         flag = "SEND"
- *     else:
- */
-  __pyx_4 = (__pyx_v_flags & PURPLE_MESSAGE_SEND);
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":108
- *     # FIXME: Maybe we need add more purple flags in the future
- *     if flags & conversation.PURPLE_MESSAGE_SEND:
- *         flag = "SEND"             # <<<<<<<<<<<<<<
- *     else:
- *         flag = "RECV"
- */
-    Py_INCREF(__pyx_kp_185);
-    Py_DECREF(__pyx_v_flag);
-    __pyx_v_flag = __pyx_kp_185;
-    goto __pyx_L7;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":110
- *         flag = "SEND"
- *     else:
- *         flag = "RECV"             # <<<<<<<<<<<<<<
- * 
- *     if conversation_cbs.has_key("write-im"):
- */
-    Py_INCREF(__pyx_kp_186);
-    Py_DECREF(__pyx_v_flag);
-    __pyx_v_flag = __pyx_kp_186;
-  }
-  __pyx_L7:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":112
- *         flag = "RECV"
- * 
- *     if conversation_cbs.has_key("write-im"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["write-im"])(username, sender, \
- *                             sender_alias, message, flag)
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_187);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_187);
-  __pyx_5 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_5); __pyx_5 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":113
- * 
- *     if conversation_cbs.has_key("write-im"):
- *         (<object> conversation_cbs["write-im"])(username, sender, \             # <<<<<<<<<<<<<<
- *                             sender_alias, message, flag)
- * 
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_188); if (!__pyx_2) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":114
- *     if conversation_cbs.has_key("write-im"):
- *         (<object> conversation_cbs["write-im"])(username, sender, \
- *                             sender_alias, message, flag)             # <<<<<<<<<<<<<<
- * 
- * cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \
- */
-    __pyx_5 = PyTuple_New(5); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_sender);
-    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_sender);
-    Py_INCREF(__pyx_v_sender_alias);
-    PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_sender_alias);
-    Py_INCREF(__pyx_v_message);
-    PyTuple_SET_ITEM(__pyx_5, 3, __pyx_v_message);
-    Py_INCREF(__pyx_v_flag);
-    PyTuple_SET_ITEM(__pyx_5, 4, __pyx_v_flag);
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L8;
-  }
-  __pyx_L8:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_5);
-  __Pyx_WriteUnraisable("purple.write_im");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_sender);
-  Py_DECREF(__pyx_v_sender_alias);
-  Py_DECREF(__pyx_v_message);
-  Py_DECREF(__pyx_v_flag);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":116
- *                             sender_alias, message, flag)
- * 
- * cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \             # <<<<<<<<<<<<<<
- *         const_char *alias, const_char *message, \
- *         conversation.PurpleMessageFlags flags, time_t mtime):
- */
-
-static PyObject *__pyx_kp_192;
-static PyObject *__pyx_kp_193;
-static PyObject *__pyx_kp_194;
-
-static char __pyx_k_189[] = "conversation";
-static char __pyx_k_190[] = "%s";
-static char __pyx_k_191[] = "write-conv\n";
-static char __pyx_k_192[] = "write-conv";
-static char __pyx_k_193[] = "write-conv";
-static char __pyx_k_194[] = "write-conv: TODO";
-
-static  void __pyx_f_6purple_write_conv(PurpleConversation *__pyx_v_conv, const char *__pyx_v_name, const char *__pyx_v_alias, const char *__pyx_v_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":127
- *     @see purple_conversation_write()
- *     """
- *     debug.purple_debug_info("conversation", "%s", "write-conv\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("write-conv"):
- *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")
- */
-  purple_debug_info(__pyx_k_189, __pyx_k_190, __pyx_k_191);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":128
- *     """
- *     debug.purple_debug_info("conversation", "%s", "write-conv\n")
- *     if conversation_cbs.has_key("write-conv"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_192);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_192);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":129
- *     debug.purple_debug_info("conversation", "%s", "write-conv\n")
- *     if conversation_cbs.has_key("write-conv"):
- *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void chat_add_users(conversation.PurpleConversation *conv, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_193); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_194);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_194);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.write_conv");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":131
- *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")
- * 
- * cdef void chat_add_users(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         glib.GList *cbuddies, glib.gboolean new_arrivals):
- *     """
- */
-
-static PyObject *__pyx_kp_198;
-static PyObject *__pyx_kp_199;
-static PyObject *__pyx_kp_200;
-
-static char __pyx_k_195[] = "conversation";
-static char __pyx_k_196[] = "%s";
-static char __pyx_k_197[] = "chat-add-users\n";
-static char __pyx_k_198[] = "chat-add-users";
-static char __pyx_k_199[] = "chat-add-users";
-static char __pyx_k_200[] = "chat-add-users: TODO";
-
-static  void __pyx_f_6purple_chat_add_users(PurpleConversation *__pyx_v_conv, GList *__pyx_v_cbuddies, gboolean __pyx_v_new_arrivals) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":141
- *     @see purple_conv_chat_add_users()
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-add-users\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("chat-add-users"):
- *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")
- */
-  purple_debug_info(__pyx_k_195, __pyx_k_196, __pyx_k_197);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":142
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-add-users\n")
- *     if conversation_cbs.has_key("chat-add-users"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_198);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_198);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":143
- *     debug.purple_debug_info("conversation", "%s", "chat-add-users\n")
- *     if conversation_cbs.has_key("chat-add-users"):
- *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void chat_rename_user(conversation.PurpleConversation *conv, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_199); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_200);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_200);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.chat_add_users");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":145
- *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")
- * 
- * cdef void chat_rename_user(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         const_char *old_name, const_char *new_name,
- *         const_char *new_alias):
- */
-
-static PyObject *__pyx_kp_204;
-static PyObject *__pyx_kp_205;
-static PyObject *__pyx_kp_206;
-
-static char __pyx_k_201[] = "conversation";
-static char __pyx_k_202[] = "%s";
-static char __pyx_k_203[] = "chat-rename-user\n";
-static char __pyx_k_204[] = "chat-rename-user";
-static char __pyx_k_205[] = "chat-rename-user";
-static char __pyx_k_206[] = "chat-rename-user: TODO";
-
-static  void __pyx_f_6purple_chat_rename_user(PurpleConversation *__pyx_v_conv, const char *__pyx_v_old_name, const char *__pyx_v_new_name, const char *__pyx_v_new_alias) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":154
- *     @see purple_conv_chat_rename_user()
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-rename-user\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("chat-rename-user"):
- *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")
- */
-  purple_debug_info(__pyx_k_201, __pyx_k_202, __pyx_k_203);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":155
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-rename-user\n")
- *     if conversation_cbs.has_key("chat-rename-user"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_204);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_204);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":156
- *     debug.purple_debug_info("conversation", "%s", "chat-rename-user\n")
- *     if conversation_cbs.has_key("chat-rename-user"):
- *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void chat_remove_users(conversation.PurpleConversation *conv, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_205); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_206);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_206);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.chat_rename_user");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":158
- *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")
- * 
- * cdef void chat_remove_users(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         glib.GList *users):
- *     """
- */
-
-static PyObject *__pyx_kp_210;
-static PyObject *__pyx_kp_211;
-static PyObject *__pyx_kp_212;
-
-static char __pyx_k_207[] = "conversation";
-static char __pyx_k_208[] = "%s";
-static char __pyx_k_209[] = "chat-remove-users\n";
-static char __pyx_k_210[] = "chat-remove-users";
-static char __pyx_k_211[] = "chat-remove-users";
-static char __pyx_k_212[] = "chat-remove-users: TODO";
-
-static  void __pyx_f_6purple_chat_remove_users(PurpleConversation *__pyx_v_conv, GList *__pyx_v_users) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":164
- *     @param  users  A GList of const char *s.
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-remove-users\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("chat-remove-users"):
- *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")
- */
-  purple_debug_info(__pyx_k_207, __pyx_k_208, __pyx_k_209);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":165
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-remove-users\n")
- *     if conversation_cbs.has_key("chat-remove-users"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_210);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_210);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":166
- *     debug.purple_debug_info("conversation", "%s", "chat-remove-users\n")
- *     if conversation_cbs.has_key("chat-remove-users"):
- *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void chat_update_user(conversation.PurpleConversation *conv, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_211); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_212);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_212);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.chat_remove_users");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":168
- *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")
- * 
- * cdef void chat_update_user(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         const_char *user):
- *     """
- */
-
-static PyObject *__pyx_kp_216;
-static PyObject *__pyx_kp_217;
-static PyObject *__pyx_kp_218;
-
-static char __pyx_k_213[] = "conversation";
-static char __pyx_k_214[] = "%s";
-static char __pyx_k_215[] = "chat-update-user\n";
-static char __pyx_k_216[] = "chat-update-user";
-static char __pyx_k_217[] = "chat-update-user";
-static char __pyx_k_218[] = "chat-update-user: TODO";
-
-static  void __pyx_f_6purple_chat_update_user(PurpleConversation *__pyx_v_conv, const char *__pyx_v_user) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":174
- *     @see purple_conv_chat_user_set_flags()
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-update-user\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("chat-update-user"):
- *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")
- */
-  purple_debug_info(__pyx_k_213, __pyx_k_214, __pyx_k_215);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":175
- *     """
- *     debug.purple_debug_info("conversation", "%s", "chat-update-user\n")
- *     if conversation_cbs.has_key("chat-update-user"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_216);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_216);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":176
- *     debug.purple_debug_info("conversation", "%s", "chat-update-user\n")
- *     if conversation_cbs.has_key("chat-update-user"):
- *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void present(conversation.PurpleConversation *conv):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_217); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_218);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_218);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.chat_update_user");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":178
- *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")
- * 
- * cdef void present(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
- *     """
- *     Present this conversation to the user; for example, by displaying the IM
- */
-
-static char __pyx_k_222[] = "present";
-static char __pyx_k_223[] = "present";
-
-static PyObject *__pyx_kp_222;
-static PyObject *__pyx_kp_223;
-
-static PyObject *__pyx_kp_224;
-
-static char __pyx_k_219[] = "conversation";
-static char __pyx_k_220[] = "%s";
-static char __pyx_k_221[] = "present\n";
-static char __pyx_k_224[] = "present: TODO";
-
-static  void __pyx_f_6purple_present(PurpleConversation *__pyx_v_conv) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":183
- *     dialog.
- *     """
- *     debug.purple_debug_info("conversation", "%s", "present\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("present"):
- *         (<object> conversation_cbs["present"])("present: TODO")
- */
-  purple_debug_info(__pyx_k_219, __pyx_k_220, __pyx_k_221);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":184
- *     """
- *     debug.purple_debug_info("conversation", "%s", "present\n")
- *     if conversation_cbs.has_key("present"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["present"])("present: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_222);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_222);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":185
- *     debug.purple_debug_info("conversation", "%s", "present\n")
- *     if conversation_cbs.has_key("present"):
- *         (<object> conversation_cbs["present"])("present: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef glib.gboolean has_focus(conversation.PurpleConversation *conv):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_223); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_224);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_224);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.present");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":187
- *         (<object> conversation_cbs["present"])("present: TODO")
- * 
- * cdef glib.gboolean has_focus(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
- *     """
- *     If this UI has a concept of focus (as in a windowing system) and this
- */
-
-static PyObject *__pyx_kp_228;
-static PyObject *__pyx_kp_229;
-static PyObject *__pyx_kp_230;
-
-static char __pyx_k_225[] = "conversation";
-static char __pyx_k_226[] = "%s";
-static char __pyx_k_227[] = "has-focus\n";
-static char __pyx_k_228[] = "has-focus";
-static char __pyx_k_229[] = "has-focus";
-static char __pyx_k_230[] = "has-focus: TODO";
-
-static  gboolean __pyx_f_6purple_has_focus(PurpleConversation *__pyx_v_conv) {
-  gboolean __pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":192
- *     conversation has the focus, return TRUE; otherwise, return FALSE.
- *     """
- *     debug.purple_debug_info("conversation", "%s", "has-focus\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("has-focus"):
- *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")
- */
-  purple_debug_info(__pyx_k_225, __pyx_k_226, __pyx_k_227);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":193
- *     """
- *     debug.purple_debug_info("conversation", "%s", "has-focus\n")
- *     if conversation_cbs.has_key("has-focus"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")
- *     return False
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_228);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_228);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":194
- *     debug.purple_debug_info("conversation", "%s", "has-focus\n")
- *     if conversation_cbs.has_key("has-focus"):
- *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")             # <<<<<<<<<<<<<<
- *     return False
- * 
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_229); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_230);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_230);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":195
- *     if conversation_cbs.has_key("has-focus"):
- *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")
- *     return False             # <<<<<<<<<<<<<<
- * 
- * cdef glib.gboolean custom_smiley_add(conversation.PurpleConversation *conv, \
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.has_focus");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":197
- *     return False
- * 
- * cdef glib.gboolean custom_smiley_add(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         const_char *smile, glib.gboolean remote):
- *     """
- */
-
-static PyObject *__pyx_kp_234;
-static PyObject *__pyx_kp_235;
-static PyObject *__pyx_kp_236;
-
-static char __pyx_k_231[] = "conversation";
-static char __pyx_k_232[] = "%s";
-static char __pyx_k_233[] = "custom-smiley-add\n";
-static char __pyx_k_234[] = "custom-smiley-add";
-static char __pyx_k_235[] = "custom-smiley-add";
-static char __pyx_k_236[] = "custom-smiley-add: TODO";
-
-static  gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile, gboolean __pyx_v_remote) {
-  gboolean __pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":202
- *     Custom smileys (add).
- *     """
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("custom-smiley-add"):
- *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")
- */
-  purple_debug_info(__pyx_k_231, __pyx_k_232, __pyx_k_233);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":203
- *     """
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n")
- *     if conversation_cbs.has_key("custom-smiley-add"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")
- *     return False
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_234);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_234);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":204
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n")
- *     if conversation_cbs.has_key("custom-smiley-add"):
- *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")             # <<<<<<<<<<<<<<
- *     return False
- * 
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_235); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_236);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_236);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":205
- *     if conversation_cbs.has_key("custom-smiley-add"):
- *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")
- *     return False             # <<<<<<<<<<<<<<
- * 
- * cdef void custom_smiley_write(conversation.PurpleConversation *conv, \
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.custom_smiley_add");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":207
- *     return False
- * 
- * cdef void custom_smiley_write(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         const_char *smile, const_guchar *data, glib.gsize size):
- *     """
- */
-
-static PyObject *__pyx_kp_240;
-static PyObject *__pyx_kp_241;
-static PyObject *__pyx_kp_242;
-
-static char __pyx_k_237[] = "conversation";
-static char __pyx_k_238[] = "%s";
-static char __pyx_k_239[] = "custom-smiley-write\n";
-static char __pyx_k_240[] = "custom-smiley-write";
-static char __pyx_k_241[] = "custom-smiley-write";
-static char __pyx_k_242[] = "custom-smiley-write: TODO";
-
-static  void __pyx_f_6purple_custom_smiley_write(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile, const guchar *__pyx_v_data, gsize __pyx_v_size) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":212
- *     Custom smileys (write).
- *     """
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("custom-smiley-write"):
- *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")
- */
-  purple_debug_info(__pyx_k_237, __pyx_k_238, __pyx_k_239);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":213
- *     """
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n")
- *     if conversation_cbs.has_key("custom-smiley-write"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_240);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_240);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":214
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n")
- *     if conversation_cbs.has_key("custom-smiley-write"):
- *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void custom_smiley_close(conversation.PurpleConversation *conv, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_241); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_242);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_242);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.custom_smiley_write");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":216
- *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")
- * 
- * cdef void custom_smiley_close(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         const_char *smile):
- *     """
- */
-
-static PyObject *__pyx_kp_246;
-static PyObject *__pyx_kp_247;
-static PyObject *__pyx_kp_248;
-
-static char __pyx_k_243[] = "conversation";
-static char __pyx_k_244[] = "%s";
-static char __pyx_k_245[] = "custom-smiley-close\n";
-static char __pyx_k_246[] = "custom-smiley-close";
-static char __pyx_k_247[] = "custom-smiley-close";
-static char __pyx_k_248[] = "custom-smiley-close: TODO";
-
-static  void __pyx_f_6purple_custom_smiley_close(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":221
- *     Custom smileys (close).
- *     """
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("custom-smiley-close"):
- *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")
- */
-  purple_debug_info(__pyx_k_243, __pyx_k_244, __pyx_k_245);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":222
- *     """
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n")
- *     if conversation_cbs.has_key("custom-smiley-close"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_246);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_246);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":223
- *     debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n")
- *     if conversation_cbs.has_key("custom-smiley-close"):
- *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void send_confirm(conversation.PurpleConversation *conv, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_247); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_248);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_248);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.custom_smiley_close");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":225
- *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")
- * 
- * cdef void send_confirm(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
- *         const_char *message):
- *     """
- */
-
-static PyObject *__pyx_kp_252;
-static PyObject *__pyx_kp_253;
-static PyObject *__pyx_kp_254;
-
-static char __pyx_k_249[] = "conversation";
-static char __pyx_k_250[] = "%s";
-static char __pyx_k_251[] = "send-confirm\n";
-static char __pyx_k_252[] = "send-confirm";
-static char __pyx_k_253[] = "send-confirm";
-static char __pyx_k_254[] = "send-confirm: TODO";
-
-static  void __pyx_f_6purple_send_confirm(PurpleConversation *__pyx_v_conv, const char *__pyx_v_message) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":232
- *     is NULL, libpurple will fall back to using purple_request_action().
- *     """
- *     debug.purple_debug_info("conversation", "%s", "send-confirm\n")             # <<<<<<<<<<<<<<
- *     if conversation_cbs.has_key("send-confirm"):
- *         (<object> conversation_cbs["send-confirm"])("send-confirm: TODO")
- */
-  purple_debug_info(__pyx_k_249, __pyx_k_250, __pyx_k_251);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":233
- *     """
- *     debug.purple_debug_info("conversation", "%s", "send-confirm\n")
- *     if conversation_cbs.has_key("send-confirm"):             # <<<<<<<<<<<<<<
- *         (<object> conversation_cbs["send-confirm"])("send-confirm: TODO")
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_252);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_252);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":234
- *     debug.purple_debug_info("conversation", "%s", "send-confirm\n")
- *     if conversation_cbs.has_key("send-confirm"):
- *         (<object> conversation_cbs["send-confirm"])("send-confirm: TODO")             # <<<<<<<<<<<<<<
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_253); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_254);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_254);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.send_confirm");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":28
- * notify_cbs = {}
- * 
- * cdef void *notify_message(notify.PurpleNotifyMsgType type, \             # <<<<<<<<<<<<<<
- *         const_char *title, const_char *primary, const_char *secondary):
- *     """
- */
-
-static PyObject *__pyx_kp_258;
-static PyObject *__pyx_kp_259;
-static PyObject *__pyx_kp_260;
-
-static char __pyx_k_255[] = "notify";
-static char __pyx_k_256[] = "%s";
-static char __pyx_k_257[] = "notify-message\n";
-static char __pyx_k_258[] = "notif-message";
-static char __pyx_k_259[] = "notify-message";
-static char __pyx_k_260[] = "notify-message: TODO";
-
-static  void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType __pyx_v_type, const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":33
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-message\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notif-message"):
- *         (<object> notify_cbs["notify-message"])("notify-message: TODO")
- */
-  purple_debug_info(__pyx_k_255, __pyx_k_256, __pyx_k_257);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":34
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-message\n")
- *     if notify_cbs.has_key("notif-message"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-message"])("notify-message: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_258);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_258);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":35
- *     debug.purple_debug_info("notify", "%s", "notify-message\n")
- *     if notify_cbs.has_key("notif-message"):
- *         (<object> notify_cbs["notify-message"])("notify-message: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *notify_email(connection.PurpleConnection *gc, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_259); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_260);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_260);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_message");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":37
- *         (<object> notify_cbs["notify-message"])("notify-message: TODO")
- * 
- * cdef void *notify_email(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         const_char *subject, const_char *_from, const_char *to, \
- *         const_char *url):
- */
-
-static PyObject *__pyx_kp_264;
-static PyObject *__pyx_kp_265;
-static PyObject *__pyx_kp_266;
-
-static char __pyx_k_261[] = "notify";
-static char __pyx_k_262[] = "%s";
-static char __pyx_k_263[] = "notify-email\n";
-static char __pyx_k_264[] = "notify-email";
-static char __pyx_k_265[] = "notify-email";
-static char __pyx_k_266[] = "notify-email: TODO";
-
-static  void *__pyx_f_6purple_notify_email(PurpleConnection *__pyx_v_gc, const char *__pyx_v_subject, const char *__pyx_v__from, const char *__pyx_v_to, const char *__pyx_v_url) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":43
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-email\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-email"):
- *         (<object> notify_cbs["notify-email"])("notify-email: TODO")
- */
-  purple_debug_info(__pyx_k_261, __pyx_k_262, __pyx_k_263);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":44
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-email\n")
- *     if notify_cbs.has_key("notify-email"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-email"])("notify-email: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_264);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_264);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":45
- *     debug.purple_debug_info("notify", "%s", "notify-email\n")
- *     if notify_cbs.has_key("notify-email"):
- *         (<object> notify_cbs["notify-email"])("notify-email: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *notify_emails(connection.PurpleConnection *gc, size_t count, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_265); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_266);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_266);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_email");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":47
- *         (<object> notify_cbs["notify-email"])("notify-email: TODO")
- * 
- * cdef void *notify_emails(connection.PurpleConnection *gc, size_t count, \             # <<<<<<<<<<<<<<
- *         glib.gboolean detailed, const_char **subjects, \
- *         const_char **froms, const_char **tos, const_char **urls):
- */
-
-static PyObject *__pyx_kp_270;
-static PyObject *__pyx_kp_271;
-static PyObject *__pyx_kp_272;
-
-static char __pyx_k_267[] = "notify";
-static char __pyx_k_268[] = "%s";
-static char __pyx_k_269[] = "notify-emails\n";
-static char __pyx_k_270[] = "notify-emails";
-static char __pyx_k_271[] = "notify-emails";
-static char __pyx_k_272[] = "notify-emails: TODO";
-
-static  void *__pyx_f_6purple_notify_emails(PurpleConnection *__pyx_v_gc, size_t __pyx_v_count, gboolean __pyx_v_detailed, const char **__pyx_v_subjects, const char **__pyx_v_froms, const char **__pyx_v_tos, const char **__pyx_v_urls) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":53
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-emails\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-emails"):
- *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")
- */
-  purple_debug_info(__pyx_k_267, __pyx_k_268, __pyx_k_269);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":54
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-emails\n")
- *     if notify_cbs.has_key("notify-emails"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_270);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_270);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":55
- *     debug.purple_debug_info("notify", "%s", "notify-emails\n")
- *     if notify_cbs.has_key("notify-emails"):
- *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *notify_formatted(const_char *title, const_char *primary, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_271); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_272);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_272);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_emails");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":57
- *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")
- * 
- * cdef void *notify_formatted(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
- *         const_char *secondary, const_char *text):
- *     """
- */
-
-static PyObject *__pyx_kp_276;
-static PyObject *__pyx_kp_277;
-static PyObject *__pyx_kp_278;
-
-static char __pyx_k_273[] = "notify";
-static char __pyx_k_274[] = "%s";
-static char __pyx_k_275[] = "notify-formatted\n";
-static char __pyx_k_276[] = "notify-formatted";
-static char __pyx_k_277[] = "notify-formatted";
-static char __pyx_k_278[] = "notify-formatted: TODO";
-
-static  void *__pyx_f_6purple_notify_formatted(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, const char *__pyx_v_text) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":62
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-formatted\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-formatted"):
- *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")
- */
-  purple_debug_info(__pyx_k_273, __pyx_k_274, __pyx_k_275);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":63
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-formatted\n")
- *     if notify_cbs.has_key("notify-formatted"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_276);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_276);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":64
- *     debug.purple_debug_info("notify", "%s", "notify-formatted\n")
- *     if notify_cbs.has_key("notify-formatted"):
- *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *notify_searchresults(connection.PurpleConnection *gc, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_277); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_278);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_278);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_formatted");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":66
- *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")
- * 
- * cdef void *notify_searchresults(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         const_char *title, const_char *primary, const_char *secondary, \
- *         notify.PurpleNotifySearchResults *results, glib.gpointer user_data):
- */
-
-static PyObject *__pyx_kp_282;
-static PyObject *__pyx_kp_283;
-static PyObject *__pyx_kp_284;
-
-static char __pyx_k_279[] = "notify";
-static char __pyx_k_280[] = "%s";
-static char __pyx_k_281[] = "notify-searchresults\n";
-static char __pyx_k_282[] = "notify-searchresults";
-static char __pyx_k_283[] = "notify-searchresults";
-static char __pyx_k_284[] = "notify-searchresults: TODO";
-
-static  void *__pyx_f_6purple_notify_searchresults(PurpleConnection *__pyx_v_gc, const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, PurpleNotifySearchResults *__pyx_v_results, gpointer __pyx_v_user_data) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":72
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-searchresults\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-searchresults"):
- *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")
- */
-  purple_debug_info(__pyx_k_279, __pyx_k_280, __pyx_k_281);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":73
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-searchresults\n")
- *     if notify_cbs.has_key("notify-searchresults"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_282);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_282);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":74
- *     debug.purple_debug_info("notify", "%s", "notify-searchresults\n")
- *     if notify_cbs.has_key("notify-searchresults"):
- *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void notify_searchresults_new_rows(connection.PurpleConnection *gc, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_283); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_284);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_284);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_searchresults");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":76
- *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")
- * 
- * cdef void notify_searchresults_new_rows(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         notify.PurpleNotifySearchResults *results, void *data):
- *     """
- */
-
-static PyObject *__pyx_kp_288;
-static PyObject *__pyx_kp_289;
-static PyObject *__pyx_kp_290;
-
-static char __pyx_k_285[] = "notify";
-static char __pyx_k_286[] = "%s";
-static char __pyx_k_287[] = "notify-searchresults-new-rows\n";
-static char __pyx_k_288[] = "notify-searchresults-new-rows";
-static char __pyx_k_289[] = "notify-searchresults-new-rows";
-static char __pyx_k_290[] = "notify-searchresults-new-rows: TODO";
-
-static  void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *__pyx_v_gc, PurpleNotifySearchResults *__pyx_v_results, void *__pyx_v_data) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":81
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-searchresults-new-rows"):
- *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")
- */
-  purple_debug_info(__pyx_k_285, __pyx_k_286, __pyx_k_287);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":82
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n")
- *     if notify_cbs.has_key("notify-searchresults-new-rows"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_288);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_288);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":83
- *     debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n")
- *     if notify_cbs.has_key("notify-searchresults-new-rows"):
- *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *notify_userinfo(connection.PurpleConnection *gc, const_char *who, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_289); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_290);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_290);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_searchresults_new_rows");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":85
- *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")
- * 
- * cdef void *notify_userinfo(connection.PurpleConnection *gc, const_char *who, \             # <<<<<<<<<<<<<<
- *         notify.PurpleNotifyUserInfo *user_info):
- *     """
- */
-
-static PyObject *__pyx_kp_294;
-static PyObject *__pyx_kp_295;
-static PyObject *__pyx_kp_296;
-
-static char __pyx_k_291[] = "notify";
-static char __pyx_k_292[] = "%s";
-static char __pyx_k_293[] = "notify-userinfo\n";
-static char __pyx_k_294[] = "notify-userinfo";
-static char __pyx_k_295[] = "notify-userinfo";
-static char __pyx_k_296[] = "notify-userinfo: TODO";
-
-static  void *__pyx_f_6purple_notify_userinfo(PurpleConnection *__pyx_v_gc, const char *__pyx_v_who, PurpleNotifyUserInfo *__pyx_v_user_info) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":90
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-userinfo\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-userinfo"):
- *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")
- */
-  purple_debug_info(__pyx_k_291, __pyx_k_292, __pyx_k_293);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":91
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-userinfo\n")
- *     if notify_cbs.has_key("notify-userinfo"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_294);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_294);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":92
- *     debug.purple_debug_info("notify", "%s", "notify-userinfo\n")
- *     if notify_cbs.has_key("notify-userinfo"):
- *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *notify_uri(const_char *uri):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_295); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_296);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_296);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_userinfo");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":94
- *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")
- * 
- * cdef void *notify_uri(const_char *uri):             # <<<<<<<<<<<<<<
- *     """
- *     TODO
- */
-
-static PyObject *__pyx_kp_300;
-static PyObject *__pyx_kp_301;
-static PyObject *__pyx_kp_302;
-
-static char __pyx_k_297[] = "notify";
-static char __pyx_k_298[] = "%s";
-static char __pyx_k_299[] = "notify-uri\n";
-static char __pyx_k_300[] = "notify-uri";
-static char __pyx_k_301[] = "notify-uri";
-static char __pyx_k_302[] = "notify-uri: TODO";
-
-static  void *__pyx_f_6purple_notify_uri(const char *__pyx_v_uri) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":98
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-uri\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("notify-uri"):
- *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")
- */
-  purple_debug_info(__pyx_k_297, __pyx_k_298, __pyx_k_299);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":99
- *     """
- *     debug.purple_debug_info("notify", "%s", "notify-uri\n")
- *     if notify_cbs.has_key("notify-uri"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_300);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_300);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":100
- *     debug.purple_debug_info("notify", "%s", "notify-uri\n")
- *     if notify_cbs.has_key("notify-uri"):
- *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void close_notify(notify.PurpleNotifyType type, void *ui_handle):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_301); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_302);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_302);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.notify_uri");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":102
- *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")
- * 
- * cdef void close_notify(notify.PurpleNotifyType type, void *ui_handle):             # <<<<<<<<<<<<<<
- *     """
- *     TODO
- */
-
-static PyObject *__pyx_kp_306;
-static PyObject *__pyx_kp_307;
-static PyObject *__pyx_kp_308;
-
-static char __pyx_k_303[] = "notify";
-static char __pyx_k_304[] = "%s";
-static char __pyx_k_305[] = "close-notify\n";
-static char __pyx_k_306[] = "close-notify";
-static char __pyx_k_307[] = "close-notify";
-static char __pyx_k_308[] = "close-notify: TODO";
-
-static  void __pyx_f_6purple_close_notify(PurpleNotifyType __pyx_v_type, void *__pyx_v_ui_handle) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":106
- *     TODO
- *     """
- *     debug.purple_debug_info("notify", "%s", "close-notify\n")             # <<<<<<<<<<<<<<
- *     if notify_cbs.has_key("close-notify"):
- *         (<object> notify_cbs["close-notify"])("close-notify: TODO")
- */
-  purple_debug_info(__pyx_k_303, __pyx_k_304, __pyx_k_305);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":107
- *     """
- *     debug.purple_debug_info("notify", "%s", "close-notify\n")
- *     if notify_cbs.has_key("close-notify"):             # <<<<<<<<<<<<<<
- *         (<object> notify_cbs["close-notify"])("close-notify: TODO")
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_306);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_306);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":108
- *     debug.purple_debug_info("notify", "%s", "close-notify\n")
- *     if notify_cbs.has_key("close-notify"):
- *         (<object> notify_cbs["close-notify"])("close-notify: TODO")             # <<<<<<<<<<<<<<
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_307); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_308);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_308);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.close_notify");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":29
- * request_cbs = {}
- * 
- * cdef void *request_input(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
- *         const_char *secondary, const_char *default_value, \
- *         glib.gboolean multiline, glib.gboolean masked, glib.gchar *hint, \
- */
-
-static PyObject *__pyx_kp_312;
-static PyObject *__pyx_kp_313;
-static PyObject *__pyx_kp_314;
-
-static char __pyx_k_309[] = "request";
-static char __pyx_k_310[] = "%s";
-static char __pyx_k_311[] = "request-input\n";
-static char __pyx_k_312[] = "request-input";
-static char __pyx_k_313[] = "request-input";
-static char __pyx_k_314[] = "request-input: TODO";
-
-static  void *__pyx_f_6purple_request_input(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, const char *__pyx_v_default_value, gboolean __pyx_v_multiline, gboolean __pyx_v_masked, gchar *__pyx_v_hint, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":39
- *     @see purple_request_input().
- *     """
- *     debug.purple_debug_info("request", "%s", "request-input\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("request-input"):
- *         (<object> request_cbs["request-input"])("request-input: TODO")
- */
-  purple_debug_info(__pyx_k_309, __pyx_k_310, __pyx_k_311);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":40
- *     """
- *     debug.purple_debug_info("request", "%s", "request-input\n")
- *     if request_cbs.has_key("request-input"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["request-input"])("request-input: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_312);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_312);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":41
- *     debug.purple_debug_info("request", "%s", "request-input\n")
- *     if request_cbs.has_key("request-input"):
- *         (<object> request_cbs["request-input"])("request-input: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *request_choice(const_char *title, const_char *primary, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_313); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_314);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_314);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_input");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":43
- *         (<object> request_cbs["request-input"])("request-input: TODO")
- * 
- * cdef void *request_choice(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
- *         const_char *secondary, int default_value, const_char *ok_text, \
- *         glib.GCallback ok_cb, const_char *cancel_text, \
- */
-
-static PyObject *__pyx_kp_318;
-static PyObject *__pyx_kp_319;
-static PyObject *__pyx_kp_320;
-
-static char __pyx_k_315[] = "request";
-static char __pyx_k_316[] = "%s";
-static char __pyx_k_317[] = "request-choice\n";
-static char __pyx_k_318[] = "request-choice";
-static char __pyx_k_319[] = "request-choice";
-static char __pyx_k_320[] = "request-choice: TODO";
-
-static  void *__pyx_f_6purple_request_choice(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, int __pyx_v_default_value, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data, va_list __pyx_v_choices) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":52
- *     @see purple_request_choice_varg().
- *     """
- *     debug.purple_debug_info("request", "%s", "request-choice\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("request-choice"):
- *         (<object> request_cbs["request-choice"])("request-choice: TODO")
- */
-  purple_debug_info(__pyx_k_315, __pyx_k_316, __pyx_k_317);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":53
- *     """
- *     debug.purple_debug_info("request", "%s", "request-choice\n")
- *     if request_cbs.has_key("request-choice"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["request-choice"])("request-choice: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_318);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_318);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":54
- *     debug.purple_debug_info("request", "%s", "request-choice\n")
- *     if request_cbs.has_key("request-choice"):
- *         (<object> request_cbs["request-choice"])("request-choice: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *request_action(const_char *title, const_char *primary, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_319); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_320);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_320);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_choice");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":56
- *         (<object> request_cbs["request-choice"])("request-choice: TODO")
- * 
- * cdef void *request_action(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
- *         const_char *secondary, int default_action, \
- *         account.PurpleAccount *account, const_char *who, \
- */
-
-static PyObject *__pyx_kp_324;
-static PyObject *__pyx_kp_325;
-static PyObject *__pyx_kp_326;
-
-static char __pyx_k_321[] = "request";
-static char __pyx_k_322[] = "%s";
-static char __pyx_k_323[] = "request-action\n";
-static char __pyx_k_324[] = "request-action";
-static char __pyx_k_325[] = "request-action";
-static char __pyx_k_326[] = "request-action: TODo";
-
-static  void *__pyx_f_6purple_request_action(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, int __pyx_v_default_action, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data, size_t __pyx_v_action_count, va_list __pyx_v_actions) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":64
- *     @see purple_request_action_varg().
- *     """
- *     debug.purple_debug_info("request", "%s", "request-action\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("request-action"):
- *         (<object> request_cbs["request-action"])("request-action: TODo")
- */
-  purple_debug_info(__pyx_k_321, __pyx_k_322, __pyx_k_323);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":65
- *     """
- *     debug.purple_debug_info("request", "%s", "request-action\n")
- *     if request_cbs.has_key("request-action"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["request-action"])("request-action: TODo")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_324);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_324);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":66
- *     debug.purple_debug_info("request", "%s", "request-action\n")
- *     if request_cbs.has_key("request-action"):
- *         (<object> request_cbs["request-action"])("request-action: TODo")             # <<<<<<<<<<<<<<
- * 
- * cdef void *request_fields(const_char *title, const_char *primary, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_325); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_326);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_326);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_action");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":68
- *         (<object> request_cbs["request-action"])("request-action: TODo")
- * 
- * cdef void *request_fields(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
- *         const_char *secondary, request.PurpleRequestFields *fields, \
- *         const_char *ok_text, glib.GCallback ok_cb, const_char *cancel_text, \
- */
-
-static PyObject *__pyx_kp_330;
-static PyObject *__pyx_kp_331;
-static PyObject *__pyx_kp_332;
-
-static char __pyx_k_327[] = "request";
-static char __pyx_k_328[] = "%s";
-static char __pyx_k_329[] = "request-fields\n";
-static char __pyx_k_330[] = "request-fields";
-static char __pyx_k_331[] = "request-fields";
-static char __pyx_k_332[] = "request-fields: TODO";
-
-static  void *__pyx_f_6purple_request_fields(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, PurpleRequestFields *__pyx_v_fields, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":77
- *     @see purple_request_fields().
- *     """
- *     debug.purple_debug_info("request", "%s", "request-fields\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("request-fields"):
- *         (<object> request_cbs["request-fields"])("request-fields: TODO")
- */
-  purple_debug_info(__pyx_k_327, __pyx_k_328, __pyx_k_329);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":78
- *     """
- *     debug.purple_debug_info("request", "%s", "request-fields\n")
- *     if request_cbs.has_key("request-fields"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["request-fields"])("request-fields: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_330);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_330);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":79
- *     debug.purple_debug_info("request", "%s", "request-fields\n")
- *     if request_cbs.has_key("request-fields"):
- *         (<object> request_cbs["request-fields"])("request-fields: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *request_file(const_char *title, const_char *filename, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_331); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_332);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_332);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_fields");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":81
- *         (<object> request_cbs["request-fields"])("request-fields: TODO")
- * 
- * cdef void *request_file(const_char *title, const_char *filename, \             # <<<<<<<<<<<<<<
- *         glib.gboolean savedialog, glib.GCallback ok_cb, \
- *         glib.GCallback cancel_cb, account.PurpleAccount *account, \
- */
-
-static PyObject *__pyx_kp_336;
-static PyObject *__pyx_kp_337;
-static PyObject *__pyx_kp_338;
-
-static char __pyx_k_333[] = "request";
-static char __pyx_k_334[] = "%s";
-static char __pyx_k_335[] = "request-file\n";
-static char __pyx_k_336[] = "request-file";
-static char __pyx_k_337[] = "request-file";
-static char __pyx_k_338[] = "request-file: TODO";
-
-static  void *__pyx_f_6purple_request_file(const char *__pyx_v_title, const char *__pyx_v_filename, gboolean __pyx_v_savedialog, GCallback __pyx_v_ok_cb, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":89
- *     @see purple_request_file().
- *     """
- *     debug.purple_debug_info("request", "%s", "request-file\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("request-file"):
- *         (<object> request_cbs["request-file"])("request-file: TODO")
- */
-  purple_debug_info(__pyx_k_333, __pyx_k_334, __pyx_k_335);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":90
- *     """
- *     debug.purple_debug_info("request", "%s", "request-file\n")
- *     if request_cbs.has_key("request-file"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["request-file"])("request-file: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_336);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_336);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":91
- *     debug.purple_debug_info("request", "%s", "request-file\n")
- *     if request_cbs.has_key("request-file"):
- *         (<object> request_cbs["request-file"])("request-file: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void close_request(request.PurpleRequestType type, void *ui_handle):
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_337); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_338);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_338);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_file");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":93
- *         (<object> request_cbs["request-file"])("request-file: TODO")
- * 
- * cdef void close_request(request.PurpleRequestType type, void *ui_handle):             # <<<<<<<<<<<<<<
- *     """
- *     TODO
- */
-
-static PyObject *__pyx_kp_342;
-static PyObject *__pyx_kp_343;
-static PyObject *__pyx_kp_344;
-
-static char __pyx_k_339[] = "request";
-static char __pyx_k_340[] = "%s";
-static char __pyx_k_341[] = "close-request\n";
-static char __pyx_k_342[] = "close-request";
-static char __pyx_k_343[] = "close-request";
-static char __pyx_k_344[] = "close-request: TODO";
-
-static  void __pyx_f_6purple_close_request(PurpleRequestType __pyx_v_type, void *__pyx_v_ui_handle) {
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":97
- *     TODO
- *     """
- *     debug.purple_debug_info("request", "%s", "close-request\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("close-request"):
- *         (<object> request_cbs["close-request"])("close-request: TODO")
- */
-  purple_debug_info(__pyx_k_339, __pyx_k_340, __pyx_k_341);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":98
- *     """
- *     debug.purple_debug_info("request", "%s", "close-request\n")
- *     if request_cbs.has_key("close-request"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["close-request"])("close-request: TODO")
- * 
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_342);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_342);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":99
- *     debug.purple_debug_info("request", "%s", "close-request\n")
- *     if request_cbs.has_key("close-request"):
- *         (<object> request_cbs["close-request"])("close-request: TODO")             # <<<<<<<<<<<<<<
- * 
- * cdef void *request_folder(const_char *title, const_char *dirname, \
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_343); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_344);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_344);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.close_request");
-  __pyx_L0:;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":101
- *         (<object> request_cbs["close-request"])("close-request: TODO")
- * 
- * cdef void *request_folder(const_char *title, const_char *dirname, \             # <<<<<<<<<<<<<<
- *         glib.GCallback ok_cb, glib.GCallback cancel_cb, \
- *         account.PurpleAccount *account, const_char *who, \
- */
-
-static PyObject *__pyx_kp_348;
-static PyObject *__pyx_kp_349;
-static PyObject *__pyx_kp_350;
-
-static char __pyx_k_345[] = "request";
-static char __pyx_k_346[] = "%s";
-static char __pyx_k_347[] = "request-folder\n";
-static char __pyx_k_348[] = "request-folder";
-static char __pyx_k_349[] = "request-folder";
-static char __pyx_k_350[] = "request-folder: TODO";
-
-static  void *__pyx_f_6purple_request_folder(const char *__pyx_v_title, const char *__pyx_v_dirname, GCallback __pyx_v_ok_cb, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
-  void *__pyx_r;
-  PyObject *__pyx_1 = 0;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  int __pyx_4;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":108
- *     @see purple_request_folder().
- *     """
- *     debug.purple_debug_info("request", "%s", "request-folder\n")             # <<<<<<<<<<<<<<
- *     if request_cbs.has_key("request-folder"):
- *         (<object> request_cbs["request-folder"])("request-folder: TODO")
- */
-  purple_debug_info(__pyx_k_345, __pyx_k_346, __pyx_k_347);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":109
- *     """
- *     debug.purple_debug_info("request", "%s", "request-folder\n")
- *     if request_cbs.has_key("request-folder"):             # <<<<<<<<<<<<<<
- *         (<object> request_cbs["request-folder"])("request-folder: TODO")
- */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_348);
-  PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_348);
-  __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  if (__pyx_4) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":110
- *     debug.purple_debug_info("request", "%s", "request-folder\n")
- *     if request_cbs.has_key("request-folder"):
- *         (<object> request_cbs["request-folder"])("request-folder: TODO")             # <<<<<<<<<<<<<<
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_349); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_kp_350);
-    PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_350);
-    __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_1); __pyx_1 = 0;
-    Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  __pyx_L2:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_1);
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  __Pyx_WriteUnraisable("purple.request_folder");
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":27
- *     ctypedef char const_gchar "const gchar"
- * 
- * cdef void signal_signed_on_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         glib.gpointer null):
- *     """
- */
-
-static PyObject *__pyx_kp_351;
-static PyObject *__pyx_kp_352;
-
-static char __pyx_k_351[] = "signed-on";
-static char __pyx_k_352[] = "signed-on";
-
-static  void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *__pyx_v_gc, gpointer __pyx_v_null) {
-  PurpleAccount *__pyx_v_acc;
-  char *__pyx_v_c_username;
-  char *__pyx_v_c_protocol_id;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":33
- *     @params gc  The connection that has signed on.
- *     """
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)             # <<<<<<<<<<<<<<
- *     cdef char *c_username = NULL
- *     cdef char *c_protocol_id = NULL
- */
-  __pyx_v_acc = purple_connection_get_account(__pyx_v_gc);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":34
- *     """
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
- *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_protocol_id = NULL
- * 
- */
-  __pyx_v_c_username = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":35
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
- *     cdef char *c_username = NULL
- *     cdef char *c_protocol_id = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- */
-  __pyx_v_c_protocol_id = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":37
- *     cdef char *c_protocol_id = NULL
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
- *     if c_username == NULL:
- *         username = None
- */
-  __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":38
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username == NULL:             # <<<<<<<<<<<<<<
- *         username = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_username == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":39
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username == NULL:
- *         username = None             # <<<<<<<<<<<<<<
- *     else:
- *         username = c_username
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":41
- *         username = None
- *     else:
- *         username = c_username             # <<<<<<<<<<<<<<
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":43
- *         username = c_username
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
- *     if c_protocol_id == NULL:
- *         protocol_id = None
- */
-  __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":44
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- *     if c_protocol_id == NULL:             # <<<<<<<<<<<<<<
- *         protocol_id = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_protocol_id == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":45
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- *     if c_protocol_id == NULL:
- *         protocol_id = None             # <<<<<<<<<<<<<<
- *     else:
- *         protocol_id = c_protocol_id
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_protocol_id);
-    __pyx_v_protocol_id = Py_None;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":47
- *         protocol_id = None
- *     else:
- *         protocol_id = c_protocol_id             # <<<<<<<<<<<<<<
- * 
- *     if signal_cbs.has_key("signed-on"):
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_protocol_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_protocol_id);
-    __pyx_v_protocol_id = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":49
- *         protocol_id = c_protocol_id
- * 
- *     if signal_cbs.has_key("signed-on"):             # <<<<<<<<<<<<<<
- *         (<object> signal_cbs["signed-on"])(username, protocol_id)
- * 
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_351);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_351);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":50
- * 
- *     if signal_cbs.has_key("signed-on"):
- *         (<object> signal_cbs["signed-on"])(username, protocol_id)             # <<<<<<<<<<<<<<
- * 
- * cdef void signal_signed_off_cb(connection.PurpleConnection *gc, \
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_352); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  __Pyx_WriteUnraisable("purple.signal_signed_on_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":52
- *         (<object> signal_cbs["signed-on"])(username, protocol_id)
- * 
- * cdef void signal_signed_off_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         glib.gpointer null):
- *     """
- */
-
-static PyObject *__pyx_kp_353;
-static PyObject *__pyx_kp_354;
-
-static char __pyx_k_353[] = "signed-off";
-static char __pyx_k_354[] = "signed-off";
-
-static  void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *__pyx_v_gc, gpointer __pyx_v_null) {
-  PurpleAccount *__pyx_v_acc;
-  char *__pyx_v_c_username;
-  char *__pyx_v_c_protocol_id;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":58
- *     @params gc  The connection that has signed off.
- *     """
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)             # <<<<<<<<<<<<<<
- *     cdef char *c_username = NULL
- *     cdef char *c_protocol_id = NULL
- */
-  __pyx_v_acc = purple_connection_get_account(__pyx_v_gc);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":59
- *     """
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
- *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_protocol_id = NULL
- * 
- */
-  __pyx_v_c_username = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":60
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
- *     cdef char *c_username = NULL
- *     cdef char *c_protocol_id = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- */
-  __pyx_v_c_protocol_id = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":62
- *     cdef char *c_protocol_id = NULL
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
- *     if c_username == NULL:
- *         username = None
- */
-  __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":63
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username == NULL:             # <<<<<<<<<<<<<<
- *         username = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_username == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":64
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username == NULL:
- *         username = None             # <<<<<<<<<<<<<<
- *     else:
- *         username = c_username
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":66
- *         username = None
- *     else:
- *         username = c_username             # <<<<<<<<<<<<<<
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":68
- *         username = c_username
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
- *     if c_protocol_id == NULL:
- *         protocol_id = None
- */
-  __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":69
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- *     if c_protocol_id == NULL:             # <<<<<<<<<<<<<<
- *         protocol_id = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_protocol_id == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":70
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- *     if c_protocol_id == NULL:
- *         protocol_id = None             # <<<<<<<<<<<<<<
- *     else:
- *         protocol_id = c_protocol_id
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_protocol_id);
-    __pyx_v_protocol_id = Py_None;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":72
- *         protocol_id = None
- *     else:
- *         protocol_id = c_protocol_id             # <<<<<<<<<<<<<<
- * 
- *     if signal_cbs.has_key("signed-off"):
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_protocol_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_protocol_id);
-    __pyx_v_protocol_id = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":74
- *         protocol_id = c_protocol_id
- * 
- *     if signal_cbs.has_key("signed-off"):             # <<<<<<<<<<<<<<
- *         (<object> signal_cbs["signed-off"])(username, protocol_id)
- * 
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_353);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_353);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":75
- * 
- *     if signal_cbs.has_key("signed-off"):
- *         (<object> signal_cbs["signed-off"])(username, protocol_id)             # <<<<<<<<<<<<<<
- * 
- * cdef void signal_connection_error_cb(connection.PurpleConnection *gc, \
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_354); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  __Pyx_WriteUnraisable("purple.signal_signed_off_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":77
- *         (<object> signal_cbs["signed-off"])(username, protocol_id)
- * 
- * cdef void signal_connection_error_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
- *         connection.PurpleConnectionError err, const_gchar *c_desc):
- *     """
- */
-
-static PyObject *__pyx_kp_355;
-static PyObject *__pyx_kp_356;
-static PyObject *__pyx_kp_357;
-static PyObject *__pyx_kp_358;
-static PyObject *__pyx_kp_359;
-static PyObject *__pyx_kp_360;
-static PyObject *__pyx_kp_361;
-static PyObject *__pyx_kp_362;
-static PyObject *__pyx_kp_363;
-static PyObject *__pyx_kp_364;
-static PyObject *__pyx_kp_365;
-static PyObject *__pyx_kp_366;
-static PyObject *__pyx_kp_367;
-static PyObject *__pyx_kp_368;
-static PyObject *__pyx_kp_369;
-static PyObject *__pyx_kp_370;
-static PyObject *__pyx_kp_371;
-static PyObject *__pyx_kp_372;
-static PyObject *__pyx_kp_373;
-
-static char __pyx_k_355[] = "Network error";
-static char __pyx_k_356[] = "Invalid username";
-static char __pyx_k_357[] = "Authentication failed";
-static char __pyx_k_358[] = "Authentication impossible";
-static char __pyx_k_359[] = "No SSL support";
-static char __pyx_k_360[] = "Encryption error";
-static char __pyx_k_361[] = "Name in use";
-static char __pyx_k_362[] = "Invalid settings";
-static char __pyx_k_363[] = "SSL certificate not provided";
-static char __pyx_k_364[] = "SSL certificate untrusted";
-static char __pyx_k_365[] = "SSL certificate expired";
-static char __pyx_k_366[] = "SSL certificate not activated";
-static char __pyx_k_367[] = "SSL certificate hostname mismatch";
-static char __pyx_k_368[] = "SSL certificate fingerprint mismatch";
-static char __pyx_k_369[] = "SSL certificate self signed";
-static char __pyx_k_370[] = "SSL certificate other error";
-static char __pyx_k_371[] = "Other error";
-static char __pyx_k_372[] = "connection-error";
-static char __pyx_k_373[] = "connection-error";
-
-static  void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *__pyx_v_gc, PurpleConnectionError __pyx_v_err, const gchar *__pyx_v_c_desc) {
-  PurpleAccount *__pyx_v_acc;
-  char *__pyx_v_c_username;
-  char *__pyx_v_c_protocol_id;
-  PyObject *__pyx_v_username;
-  PyObject *__pyx_v_protocol_id;
-  PyObject *__pyx_v_short_desc;
-  PyObject *__pyx_v_desc;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  int __pyx_3;
-  PyObject *__pyx_4 = 0;
-  PyObject *__pyx_5 = 0;
-  __pyx_v_username = Py_None; Py_INCREF(Py_None);
-  __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
-  __pyx_v_short_desc = Py_None; Py_INCREF(Py_None);
-  __pyx_v_desc = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":85
- *     @params desc A description of the error, giving more information
- *     """
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)             # <<<<<<<<<<<<<<
- *     cdef char *c_username = NULL
- *     cdef char *c_protocol_id = NULL
- */
-  __pyx_v_acc = purple_connection_get_account(__pyx_v_gc);
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":86
- *     """
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
- *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_protocol_id = NULL
- * 
- */
-  __pyx_v_c_username = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":87
- *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
- *     cdef char *c_username = NULL
- *     cdef char *c_protocol_id = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- */
-  __pyx_v_c_protocol_id = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":89
- *     cdef char *c_protocol_id = NULL
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
- *     if c_username:
- *         username = <char *> c_username
- */
-  __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":90
- * 
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username:             # <<<<<<<<<<<<<<
- *         username = <char *> c_username
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_username != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":91
- *     c_username = <char *> account.purple_account_get_username(acc)
- *     if c_username:
- *         username = <char *> c_username             # <<<<<<<<<<<<<<
- *     else:
- *         username = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_username)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":93
- *         username = <char *> c_username
- *     else:
- *         username = None             # <<<<<<<<<<<<<<
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_username);
-    __pyx_v_username = Py_None;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":95
- *         username = None
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
- *     if c_protocol_id:
- *         protocol_id = <char *> c_protocol_id
- */
-  __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":96
- * 
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- *     if c_protocol_id:             # <<<<<<<<<<<<<<
- *         protocol_id = <char *> c_protocol_id
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_protocol_id != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":97
- *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
- *     if c_protocol_id:
- *         protocol_id = <char *> c_protocol_id             # <<<<<<<<<<<<<<
- *     else:
- *         protocol_id = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_protocol_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_protocol_id);
-    __pyx_v_protocol_id = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":99
- *         protocol_id = <char *> c_protocol_id
- *     else:
- *         protocol_id = None             # <<<<<<<<<<<<<<
- * 
- *     short_desc = {
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_protocol_id);
-    __pyx_v_protocol_id = Py_None;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":118
- *         14: "SSL certificate self signed",
- *         15: "SSL certificate other error",
- *         16: "Other error" }[<int> err]             # <<<<<<<<<<<<<<
- * 
- *     if c_desc:
- */
-  __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":102
- * 
- *     short_desc = {
- *         0: "Network error",             # <<<<<<<<<<<<<<
- *         1: "Invalid username",
- *         2: "Authentication failed",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_0, __pyx_kp_355) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":103
- *     short_desc = {
- *         0: "Network error",
- *         1: "Invalid username",             # <<<<<<<<<<<<<<
- *         2: "Authentication failed",
- *         3: "Authentication impossible",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_1, __pyx_kp_356) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":104
- *         0: "Network error",
- *         1: "Invalid username",
- *         2: "Authentication failed",             # <<<<<<<<<<<<<<
- *         3: "Authentication impossible",
- *         4: "No SSL support",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_2, __pyx_kp_357) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":105
- *         1: "Invalid username",
- *         2: "Authentication failed",
- *         3: "Authentication impossible",             # <<<<<<<<<<<<<<
- *         4: "No SSL support",
- *         5: "Encryption error",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_3, __pyx_kp_358) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":106
- *         2: "Authentication failed",
- *         3: "Authentication impossible",
- *         4: "No SSL support",             # <<<<<<<<<<<<<<
- *         5: "Encryption error",
- *         6: "Name in use",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_4, __pyx_kp_359) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":107
- *         3: "Authentication impossible",
- *         4: "No SSL support",
- *         5: "Encryption error",             # <<<<<<<<<<<<<<
- *         6: "Name in use",
- *         7: "Invalid settings",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_5, __pyx_kp_360) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":108
- *         4: "No SSL support",
- *         5: "Encryption error",
- *         6: "Name in use",             # <<<<<<<<<<<<<<
- *         7: "Invalid settings",
- *         8: "SSL certificate not provided",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_6, __pyx_kp_361) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":109
- *         5: "Encryption error",
- *         6: "Name in use",
- *         7: "Invalid settings",             # <<<<<<<<<<<<<<
- *         8: "SSL certificate not provided",
- *         9: "SSL certificate untrusted",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_7, __pyx_kp_362) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":110
- *         6: "Name in use",
- *         7: "Invalid settings",
- *         8: "SSL certificate not provided",             # <<<<<<<<<<<<<<
- *         9: "SSL certificate untrusted",
- *         10: "SSL certificate expired",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_8, __pyx_kp_363) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":111
- *         7: "Invalid settings",
- *         8: "SSL certificate not provided",
- *         9: "SSL certificate untrusted",             # <<<<<<<<<<<<<<
- *         10: "SSL certificate expired",
- *         11: "SSL certificate not activated",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_9, __pyx_kp_364) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":112
- *         8: "SSL certificate not provided",
- *         9: "SSL certificate untrusted",
- *         10: "SSL certificate expired",             # <<<<<<<<<<<<<<
- *         11: "SSL certificate not activated",
- *         12: "SSL certificate hostname mismatch",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_10, __pyx_kp_365) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":113
- *         9: "SSL certificate untrusted",
- *         10: "SSL certificate expired",
- *         11: "SSL certificate not activated",             # <<<<<<<<<<<<<<
- *         12: "SSL certificate hostname mismatch",
- *         13: "SSL certificate fingerprint mismatch",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_11, __pyx_kp_366) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":114
- *         10: "SSL certificate expired",
- *         11: "SSL certificate not activated",
- *         12: "SSL certificate hostname mismatch",             # <<<<<<<<<<<<<<
- *         13: "SSL certificate fingerprint mismatch",
- *         14: "SSL certificate self signed",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_12, __pyx_kp_367) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":115
- *         11: "SSL certificate not activated",
- *         12: "SSL certificate hostname mismatch",
- *         13: "SSL certificate fingerprint mismatch",             # <<<<<<<<<<<<<<
- *         14: "SSL certificate self signed",
- *         15: "SSL certificate other error",
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_13, __pyx_kp_368) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":116
- *         12: "SSL certificate hostname mismatch",
- *         13: "SSL certificate fingerprint mismatch",
- *         14: "SSL certificate self signed",             # <<<<<<<<<<<<<<
- *         15: "SSL certificate other error",
- *         16: "Other error" }[<int> err]
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_14, __pyx_kp_369) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":117
- *         13: "SSL certificate fingerprint mismatch",
- *         14: "SSL certificate self signed",
- *         15: "SSL certificate other error",             # <<<<<<<<<<<<<<
- *         16: "Other error" }[<int> err]
- * 
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_15, __pyx_kp_370) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":118
- *         14: "SSL certificate self signed",
- *         15: "SSL certificate other error",
- *         16: "Other error" }[<int> err]             # <<<<<<<<<<<<<<
- * 
- *     if c_desc:
- */
-  if (PyDict_SetItem(__pyx_2, __pyx_int_16, __pyx_kp_371) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = ((int)__pyx_v_err);
-  __pyx_4 = __Pyx_GetItemInt(((PyObject *)__pyx_2), __pyx_3, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  Py_DECREF(__pyx_v_short_desc);
-  __pyx_v_short_desc = __pyx_4;
-  __pyx_4 = 0;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":120
- *         16: "Other error" }[<int> err]
- * 
- *     if c_desc:             # <<<<<<<<<<<<<<
- *         desc = str(<char *> c_desc)
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_desc != 0);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":121
- * 
- *     if c_desc:
- *         desc = str(<char *> c_desc)             # <<<<<<<<<<<<<<
- *     else:
- *         desc = None
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_desc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
-    __pyx_2 = 0;
-    __pyx_2 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
-    Py_DECREF(__pyx_v_desc);
-    __pyx_v_desc = __pyx_2;
-    __pyx_2 = 0;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":123
- *         desc = str(<char *> c_desc)
- *     else:
- *         desc = None             # <<<<<<<<<<<<<<
- * 
- *     if signal_cbs.has_key("connection-error"):
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_desc);
-    __pyx_v_desc = Py_None;
-  }
-  __pyx_L4:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":125
- *         desc = None
- * 
- *     if signal_cbs.has_key("connection-error"):             # <<<<<<<<<<<<<<
- *         (<object> signal_cbs["connection-error"])(username, protocol_id, \
- *                 short_desc, desc)
- */
-  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_2 = PyObject_GetAttr(__pyx_4, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_372);
-  PyTuple_SET_ITEM(__pyx_4, 0, __pyx_kp_372);
-  __pyx_5 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_5); __pyx_5 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":126
- * 
- *     if signal_cbs.has_key("connection-error"):
- *         (<object> signal_cbs["connection-error"])(username, protocol_id, \             # <<<<<<<<<<<<<<
- *                 short_desc, desc)
- * 
- */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_4 = PyObject_GetItem(__pyx_2, __pyx_kp_373); if (!__pyx_4) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":127
- *     if signal_cbs.has_key("connection-error"):
- *         (<object> signal_cbs["connection-error"])(username, protocol_id, \
- *                 short_desc, desc)             # <<<<<<<<<<<<<<
- * 
- * cdef void signal_buddy_signed_on_cb(blist.PurpleBuddy *buddy):
- */
-    __pyx_5 = PyTuple_New(4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_username);
-    PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_username);
-    Py_INCREF(__pyx_v_protocol_id);
-    PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_protocol_id);
-    Py_INCREF(__pyx_v_short_desc);
-    PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_short_desc);
-    Py_INCREF(__pyx_v_desc);
-    PyTuple_SET_ITEM(__pyx_5, 3, __pyx_v_desc);
-    __pyx_2 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_4); __pyx_4 = 0;
-    Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_4);
-  Py_XDECREF(__pyx_5);
-  __Pyx_WriteUnraisable("purple.signal_connection_error_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_username);
-  Py_DECREF(__pyx_v_protocol_id);
-  Py_DECREF(__pyx_v_short_desc);
-  Py_DECREF(__pyx_v_desc);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":129
- *                 short_desc, desc)
- * 
- * cdef void signal_buddy_signed_on_cb(blist.PurpleBuddy *buddy):             # <<<<<<<<<<<<<<
- *     """
- *     Emitted when a buddy on your buddy list signs on.
- */
-
-static PyObject *__pyx_kp_374;
-static PyObject *__pyx_kp_375;
-
-static char __pyx_k_374[] = "buddy-signed-on";
-static char __pyx_k_375[] = "buddy-signed-on";
-
-static  void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *__pyx_v_buddy) {
-  char *__pyx_v_c_name;
-  char *__pyx_v_c_alias;
-  PyObject *__pyx_v_name;
-  PyObject *__pyx_v_alias;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  __pyx_v_name = Py_None; Py_INCREF(Py_None);
-  __pyx_v_alias = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":134
- *     @params buddy  The buddy that signed on.
- *     """
- *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_alias = NULL
- * 
- */
-  __pyx_v_c_name = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":135
- *     """
- *     cdef char *c_name = NULL
- *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- */
-  __pyx_v_c_alias = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":137
- *     cdef char *c_alias = NULL
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)             # <<<<<<<<<<<<<<
- *     if c_name == NULL:
- *         name = None
- */
-  __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":138
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- *     if c_name == NULL:             # <<<<<<<<<<<<<<
- *         name = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_name == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":139
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- *     if c_name == NULL:
- *         name = None             # <<<<<<<<<<<<<<
- *     else:
- *         name = c_name
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":141
- *         name = None
- *     else:
- *         name = c_name             # <<<<<<<<<<<<<<
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":143
- *         name = c_name
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
- *     if c_alias == NULL:
- *         alias = None
- */
-  __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":144
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- *     if c_alias == NULL:             # <<<<<<<<<<<<<<
- *         alias = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_alias == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":145
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- *     if c_alias == NULL:
- *         alias = None             # <<<<<<<<<<<<<<
- *     else:
- *         alias = c_alias
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_alias);
-    __pyx_v_alias = Py_None;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":147
- *         alias = None
- *     else:
- *         alias = c_alias             # <<<<<<<<<<<<<<
- * 
- *     if signal_cbs.has_key("buddy-signed-on"):
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_alias);
-    __pyx_v_alias = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L3:;
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":149
- *         alias = c_alias
- * 
- *     if signal_cbs.has_key("buddy-signed-on"):             # <<<<<<<<<<<<<<
- *         (<object> signal_cbs["buddy-signed-on"])(name, alias)
- * 
- */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_INCREF(__pyx_kp_374);
-  PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_374);
-  __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_3); __pyx_3 = 0;
-  Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
-  __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
-  Py_DECREF(__pyx_4); __pyx_4 = 0;
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":150
- * 
- *     if signal_cbs.has_key("buddy-signed-on"):
- *         (<object> signal_cbs["buddy-signed-on"])(name, alias)             # <<<<<<<<<<<<<<
- * 
- * cdef void signal_buddy_signed_off_cb(blist.PurpleBuddy *buddy):
- */
-    __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_375); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_INCREF(__pyx_v_name);
-    PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name);
-    Py_INCREF(__pyx_v_alias);
-    PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_alias);
-    __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_2); __pyx_2 = 0;
-    Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
-    Py_DECREF(__pyx_3); __pyx_3 = 0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  goto __pyx_L0;
-  __pyx_L1:;
-  Py_XDECREF(__pyx_2);
-  Py_XDECREF(__pyx_3);
-  Py_XDECREF(__pyx_4);
-  __Pyx_WriteUnraisable("purple.signal_buddy_signed_on_cb");
-  __pyx_L0:;
-  Py_DECREF(__pyx_v_name);
-  Py_DECREF(__pyx_v_alias);
-}
-
-/* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":152
- *         (<object> signal_cbs["buddy-signed-on"])(name, alias)
- * 
- * cdef void signal_buddy_signed_off_cb(blist.PurpleBuddy *buddy):             # <<<<<<<<<<<<<<
- *     """
- *     Emitted when a buddy on your buddy list signs off.
- */
-
-static PyObject *__pyx_kp_376;
-static PyObject *__pyx_kp_377;
-
-static char __pyx_k_376[] = "buddy-signed-off";
-static char __pyx_k_377[] = "buddy-signed-off";
-
-static  void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *__pyx_v_buddy) {
-  char *__pyx_v_c_name;
-  char *__pyx_v_c_alias;
-  PyObject *__pyx_v_name;
-  PyObject *__pyx_v_alias;
-  int __pyx_1;
-  PyObject *__pyx_2 = 0;
-  PyObject *__pyx_3 = 0;
-  PyObject *__pyx_4 = 0;
-  __pyx_v_name = Py_None; Py_INCREF(Py_None);
-  __pyx_v_alias = Py_None; Py_INCREF(Py_None);
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":157
- *     @params buddy  The buddy that signed off.
- *     """
- *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
- *     cdef char *c_alias = NULL
- * 
- */
-  __pyx_v_c_name = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":158
- *     """
- *     cdef char *c_name = NULL
- *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- */
-  __pyx_v_c_alias = NULL;
-
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":160
- *     cdef char *c_alias = NULL
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)             # <<<<<<<<<<<<<<
- *     if c_name == NULL:
- *         name = None
- */
-  __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
-
-  /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":161
- * 
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- *     if c_name == NULL:             # <<<<<<<<<<<<<<
- *         name = None
- *     else:
- */
-  __pyx_1 = (__pyx_v_c_name == NULL);
-  if (__pyx_1) {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":162
- *     c_name = <char *> blist.purple_buddy_get_name(buddy)
- *     if c_name == NULL:
- *         name = None             # <<<<<<<<<<<<<<
- *     else:
- *         name = c_name
- */
-    Py_INCREF(Py_None);
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = Py_None;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":164
- *         name = None
- *     else:
- *         name = c_name             # <<<<<<<<<<<<<<
- * 
- *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
- */
-    __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1;}
-    Py_DECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_2;
-    __pyx_2 = 0;
-  }
-  __pyx_L2:;
-
-  /* "/opt/wrk/indt/work