1 /* Generated by Cython 0.10 on Tue Dec 9 09:17:03 2008 */
3 #define PY_SSIZE_T_CLEAN
5 #include "structmember.h"
7 #define PY_LONG_LONG LONG_LONG
10 #define DL_EXPORT(t) t
12 #if PY_VERSION_HEX < 0x02040000
13 #define METH_COEXIST 0
15 #if PY_VERSION_HEX < 0x02050000
16 typedef int Py_ssize_t;
17 #define PY_SSIZE_T_MAX INT_MAX
18 #define PY_SSIZE_T_MIN INT_MIN
19 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
20 #define PyInt_AsSsize_t(o) PyInt_AsLong(o)
21 #define PyNumber_Index(o) PyNumber_Int(o)
22 #define PyIndex_Check(o) PyNumber_Check(o)
24 #if PY_VERSION_HEX < 0x02060000
25 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
26 #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
27 #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
28 #define PyVarObject_HEAD_INIT(type, size) \
29 PyObject_HEAD_INIT(type) size,
30 #define PyType_Modified(t)
42 Py_ssize_t *suboffsets;
46 #define PyBUF_SIMPLE 0
47 #define PyBUF_WRITABLE 0x0001
48 #define PyBUF_LOCK 0x0002
49 #define PyBUF_FORMAT 0x0004
50 #define PyBUF_ND 0x0008
51 #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
52 #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
53 #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
54 #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
55 #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
58 #if PY_MAJOR_VERSION < 3
59 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
61 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
63 #if PY_MAJOR_VERSION >= 3
64 #define Py_TPFLAGS_CHECKTYPES 0
65 #define Py_TPFLAGS_HAVE_INDEX 0
67 #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
68 #define Py_TPFLAGS_HAVE_NEWBUFFER 0
70 #if PY_MAJOR_VERSION >= 3
71 #define PyBaseString_Type PyUnicode_Type
72 #define PyString_Type PyBytes_Type
73 #define PyInt_Type PyLong_Type
74 #define PyInt_Check(op) PyLong_Check(op)
75 #define PyInt_CheckExact(op) PyLong_CheckExact(op)
76 #define PyInt_FromString PyLong_FromString
77 #define PyInt_FromUnicode PyLong_FromUnicode
78 #define PyInt_FromLong PyLong_FromLong
79 #define PyInt_FromSize_t PyLong_FromSize_t
80 #define PyInt_FromSsize_t PyLong_FromSsize_t
81 #define PyInt_AsLong PyLong_AsLong
82 #define PyInt_AS_LONG PyLong_AS_LONG
83 #define PyInt_AsSsize_t PyLong_AsSsize_t
84 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
85 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
86 #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
88 #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
89 #define PyBytes_Type PyString_Type
91 #if PY_MAJOR_VERSION >= 3
92 #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
94 #if !defined(WIN32) && !defined(MS_WINDOWS)
102 #define _USE_MATH_DEFINES
105 #define __PYX_EXTERN_C extern "C"
107 #define __PYX_EXTERN_C extern
110 #define __PYX_HAVE_API__purple
111 #include "libpurple/purple.h"
112 #include "c_purple.h"
114 #include "libpurple/blist.h"
115 #include "libpurple/connection.h"
116 #include "libpurple/log.h"
117 #include "libpurple/proxy.h"
118 #include "libpurple/status.h"
119 #include "libpurple/account.h"
120 #include "libpurple/prefs.h"
121 #include "libpurple/accountopt.h"
122 #include "libpurple/buddyicon.h"
123 #include "libpurple/plugin.h"
124 #include "libpurple/prpl.h"
126 #include "libpurple/conversation.h"
127 #include "libpurple/core.h"
128 #include "libpurple/debug.h"
129 #include "libpurple/eventloop.h"
130 #include "libpurple/ft.h"
131 #include "libpurple/idle.h"
132 #include "libpurple/notify.h"
133 #include "libpurple/pounce.h"
134 #include "libpurple/privacy.h"
135 #include "libpurple/request.h"
136 #include "libpurple/roomlist.h"
137 #include "libpurple/server.h"
138 #include "libpurple/signals.h"
139 #include "libpurple/value.h"
140 #include "libpurple/savedstatuses.h"
141 #include "libpurple/xmlnode.h"
142 #include "libpurple/util.h"
146 #define INLINE __inline__
148 #define INLINE __inline
153 typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/
157 static int __pyx_skip_dispatch = 0;
160 /* Type Conversion Predeclarations */
162 #if PY_MAJOR_VERSION < 3
163 #define __Pyx_PyBytes_FromString PyString_FromString
164 #define __Pyx_PyBytes_AsString PyString_AsString
166 #define __Pyx_PyBytes_FromString PyBytes_FromString
167 #define __Pyx_PyBytes_AsString PyBytes_AsString
170 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
171 static INLINE int __Pyx_PyObject_IsTrue(PyObject* x);
172 static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x);
173 static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x);
174 static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b);
176 #define __pyx_PyInt_AsLong(x) (PyInt_CheckExact(x) ? PyInt_AS_LONG(x) : PyInt_AsLong(x))
177 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
179 static INLINE unsigned char __pyx_PyInt_unsigned_char(PyObject* x);
180 static INLINE unsigned short __pyx_PyInt_unsigned_short(PyObject* x);
181 static INLINE char __pyx_PyInt_char(PyObject* x);
182 static INLINE short __pyx_PyInt_short(PyObject* x);
183 static INLINE int __pyx_PyInt_int(PyObject* x);
184 static INLINE long __pyx_PyInt_long(PyObject* x);
185 static INLINE signed char __pyx_PyInt_signed_char(PyObject* x);
186 static INLINE signed short __pyx_PyInt_signed_short(PyObject* x);
187 static INLINE signed int __pyx_PyInt_signed_int(PyObject* x);
188 static INLINE signed long __pyx_PyInt_signed_long(PyObject* x);
189 static INLINE long double __pyx_PyInt_long_double(PyObject* x);
191 /* Test for GCC > 2.95 */
192 #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
193 #define likely(x) __builtin_expect(!!(x), 1)
194 #define unlikely(x) __builtin_expect(!!(x), 0)
195 #else /* __GNUC__ > 2 ... */
196 #define likely(x) (x)
197 #define unlikely(x) (x)
198 #endif /* __GNUC__ > 2 ... */
200 #define likely(x) (x)
201 #define unlikely(x) (x)
202 #endif /* __GNUC__ */
204 static PyObject *__pyx_m;
205 static PyObject *__pyx_b;
206 static PyObject *__pyx_empty_tuple;
207 static int __pyx_lineno;
208 static int __pyx_clineno = 0;
209 static const char * __pyx_cfilenm= __FILE__;
210 static const char *__pyx_filename;
211 static const char **__pyx_f;
213 static INLINE PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i, int is_unsigned) {
215 if (PyList_CheckExact(o) && 0 <= i && i < PyList_GET_SIZE(o)) {
216 r = PyList_GET_ITEM(o, i);
219 else if (PyTuple_CheckExact(o) && 0 <= i && i < PyTuple_GET_SIZE(o)) {
220 r = PyTuple_GET_ITEM(o, i);
223 else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0) || !is_unsigned))
224 r = PySequence_GetItem(o, i);
226 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);
229 r = PyObject_GetItem(o, j);
235 static void __Pyx_RaiseDoubleKeywordsError(
236 const char* func_name, PyObject* kw_name); /*proto*/
238 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
239 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
241 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/
243 static INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict,
244 const char* function_name, int kw_allowed); /*proto*/
246 static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
247 const char *name, int exact); /*proto*/
249 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
251 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
253 static INLINE PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
254 if (likely(PyList_CheckExact(L))) {
255 if (PyList_Append(L, x) < 0) return NULL;
257 return Py_None; // this is just to have an accurate signature
260 return PyObject_CallMethod(L, "append", "(O)", x);
264 static void __Pyx_WriteUnraisable(const char *name); /*proto*/
266 static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
267 static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
269 static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
271 static void __Pyx_AddTraceback(const char *funcname); /*proto*/
273 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
275 /* Type declarations */
277 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/buddy.pyx":22
280 * cdef class Buddy: # <<<<<<<<<<<<<<
285 struct __pyx_obj_6purple_Buddy {
287 struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtab;
293 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":61
296 * cdef class Purple: # <<<<<<<<<<<<<<
301 struct __pyx_obj_6purple_Purple {
303 struct __pyx_vtabstruct_6purple_Purple *__pyx_vtab;
306 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/proxy.pyx":56
307 * USE_ENVVAR = property(get_USE_ENVVAR)
309 * cdef class ProxyInfo: # <<<<<<<<<<<<<<
311 * cdef proxy.PurpleProxyInfo *c_proxyinfo
314 struct __pyx_obj_6purple_ProxyInfo {
316 PurpleProxyInfo *c_proxyinfo;
320 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/protocol.pyx":22
323 * cdef class Protocol: # <<<<<<<<<<<<<<
328 struct __pyx_obj_6purple_Protocol {
330 struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtab;
335 struct __pyx_obj_6purple_ProxyInfoType {
337 PurpleProxyType c_type;
340 struct __pyx_obj_6purple_Conversation {
342 struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtab;
349 struct __pyx_obj_6purple_Account {
351 struct __pyx_vtabstruct_6purple_Account *__pyx_vtab;
352 PyObject *__username;
353 PyObject *__protocol;
359 struct __pyx_vtabstruct_6purple_Protocol {
360 PurplePlugin *(*_get_structure)(struct __pyx_obj_6purple_Protocol *);
362 static struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtabptr_6purple_Protocol;
365 struct __pyx_vtabstruct_6purple_Buddy {
366 PurpleBuddy *(*_get_structure)(struct __pyx_obj_6purple_Buddy *);
368 static struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtabptr_6purple_Buddy;
371 struct __pyx_vtabstruct_6purple_Conversation {
372 PurpleConversation *(*_get_structure)(struct __pyx_obj_6purple_Conversation *);
374 static struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtabptr_6purple_Conversation;
377 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/purple.pyx":61
380 * cdef class Purple: # <<<<<<<<<<<<<<
385 struct __pyx_vtabstruct_6purple_Purple {
386 void (*__core_ui_ops_ui_prefs_init)(struct __pyx_obj_6purple_Purple *);
387 void (*__core_ui_ops_debug_init)(struct __pyx_obj_6purple_Purple *);
388 void (*__core_ui_ops_ui_init)(struct __pyx_obj_6purple_Purple *);
389 void (*__core_ui_ops_quit)(struct __pyx_obj_6purple_Purple *);
390 GHashTable *(*__core_ui_ops_get_ui_info)(struct __pyx_obj_6purple_Purple *);
392 static struct __pyx_vtabstruct_6purple_Purple *__pyx_vtabptr_6purple_Purple;
395 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account.pyx":22
398 * cdef class Account: # <<<<<<<<<<<<<<
403 struct __pyx_vtabstruct_6purple_Account {
404 PurpleAccount *(*_get_structure)(struct __pyx_obj_6purple_Account *);
406 static struct __pyx_vtabstruct_6purple_Account *__pyx_vtabptr_6purple_Account;
407 /* Module declarations from glib */
409 /* Module declarations from account */
411 /* Module declarations from prefs */
413 /* Module declarations from accountopt */
415 /* Module declarations from buddyicon */
417 /* Module declarations from blist */
419 /* Module declarations from prpl */
421 /* Module declarations from plugin */
423 /* Module declarations from connection */
425 /* Module declarations from conversation */
427 /* Module declarations from core */
429 /* Module declarations from debug */
431 /* Module declarations from eventloop */
433 /* Module declarations from ft */
435 /* Module declarations from idle */
437 /* Module declarations from notify */
439 /* Module declarations from pounce */
441 /* Module declarations from privacy */
443 /* Module declarations from proxy */
445 /* Module declarations from request */
447 /* Module declarations from roomlist */
449 /* Module declarations from server */
451 /* Module declarations from signals */
453 /* Module declarations from value */
455 /* Module declarations from status */
457 /* Module declarations from savedstatuses */
459 /* Module declarations from xmlnode */
461 /* Module declarations from util */
463 /* Module declarations from purple */
465 static PyTypeObject *__pyx_ptype_6purple_Purple = 0;
466 static PyTypeObject *__pyx_ptype_6purple_Protocol = 0;
467 static PyTypeObject *__pyx_ptype_6purple_ProxyInfoType = 0;
468 static PyTypeObject *__pyx_ptype_6purple_ProxyInfo = 0;
469 static PyTypeObject *__pyx_ptype_6purple_Account = 0;
470 static PyTypeObject *__pyx_ptype_6purple_Buddy = 0;
471 static PyTypeObject *__pyx_ptype_6purple_Conversation = 0;
472 static GHashTable *__pyx_v_6purple_c_ui_info;
473 static char *__pyx_v_6purple_c_ui_name;
474 static char *__pyx_v_6purple_c_ui_version;
475 static char *__pyx_v_6purple_c_ui_website;
476 static char *__pyx_v_6purple_c_ui_dev_website;
477 static PurpleAccountUiOps __pyx_v_6purple_c_account_ui_ops;
478 static PurpleBlistUiOps __pyx_v_6purple_c_blist_ui_ops;
479 static PurpleConnectionUiOps __pyx_v_6purple_c_conn_ui_ops;
480 static PurpleConversationUiOps __pyx_v_6purple_c_conv_ui_ops;
481 static PurpleCoreUiOps __pyx_v_6purple_c_core_ui_ops;
482 static PurpleEventLoopUiOps __pyx_v_6purple_c_eventloop_ui_ops;
483 static PurpleNotifyUiOps __pyx_v_6purple_c_notify_ui_ops;
484 static PurpleRequestUiOps __pyx_v_6purple_c_request_ui_ops;
485 static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_authorize_cb;
486 static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_deny_cb;
487 static void *__pyx_v_6purple_c_request_authorize_user_data;
488 static void __pyx_f_6purple_notify_added(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/
489 static void __pyx_f_6purple_status_changed(PurpleAccount *, PurpleStatus *); /*proto*/
490 static void __pyx_f_6purple_request_add(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/
491 static void *__pyx_f_6purple_request_authorize(PurpleAccount *, const char *, const char *, const char *, const char *, gboolean, PurpleAccountRequestAuthorizationCb, PurpleAccountRequestAuthorizationCb, void *); /*proto*/
492 static void __pyx_f_6purple_close_account_request(void *); /*proto*/
493 static void __pyx_f_6purple___group_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
494 static void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
495 static void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
496 static void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
497 static void __pyx_f_6purple___other_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
498 static void __pyx_f_6purple_new_list(PurpleBuddyList *); /*proto*/
499 static void __pyx_f_6purple_new_node(PurpleBlistNode *); /*proto*/
500 static void __pyx_f_6purple_show(PurpleBuddyList *); /*proto*/
501 static void __pyx_f_6purple_update(PurpleBuddyList *, PurpleBlistNode *); /*proto*/
502 static void __pyx_f_6purple_remove(PurpleBuddyList *, PurpleBlistNode *); /*proto*/
503 static void __pyx_f_6purple_destroy(PurpleBuddyList *); /*proto*/
504 static void __pyx_f_6purple_set_visible(PurpleBuddyList *, gboolean); /*proto*/
505 static void __pyx_f_6purple_request_add_buddy(PurpleAccount *, const char *, const char *, const char *); /*proto*/
506 static void __pyx_f_6purple_request_add_chat(PurpleAccount *, PurpleGroup *, const char *, const char *); /*proto*/
507 static void __pyx_f_6purple_request_add_group(void); /*proto*/
508 static void __pyx_f_6purple_connect_progress(PurpleConnection *, const char *, size_t, size_t); /*proto*/
509 static void __pyx_f_6purple_connected(PurpleConnection *); /*proto*/
510 static void __pyx_f_6purple_disconnected(PurpleConnection *); /*proto*/
511 static void __pyx_f_6purple_notice(PurpleConnection *, const char *); /*proto*/
512 static void __pyx_f_6purple_report_disconnect(PurpleConnection *, const char *); /*proto*/
513 static void __pyx_f_6purple_network_connected(void); /*proto*/
514 static void __pyx_f_6purple_network_disconnected(void); /*proto*/
515 static void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *, PurpleConnectionError, const char *); /*proto*/
516 static void __pyx_f_6purple_create_conversation(PurpleConversation *); /*proto*/
517 static void __pyx_f_6purple_destroy_conversation(PurpleConversation *); /*proto*/
518 static void __pyx_f_6purple_write_chat(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
519 static void __pyx_f_6purple_write_im(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
520 static void __pyx_f_6purple_write_conv(PurpleConversation *, const char *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
521 static void __pyx_f_6purple_chat_add_users(PurpleConversation *, GList *, gboolean); /*proto*/
522 static void __pyx_f_6purple_chat_rename_user(PurpleConversation *, const char *, const char *, const char *); /*proto*/
523 static void __pyx_f_6purple_chat_remove_users(PurpleConversation *, GList *); /*proto*/
524 static void __pyx_f_6purple_chat_update_user(PurpleConversation *, const char *); /*proto*/
525 static void __pyx_f_6purple_present(PurpleConversation *); /*proto*/
526 static gboolean __pyx_f_6purple_has_focus(PurpleConversation *); /*proto*/
527 static gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *, const char *, gboolean); /*proto*/
528 static void __pyx_f_6purple_custom_smiley_write(PurpleConversation *, const char *, const guchar *, gsize); /*proto*/
529 static void __pyx_f_6purple_custom_smiley_close(PurpleConversation *, const char *); /*proto*/
530 static void __pyx_f_6purple_send_confirm(PurpleConversation *, const char *); /*proto*/
531 static void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType, const char *, const char *, const char *); /*proto*/
532 static void *__pyx_f_6purple_notify_email(PurpleConnection *, const char *, const char *, const char *, const char *); /*proto*/
533 static void *__pyx_f_6purple_notify_emails(PurpleConnection *, size_t, gboolean, const char **, const char **, const char **, const char **); /*proto*/
534 static void *__pyx_f_6purple_notify_formatted(const char *, const char *, const char *, const char *); /*proto*/
535 static void *__pyx_f_6purple_notify_searchresults(PurpleConnection *, const char *, const char *, const char *, PurpleNotifySearchResults *, gpointer); /*proto*/
536 static void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *, PurpleNotifySearchResults *, void *); /*proto*/
537 static void *__pyx_f_6purple_notify_userinfo(PurpleConnection *, const char *, PurpleNotifyUserInfo *); /*proto*/
538 static void *__pyx_f_6purple_notify_uri(const char *); /*proto*/
539 static void __pyx_f_6purple_close_notify(PurpleNotifyType, void *); /*proto*/
540 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*/
541 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*/
542 static void *__pyx_f_6purple_request_action(const char *, const char *, const char *, int, PurpleAccount *, const char *, PurpleConversation *, void *, size_t, va_list); /*proto*/
543 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*/
544 static void *__pyx_f_6purple_request_file(const char *, const char *, gboolean, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
545 static void __pyx_f_6purple_close_request(PurpleRequestType, void *); /*proto*/
546 static void *__pyx_f_6purple_request_folder(const char *, const char *, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
547 static void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *, gpointer); /*proto*/
548 static void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *, gpointer); /*proto*/
549 static void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *, PurpleConnectionError, const gchar *); /*proto*/
550 static void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *); /*proto*/
551 static void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *); /*proto*/
552 static gboolean __pyx_f_6purple_signal_receiving_im_msg_cb(PurpleAccount *, char **, char **, PurpleConversation *, PurpleMessageFlags *); /*proto*/
553 static void __pyx_f_6purple_jabber_receiving_xmlnode_cb(PurpleConnection *, xmlnode **, gpointer); /*proto*/
556 /* Implementation of purple */
557 static PyObject *__pyx_int_0;
558 static PyObject *__pyx_int_1;
559 static PyObject *__pyx_int_2;
560 static PyObject *__pyx_int_3;
561 static PyObject *__pyx_int_4;
562 static PyObject *__pyx_int_5;
563 static PyObject *__pyx_int_6;
564 static PyObject *__pyx_int_7;
565 static PyObject *__pyx_int_8;
566 static PyObject *__pyx_int_9;
567 static PyObject *__pyx_int_10;
568 static PyObject *__pyx_int_11;
569 static PyObject *__pyx_int_12;
570 static PyObject *__pyx_int_13;
571 static PyObject *__pyx_int_14;
572 static PyObject *__pyx_int_15;
573 static PyObject *__pyx_int_16;
574 static char __pyx_k___init__[] = "__init__";
575 static PyObject *__pyx_kp___init__;
576 static char __pyx_k_destroy[] = "destroy";
577 static PyObject *__pyx_kp_destroy;
578 static char __pyx_k___get_ui_name[] = "__get_ui_name";
579 static PyObject *__pyx_kp___get_ui_name;
580 static char __pyx_k_ui_name[] = "ui_name";
581 static PyObject *__pyx_kp_ui_name;
582 static char __pyx_k_1[] = "__glib_iteration_when_idle";
583 static PyObject *__pyx_kp_1;
584 static char __pyx_k_purple_init[] = "purple_init";
585 static PyObject *__pyx_kp_purple_init;
586 static char __pyx_k_add_callback[] = "add_callback";
587 static PyObject *__pyx_kp_add_callback;
588 static char __pyx_k_signal_connect[] = "signal_connect";
589 static PyObject *__pyx_kp_signal_connect;
590 static char __pyx_k_accounts_get_all[] = "accounts_get_all";
591 static PyObject *__pyx_kp_accounts_get_all;
592 static char __pyx_k_2[] = "accounts_get_all_active";
593 static PyObject *__pyx_kp_2;
594 static char __pyx_k_protocols_get_all[] = "protocols_get_all";
595 static PyObject *__pyx_kp_protocols_get_all;
596 static char __pyx_k___get_exists[] = "__get_exists";
597 static PyObject *__pyx_kp___get_exists;
598 static char __pyx_k_exists[] = "exists";
599 static PyObject *__pyx_kp_exists;
600 static char __pyx_k___get_id[] = "__get_id";
601 static PyObject *__pyx_kp___get_id;
602 static char __pyx_k_id[] = "id";
603 static PyObject *__pyx_kp_id;
604 static char __pyx_k___get_name[] = "__get_name";
605 static PyObject *__pyx_kp___get_name;
606 static char __pyx_k_name[] = "name";
607 static PyObject *__pyx_kp_name;
608 static char __pyx_k_3[] = "__get_options_labels";
609 static PyObject *__pyx_kp_3;
610 static char __pyx_k_options_labels[] = "options_labels";
611 static PyObject *__pyx_kp_options_labels;
612 static char __pyx_k_4[] = "__get_options_values";
613 static PyObject *__pyx_kp_4;
614 static char __pyx_k_options_values[] = "options_values";
615 static PyObject *__pyx_kp_options_values;
616 static char __pyx_k_get_NONE[] = "get_NONE";
617 static PyObject *__pyx_kp_get_NONE;
618 static char __pyx_k_NONE[] = "NONE";
619 static PyObject *__pyx_kp_NONE;
620 static char __pyx_k_get_USE_GLOBAL[] = "get_USE_GLOBAL";
621 static PyObject *__pyx_kp_get_USE_GLOBAL;
622 static char __pyx_k_USE_GLOBAL[] = "USE_GLOBAL";
623 static PyObject *__pyx_kp_USE_GLOBAL;
624 static char __pyx_k_get_HTTP[] = "get_HTTP";
625 static PyObject *__pyx_kp_get_HTTP;
626 static char __pyx_k_HTTP[] = "HTTP";
627 static PyObject *__pyx_kp_HTTP;
628 static char __pyx_k_5[] = "get_SOCKS4";
629 static PyObject *__pyx_kp_5;
630 static char __pyx_k_6[] = "get_SOCKS5";
631 static PyObject *__pyx_kp_6;
632 static char __pyx_k_get_USE_ENVVAR[] = "get_USE_ENVVAR";
633 static PyObject *__pyx_kp_get_USE_ENVVAR;
634 static char __pyx_k_USE_ENVVAR[] = "USE_ENVVAR";
635 static PyObject *__pyx_kp_USE_ENVVAR;
636 static char __pyx_k_set_type[] = "set_type";
637 static PyObject *__pyx_kp_set_type;
638 static char __pyx_k_set_host[] = "set_host";
639 static PyObject *__pyx_kp_set_host;
640 static char __pyx_k_set_port[] = "set_port";
641 static PyObject *__pyx_kp_set_port;
642 static char __pyx_k_set_username[] = "set_username";
643 static PyObject *__pyx_kp_set_username;
644 static char __pyx_k_set_password[] = "set_password";
645 static PyObject *__pyx_kp_set_password;
646 static char __pyx_k_get_types[] = "get_types";
647 static PyObject *__pyx_kp_get_types;
648 static char __pyx_k_set_info[] = "set_info";
649 static PyObject *__pyx_kp_set_info;
650 static char __pyx_k___is_connected[] = "__is_connected";
651 static PyObject *__pyx_kp___is_connected;
652 static char __pyx_k_is_connected[] = "is_connected";
653 static PyObject *__pyx_kp_is_connected;
654 static char __pyx_k___is_connecting[] = "__is_connecting";
655 static PyObject *__pyx_kp___is_connecting;
656 static char __pyx_k_is_connecting[] = "is_connecting";
657 static PyObject *__pyx_kp_is_connecting;
658 static char __pyx_k___is_disconnected[] = "__is_disconnected";
659 static PyObject *__pyx_kp___is_disconnected;
660 static char __pyx_k_is_disconnected[] = "is_disconnected";
661 static PyObject *__pyx_kp_is_disconnected;
662 static char __pyx_k___get_core[] = "__get_core";
663 static PyObject *__pyx_kp___get_core;
664 static char __pyx_k_core[] = "core";
665 static PyObject *__pyx_kp_core;
666 static char __pyx_k___get_username[] = "__get_username";
667 static PyObject *__pyx_kp___get_username;
668 static char __pyx_k_username[] = "username";
669 static PyObject *__pyx_kp_username;
670 static char __pyx_k___get_protocol[] = "__get_protocol";
671 static PyObject *__pyx_kp___get_protocol;
672 static char __pyx_k_protocol[] = "protocol";
673 static PyObject *__pyx_kp_protocol;
674 static char __pyx_k_7[] = "_get_protocol_options";
675 static PyObject *__pyx_kp_7;
676 static char __pyx_k_protocol_options[] = "protocol_options";
677 static PyObject *__pyx_kp_protocol_options;
678 static char __pyx_k___get_password[] = "__get_password";
679 static PyObject *__pyx_kp___get_password;
680 static char __pyx_k_password[] = "password";
681 static PyObject *__pyx_kp_password;
682 static char __pyx_k___get_alias[] = "__get_alias";
683 static PyObject *__pyx_kp___get_alias;
684 static char __pyx_k_alias[] = "alias";
685 static PyObject *__pyx_kp_alias;
686 static char __pyx_k___get_user_info[] = "__get_user_info";
687 static PyObject *__pyx_kp___get_user_info;
688 static char __pyx_k_user_info[] = "user_info";
689 static PyObject *__pyx_kp_user_info;
690 static char __pyx_k_8[] = "__get_remember_password";
691 static PyObject *__pyx_kp_8;
692 static char __pyx_k_remember_password[] = "remember_password";
693 static PyObject *__pyx_kp_remember_password;
694 static char __pyx_k___get_enabled[] = "__get_enabled";
695 static PyObject *__pyx_kp___get_enabled;
696 static char __pyx_k_enabled[] = "enabled";
697 static PyObject *__pyx_kp_enabled;
698 static char __pyx_k___get_status_types[] = "__get_status_types";
699 static PyObject *__pyx_kp___get_status_types;
700 static char __pyx_k_status_types[] = "status_types";
701 static PyObject *__pyx_kp_status_types;
702 static char __pyx_k___get_active_status[] = "__get_active_status";
703 static PyObject *__pyx_kp___get_active_status;
704 static char __pyx_k_active_status[] = "active_status";
705 static PyObject *__pyx_kp_active_status;
706 static char __pyx_k_set_protocol[] = "set_protocol";
707 static PyObject *__pyx_kp_set_protocol;
708 static char __pyx_k_9[] = "set_protocol_options";
709 static PyObject *__pyx_kp_9;
710 static char __pyx_k_set_alias[] = "set_alias";
711 static PyObject *__pyx_kp_set_alias;
712 static char __pyx_k_set_user_info[] = "set_user_info";
713 static PyObject *__pyx_kp_set_user_info;
714 static char __pyx_k_10[] = "set_remember_password";
715 static PyObject *__pyx_kp_10;
716 static char __pyx_k_set_enabled[] = "set_enabled";
717 static PyObject *__pyx_kp_set_enabled;
718 static char __pyx_k_new[] = "new";
719 static PyObject *__pyx_kp_new;
720 static char __pyx_k_remove[] = "remove";
721 static PyObject *__pyx_kp_remove;
722 static char __pyx_k_connect[] = "connect";
723 static PyObject *__pyx_kp_connect;
724 static char __pyx_k_disconnect[] = "disconnect";
725 static PyObject *__pyx_kp_disconnect;
726 static char __pyx_k_add_buddy[] = "add_buddy";
727 static PyObject *__pyx_kp_add_buddy;
728 static char __pyx_k_remove_buddy[] = "remove_buddy";
729 static PyObject *__pyx_kp_remove_buddy;
730 static char __pyx_k_get_buddies_online[] = "get_buddies_online";
731 static PyObject *__pyx_kp_get_buddies_online;
732 static char __pyx_k_request_add_buddy[] = "request_add_buddy";
733 static PyObject *__pyx_kp_request_add_buddy;
734 static char __pyx_k_set_active_status[] = "set_active_status";
735 static PyObject *__pyx_kp_set_active_status;
736 static char __pyx_k_set_status_message[] = "set_status_message";
737 static PyObject *__pyx_kp_set_status_message;
738 static char __pyx_k___get_account[] = "__get_account";
739 static PyObject *__pyx_kp___get_account;
740 static char __pyx_k_account[] = "account";
741 static PyObject *__pyx_kp_account;
742 static char __pyx_k___get_group[] = "__get_group";
743 static PyObject *__pyx_kp___get_group;
744 static char __pyx_k_group[] = "group";
745 static PyObject *__pyx_kp_group;
746 static char __pyx_k___get_server_alias[] = "__get_server_alias";
747 static PyObject *__pyx_kp___get_server_alias;
748 static char __pyx_k_server_alias[] = "server_alias";
749 static PyObject *__pyx_kp_server_alias;
750 static char __pyx_k___get_contact_alias[] = "__get_contact_alias";
751 static PyObject *__pyx_kp___get_contact_alias;
752 static char __pyx_k_contact_alias[] = "contact_alias";
753 static PyObject *__pyx_kp_contact_alias;
754 static char __pyx_k___get_local_alias[] = "__get_local_alias";
755 static PyObject *__pyx_kp___get_local_alias;
756 static char __pyx_k_local_alias[] = "local_alias";
757 static PyObject *__pyx_kp_local_alias;
758 static char __pyx_k___get_available[] = "__get_available";
759 static PyObject *__pyx_kp___get_available;
760 static char __pyx_k_available[] = "available";
761 static PyObject *__pyx_kp_available;
762 static char __pyx_k___get_online[] = "__get_online";
763 static PyObject *__pyx_kp___get_online;
764 static char __pyx_k_online[] = "online";
765 static PyObject *__pyx_kp_online;
766 static char __pyx_k___get_idle[] = "__get_idle";
767 static PyObject *__pyx_kp___get_idle;
768 static char __pyx_k_idle[] = "idle";
769 static PyObject *__pyx_kp_idle;
770 static char __pyx_k_set_group[] = "set_group";
771 static PyObject *__pyx_kp_set_group;
772 static char __pyx_k_set_ui_ops[] = "set_ui_ops";
773 static PyObject *__pyx_kp_set_ui_ops;
774 static char __pyx_k_im_send[] = "im_send";
775 static PyObject *__pyx_kp_im_send;
776 static char __pyx_k_message[] = "message";
777 static PyObject *__pyx_kp_message;
778 static char __pyx_k_ui_version[] = "ui_version";
779 static PyObject *__pyx_kp_ui_version;
780 static char __pyx_k_ui_website[] = "ui_website";
781 static PyObject *__pyx_kp_ui_website;
782 static char __pyx_k_ui_dev_website[] = "ui_dev_website";
783 static PyObject *__pyx_kp_ui_dev_website;
784 static char __pyx_k_debug_enabled[] = "debug_enabled";
785 static PyObject *__pyx_kp_debug_enabled;
786 static char __pyx_k_default_path[] = "default_path";
787 static PyObject *__pyx_kp_default_path;
788 static char __pyx_k_type[] = "type";
789 static PyObject *__pyx_kp_type;
790 static char __pyx_k_callback[] = "callback";
791 static PyObject *__pyx_kp_callback;
792 static char __pyx_k_cb[] = "cb";
793 static PyObject *__pyx_kp_cb;
794 static char __pyx_k_host[] = "host";
795 static PyObject *__pyx_kp_host;
796 static char __pyx_k_port[] = "port";
797 static PyObject *__pyx_kp_port;
798 static char __pyx_k_acc[] = "acc";
799 static PyObject *__pyx_kp_acc;
800 static char __pyx_k_info[] = "info";
801 static PyObject *__pyx_kp_info;
802 static char __pyx_k_po[] = "po";
803 static PyObject *__pyx_kp_po;
804 static char __pyx_k_value[] = "value";
805 static PyObject *__pyx_kp_value;
806 static char __pyx_k_buddy_username[] = "buddy_username";
807 static PyObject *__pyx_kp_buddy_username;
808 static char __pyx_k_buddy_alias[] = "buddy_alias";
809 static PyObject *__pyx_kp_buddy_alias;
810 static char __pyx_k_msg[] = "msg";
811 static PyObject *__pyx_kp_msg;
812 static char __pyx_k_cbs[] = "cbs";
813 static PyObject *__pyx_kp_cbs;
814 static char __pyx_k_ecore[] = "ecore";
815 static PyObject *__pyx_kp_ecore;
816 static char __pyx_k_account_cbs[] = "account_cbs";
817 static PyObject *__pyx_kp_account_cbs;
818 static char __pyx_k_blist_cbs[] = "blist_cbs";
819 static PyObject *__pyx_kp_blist_cbs;
820 static char __pyx_k_connection_cbs[] = "connection_cbs";
821 static PyObject *__pyx_kp_connection_cbs;
822 static char __pyx_k_conversation_cbs[] = "conversation_cbs";
823 static PyObject *__pyx_kp_conversation_cbs;
824 static char __pyx_k_notify_cbs[] = "notify_cbs";
825 static PyObject *__pyx_kp_notify_cbs;
826 static char __pyx_k_request_cbs[] = "request_cbs";
827 static PyObject *__pyx_kp_request_cbs;
828 static char __pyx_k_signal_cbs[] = "signal_cbs";
829 static PyObject *__pyx_kp_signal_cbs;
830 static char __pyx_k_property[] = "property";
831 static PyObject *__pyx_kp_property;
832 static char __pyx_k_has_key[] = "has_key";
833 static PyObject *__pyx_kp_has_key;
834 static char __pyx_k_call_authorize_cb[] = "call_authorize_cb";
835 static PyObject *__pyx_kp_call_authorize_cb;
836 static char __pyx_k_call_deny_cb[] = "call_deny_cb";
837 static PyObject *__pyx_kp_call_deny_cb;
838 static char __pyx_k_54[] = "show";
839 static PyObject *__pyx_kp_54;
840 static char __pyx_k_55[] = "show";
841 static PyObject *__pyx_kp_55;
842 static char __pyx_k_60[] = "update";
843 static PyObject *__pyx_kp_60;
844 static char __pyx_k_61[] = "update";
845 static PyObject *__pyx_kp_61;
846 static char __pyx_k_62[] = "update";
847 static PyObject *__pyx_kp_62;
848 static char __pyx_k_63[] = "update";
849 static PyObject *__pyx_kp_63;
850 static char __pyx_k_64[] = "update";
851 static PyObject *__pyx_kp_64;
852 static char __pyx_k_65[] = "update";
853 static PyObject *__pyx_kp_65;
854 static char __pyx_k_69[] = "remove";
855 static PyObject *__pyx_kp_69;
856 static char __pyx_k_70[] = "remove";
857 static PyObject *__pyx_kp_70;
858 static char __pyx_k_71[] = "remove";
859 static PyObject *__pyx_kp_71;
860 static char __pyx_k_72[] = "remove";
861 static PyObject *__pyx_kp_72;
862 static char __pyx_k_73[] = "remove";
863 static PyObject *__pyx_kp_73;
864 static char __pyx_k_74[] = "remove";
865 static PyObject *__pyx_kp_74;
866 static char __pyx_k_78[] = "destroy";
867 static PyObject *__pyx_kp_78;
868 static char __pyx_k_79[] = "destroy";
869 static PyObject *__pyx_kp_79;
870 static char __pyx_k_112[] = "connected";
871 static PyObject *__pyx_kp_112;
872 static char __pyx_k_113[] = "connected";
873 static PyObject *__pyx_kp_113;
874 static char __pyx_k_118[] = "disconnected";
875 static PyObject *__pyx_kp_118;
876 static char __pyx_k_119[] = "disconnected";
877 static PyObject *__pyx_kp_119;
878 static char __pyx_k_124[] = "notice";
879 static PyObject *__pyx_kp_124;
880 static char __pyx_k_125[] = "notice";
881 static PyObject *__pyx_kp_125;
882 static char __pyx_k_185[] = "SEND";
883 static PyObject *__pyx_kp_185;
884 static char __pyx_k_186[] = "RECV";
885 static PyObject *__pyx_kp_186;
886 static char __pyx_k_222[] = "present";
887 static PyObject *__pyx_kp_222;
888 static char __pyx_k_223[] = "present";
889 static PyObject *__pyx_kp_223;
890 static char __pyx_k_timer_add[] = "timer_add";
891 static PyObject *__pyx_kp_timer_add;
892 static char __pyx_k_c_ui_info[] = "c_ui_info";
893 static PyObject *__pyx_kp_c_ui_info;
894 static char __pyx_k_405[] = "account";
895 static PyObject *__pyx_kp_405;
896 static char __pyx_k_406[] = "blist";
897 static PyObject *__pyx_kp_406;
898 static char __pyx_k_407[] = "connection";
899 static PyObject *__pyx_kp_407;
900 static char __pyx_k_408[] = "conversation";
901 static PyObject *__pyx_kp_408;
902 static char __pyx_k_409[] = "notify";
903 static PyObject *__pyx_kp_409;
904 static char __pyx_k_410[] = "request";
905 static PyObject *__pyx_kp_410;
906 static char __pyx_k_append[] = "append";
907 static PyObject *__pyx_kp_append;
908 static char __pyx_k_427[] = "HTTP";
909 static PyObject *__pyx_kp_427;
910 static char __pyx_k_428[] = "USER_GLOBAL";
911 static PyObject *__pyx_kp_428;
912 static char __pyx_k_429[] = "USE_ENVVAR";
913 static PyObject *__pyx_kp_429;
914 static char __pyx_k_430[] = "SOCKS4";
915 static PyObject *__pyx_kp_430;
916 static char __pyx_k_431[] = "SOCKS5";
917 static PyObject *__pyx_kp_431;
918 static char __pyx_k_432[] = "NONE";
919 static PyObject *__pyx_kp_432;
920 static char __pyx_k_keys[] = "keys";
921 static PyObject *__pyx_kp_keys;
922 static char __pyx_k_433[] = "type";
923 static PyObject *__pyx_kp_433;
924 static char __pyx_k_434[] = "type";
925 static PyObject *__pyx_kp_434;
926 static char __pyx_k_435[] = "type";
927 static PyObject *__pyx_kp_435;
928 static char __pyx_k_436[] = "HTTP";
929 static PyObject *__pyx_kp_436;
930 static char __pyx_k_437[] = "host";
931 static PyObject *__pyx_kp_437;
932 static char __pyx_k_438[] = "host";
933 static PyObject *__pyx_kp_438;
934 static char __pyx_k_439[] = "host";
935 static PyObject *__pyx_kp_439;
936 static char __pyx_k_440[] = "port";
937 static PyObject *__pyx_kp_440;
938 static char __pyx_k_441[] = "port";
939 static PyObject *__pyx_kp_441;
940 static char __pyx_k_442[] = "port";
941 static PyObject *__pyx_kp_442;
942 static char __pyx_k_443[] = "username";
943 static PyObject *__pyx_kp_443;
944 static char __pyx_k_444[] = "username";
945 static PyObject *__pyx_kp_444;
946 static char __pyx_k_445[] = "username";
947 static PyObject *__pyx_kp_445;
948 static char __pyx_k_446[] = "password";
949 static PyObject *__pyx_kp_446;
950 static char __pyx_k_447[] = "password";
951 static PyObject *__pyx_kp_447;
952 static char __pyx_k_448[] = "password";
953 static PyObject *__pyx_kp_448;
954 static char __pyx_k_451[] = "type";
955 static PyObject *__pyx_kp_451;
956 static char __pyx_k_452[] = "name";
957 static PyObject *__pyx_kp_452;
958 static char __pyx_k_453[] = "message";
959 static PyObject *__pyx_kp_453;
960 static char __pyx_k_459[] = "type";
961 static PyObject *__pyx_kp_459;
962 static char __pyx_k_460[] = "name";
963 static PyObject *__pyx_kp_460;
964 static char __pyx_k_461[] = "message";
965 static PyObject *__pyx_kp_461;
966 static char __pyx_k_462[] = "UNKNOWN";
967 static PyObject *__pyx_kp_462;
968 static char __pyx_k_463[] = "IM";
969 static PyObject *__pyx_kp_463;
970 static char __pyx_k_464[] = "CHAT";
971 static PyObject *__pyx_kp_464;
972 static char __pyx_k_465[] = "MISC";
973 static PyObject *__pyx_kp_465;
974 static char __pyx_k_466[] = "ANY";
975 static PyObject *__pyx_kp_466;
976 static PyObject *__pyx_builtin_property;
977 static PyObject *__pyx_kp_14;
978 static PyObject *__pyx_kp_15;
979 static char __pyx_k_11[] = "account";
980 static char __pyx_k_12[] = "%s";
981 static char __pyx_k_13[] = "notify-added\n";
982 static char __pyx_k_14[] = "notify-added";
983 static char __pyx_k_15[] = "notify-added";
984 static PyObject *__pyx_kp_19;
985 static PyObject *__pyx_kp_20;
986 static char __pyx_k_16[] = "account";
987 static char __pyx_k_17[] = "%s";
988 static char __pyx_k_18[] = "status-changed\n";
989 static char __pyx_k_19[] = "status-changed";
990 static char __pyx_k_20[] = "status-changed";
991 static PyObject *__pyx_kp_24;
992 static PyObject *__pyx_kp_25;
993 static char __pyx_k_21[] = "account";
994 static char __pyx_k_22[] = "%s";
995 static char __pyx_k_23[] = "request-add\n";
996 static char __pyx_k_24[] = "request-add";
997 static char __pyx_k_25[] = "request-add";
998 static PyObject *__pyx_kp_29;
999 static PyObject *__pyx_kp_30;
1000 static char __pyx_k_26[] = "account";
1001 static char __pyx_k_27[] = "%s";
1002 static char __pyx_k_28[] = "request-authorize\n";
1003 static char __pyx_k_29[] = "request-authorize";
1004 static char __pyx_k_30[] = "request-authorize";
1005 static PyObject *__pyx_kp_34;
1006 static PyObject *__pyx_kp_35;
1007 static char __pyx_k_31[] = "account";
1008 static char __pyx_k_32[] = "%s";
1009 static char __pyx_k_33[] = "close-account-request\n";
1010 static char __pyx_k_34[] = "close-account-request";
1011 static char __pyx_k_35[] = "close-account-request";
1012 static PyObject *__pyx_kp_39;
1013 static PyObject *__pyx_kp_40;
1014 static PyObject *__pyx_kp_41;
1015 static char __pyx_k_36[] = "blist";
1016 static char __pyx_k_37[] = "%s";
1017 static char __pyx_k_38[] = "new-list\n";
1018 static char __pyx_k_39[] = "new-list";
1019 static char __pyx_k_40[] = "new-list";
1020 static char __pyx_k_41[] = "new-list: TODO";
1021 static PyObject *__pyx_kp_45;
1022 static PyObject *__pyx_kp_46;
1023 static PyObject *__pyx_kp_47;
1024 static PyObject *__pyx_kp_48;
1025 static PyObject *__pyx_kp_49;
1026 static PyObject *__pyx_kp_50;
1027 static char __pyx_k_42[] = "blist";
1028 static char __pyx_k_43[] = "%s";
1029 static char __pyx_k_44[] = "new-node\n";
1030 static char __pyx_k_45[] = "new-node";
1031 static char __pyx_k_46[] = "new-node";
1032 static char __pyx_k_47[] = "new-node";
1033 static char __pyx_k_48[] = "new-node";
1034 static char __pyx_k_49[] = "new-node";
1035 static char __pyx_k_50[] = "new-node";
1036 static PyObject *__pyx_kp_56;
1037 static char __pyx_k_51[] = "blist";
1038 static char __pyx_k_52[] = "%s";
1039 static char __pyx_k_53[] = "show\n";
1040 static char __pyx_k_56[] = "show: TODO";
1041 static char __pyx_k_57[] = "blist";
1042 static char __pyx_k_58[] = "%s";
1043 static char __pyx_k_59[] = "update\n";
1044 static char __pyx_k_66[] = "blist";
1045 static char __pyx_k_67[] = "%s";
1046 static char __pyx_k_68[] = "remove\n";
1047 static PyObject *__pyx_kp_80;
1048 static char __pyx_k_75[] = "blist";
1049 static char __pyx_k_76[] = "%s";
1050 static char __pyx_k_77[] = "destroy\n";
1051 static char __pyx_k_80[] = "destroy: TODO";
1052 static PyObject *__pyx_kp_84;
1053 static PyObject *__pyx_kp_85;
1054 static PyObject *__pyx_kp_86;
1055 static char __pyx_k_81[] = "blist";
1056 static char __pyx_k_82[] = "%s";
1057 static char __pyx_k_83[] = "set-visible\n";
1058 static char __pyx_k_84[] = "set-visible";
1059 static char __pyx_k_85[] = "set-visible";
1060 static char __pyx_k_86[] = "set-visible: TODO";
1061 static PyObject *__pyx_kp_90;
1062 static PyObject *__pyx_kp_91;
1063 static char __pyx_k_87[] = "blist";
1064 static char __pyx_k_88[] = "%s";
1065 static char __pyx_k_89[] = "request-add-buddy\n";
1066 static char __pyx_k_90[] = "request-add-buddy";
1067 static char __pyx_k_91[] = "request-add-buddy";
1068 static PyObject *__pyx_kp_95;
1069 static PyObject *__pyx_kp_96;
1070 static PyObject *__pyx_kp_97;
1071 static char __pyx_k_92[] = "blist";
1072 static char __pyx_k_93[] = "%s";
1073 static char __pyx_k_94[] = "request-add-chat\n";
1074 static char __pyx_k_95[] = "request-add-chat";
1075 static char __pyx_k_96[] = "request-add-chat";
1076 static char __pyx_k_97[] = "request-add-chat: TODO";
1077 static PyObject *__pyx_kp_101;
1078 static PyObject *__pyx_kp_102;
1079 static PyObject *__pyx_kp_103;
1080 static char __pyx_k_98[] = "blist";
1081 static char __pyx_k_99[] = "%s";
1082 static char __pyx_k_100[] = "request-add-group\n";
1083 static char __pyx_k_101[] = "request-add-chat";
1084 static char __pyx_k_102[] = "request-add-chat";
1085 static char __pyx_k_103[] = "request-add-group: TODO";
1086 static PyObject *__pyx_kp_107;
1087 static PyObject *__pyx_kp_108;
1088 static char __pyx_k_104[] = "connection";
1089 static char __pyx_k_105[] = "%s";
1090 static char __pyx_k_106[] = "connect-progress\n";
1091 static char __pyx_k_107[] = "connect-progress";
1092 static char __pyx_k_108[] = "connect-progress";
1093 static PyObject *__pyx_kp_114;
1094 static char __pyx_k_109[] = "connection";
1095 static char __pyx_k_110[] = "%s";
1096 static char __pyx_k_111[] = "connected\n";
1097 static char __pyx_k_114[] = "connected: TODO";
1098 static PyObject *__pyx_kp_120;
1099 static char __pyx_k_115[] = "connection";
1100 static char __pyx_k_116[] = "%s";
1101 static char __pyx_k_117[] = "disconnected\n";
1102 static char __pyx_k_120[] = "disconnected: TODO";
1103 static PyObject *__pyx_kp_126;
1104 static char __pyx_k_121[] = "connection";
1105 static char __pyx_k_122[] = "%s";
1106 static char __pyx_k_123[] = "notice\n";
1107 static char __pyx_k_126[] = "notice: TODO";
1108 static PyObject *__pyx_kp_130;
1109 static PyObject *__pyx_kp_131;
1110 static char __pyx_k_127[] = "connection";
1111 static char __pyx_k_128[] = "%s";
1112 static char __pyx_k_129[] = "report-disconnect\n";
1113 static char __pyx_k_130[] = "report-disconnect";
1114 static char __pyx_k_131[] = "report-disconnect";
1115 static PyObject *__pyx_kp_135;
1116 static PyObject *__pyx_kp_136;
1117 static char __pyx_k_132[] = "connection";
1118 static char __pyx_k_133[] = "%s";
1119 static char __pyx_k_134[] = "network-connected\n";
1120 static char __pyx_k_135[] = "network-connected";
1121 static char __pyx_k_136[] = "network-connected";
1122 static PyObject *__pyx_kp_140;
1123 static PyObject *__pyx_kp_141;
1124 static char __pyx_k_137[] = "connection";
1125 static char __pyx_k_138[] = "%s";
1126 static char __pyx_k_139[] = "network-disconnected\n";
1127 static char __pyx_k_140[] = "network-disconnected";
1128 static char __pyx_k_141[] = "network-disconnected";
1129 static PyObject *__pyx_kp_145;
1130 static PyObject *__pyx_kp_146;
1131 static PyObject *__pyx_kp_147;
1132 static PyObject *__pyx_kp_148;
1133 static PyObject *__pyx_kp_149;
1134 static PyObject *__pyx_kp_150;
1135 static PyObject *__pyx_kp_151;
1136 static PyObject *__pyx_kp_152;
1137 static PyObject *__pyx_kp_153;
1138 static PyObject *__pyx_kp_154;
1139 static PyObject *__pyx_kp_155;
1140 static PyObject *__pyx_kp_156;
1141 static PyObject *__pyx_kp_157;
1142 static PyObject *__pyx_kp_158;
1143 static PyObject *__pyx_kp_159;
1144 static PyObject *__pyx_kp_160;
1145 static PyObject *__pyx_kp_161;
1146 static PyObject *__pyx_kp_162;
1147 static PyObject *__pyx_kp_163;
1148 static char __pyx_k_142[] = "connection";
1149 static char __pyx_k_143[] = "%s";
1150 static char __pyx_k_144[] = "report-disconnect-reason\n";
1151 static char __pyx_k_145[] = "Network error";
1152 static char __pyx_k_146[] = "Invalid username";
1153 static char __pyx_k_147[] = "Authentication failed";
1154 static char __pyx_k_148[] = "Authentication impossible";
1155 static char __pyx_k_149[] = "No SSL support";
1156 static char __pyx_k_150[] = "Encryption error";
1157 static char __pyx_k_151[] = "Name in use";
1158 static char __pyx_k_152[] = "Invalid settings";
1159 static char __pyx_k_153[] = "Certificate not provided";
1160 static char __pyx_k_154[] = "Certificate untrusted";
1161 static char __pyx_k_155[] = "Certificate expired";
1162 static char __pyx_k_156[] = "Certificate not activated";
1163 static char __pyx_k_157[] = "Certificate hostname mismatch";
1164 static char __pyx_k_158[] = "Certificate fingerprint mismatch";
1165 static char __pyx_k_159[] = "Certificate self signed";
1166 static char __pyx_k_160[] = "Certificate error (other)";
1167 static char __pyx_k_161[] = "Other error";
1168 static char __pyx_k_162[] = "report-disconnect-reason";
1169 static char __pyx_k_163[] = "report-disconnect-reason";
1170 static PyObject *__pyx_kp_167;
1171 static PyObject *__pyx_kp_168;
1172 static char __pyx_k_164[] = "conversation";
1173 static char __pyx_k_165[] = "%s";
1174 static char __pyx_k_166[] = "create-conversation\n";
1175 static char __pyx_k_167[] = "create-conversation";
1176 static char __pyx_k_168[] = "create-conversation";
1177 static PyObject *__pyx_kp_172;
1178 static PyObject *__pyx_kp_173;
1179 static PyObject *__pyx_kp_174;
1180 static char __pyx_k_169[] = "conversation";
1181 static char __pyx_k_170[] = "%s";
1182 static char __pyx_k_171[] = "destroy-conversation\n";
1183 static char __pyx_k_172[] = "destroy-conversation";
1184 static char __pyx_k_173[] = "destroy-conversation";
1185 static char __pyx_k_174[] = "destroy-conversation: TODO";
1186 static PyObject *__pyx_kp_178;
1187 static PyObject *__pyx_kp_179;
1188 static PyObject *__pyx_kp_180;
1189 static char __pyx_k_175[] = "conversation";
1190 static char __pyx_k_176[] = "%s";
1191 static char __pyx_k_177[] = "write-chat\n";
1192 static char __pyx_k_178[] = "write-chat";
1193 static char __pyx_k_179[] = "write-chat";
1194 static char __pyx_k_180[] = "write-chat: TODO";
1195 static PyObject *__pyx_kp_184;
1196 static PyObject *__pyx_kp_187;
1197 static PyObject *__pyx_kp_188;
1198 static char __pyx_k_181[] = "conversation";
1199 static char __pyx_k_182[] = "%s";
1200 static char __pyx_k_183[] = "write-im\n";
1201 static char __pyx_k_184[] = "utf-8";
1202 static char __pyx_k_187[] = "write-im";
1203 static char __pyx_k_188[] = "write-im";
1204 static PyObject *__pyx_kp_192;
1205 static PyObject *__pyx_kp_193;
1206 static PyObject *__pyx_kp_194;
1207 static char __pyx_k_189[] = "conversation";
1208 static char __pyx_k_190[] = "%s";
1209 static char __pyx_k_191[] = "write-conv\n";
1210 static char __pyx_k_192[] = "write-conv";
1211 static char __pyx_k_193[] = "write-conv";
1212 static char __pyx_k_194[] = "write-conv: TODO";
1213 static PyObject *__pyx_kp_198;
1214 static PyObject *__pyx_kp_199;
1215 static PyObject *__pyx_kp_200;
1216 static char __pyx_k_195[] = "conversation";
1217 static char __pyx_k_196[] = "%s";
1218 static char __pyx_k_197[] = "chat-add-users\n";
1219 static char __pyx_k_198[] = "chat-add-users";
1220 static char __pyx_k_199[] = "chat-add-users";
1221 static char __pyx_k_200[] = "chat-add-users: TODO";
1222 static PyObject *__pyx_kp_204;
1223 static PyObject *__pyx_kp_205;
1224 static PyObject *__pyx_kp_206;
1225 static char __pyx_k_201[] = "conversation";
1226 static char __pyx_k_202[] = "%s";
1227 static char __pyx_k_203[] = "chat-rename-user\n";
1228 static char __pyx_k_204[] = "chat-rename-user";
1229 static char __pyx_k_205[] = "chat-rename-user";
1230 static char __pyx_k_206[] = "chat-rename-user: TODO";
1231 static PyObject *__pyx_kp_210;
1232 static PyObject *__pyx_kp_211;
1233 static PyObject *__pyx_kp_212;
1234 static char __pyx_k_207[] = "conversation";
1235 static char __pyx_k_208[] = "%s";
1236 static char __pyx_k_209[] = "chat-remove-users\n";
1237 static char __pyx_k_210[] = "chat-remove-users";
1238 static char __pyx_k_211[] = "chat-remove-users";
1239 static char __pyx_k_212[] = "chat-remove-users: TODO";
1240 static PyObject *__pyx_kp_216;
1241 static PyObject *__pyx_kp_217;
1242 static PyObject *__pyx_kp_218;
1243 static char __pyx_k_213[] = "conversation";
1244 static char __pyx_k_214[] = "%s";
1245 static char __pyx_k_215[] = "chat-update-user\n";
1246 static char __pyx_k_216[] = "chat-update-user";
1247 static char __pyx_k_217[] = "chat-update-user";
1248 static char __pyx_k_218[] = "chat-update-user: TODO";
1249 static PyObject *__pyx_kp_224;
1250 static char __pyx_k_219[] = "conversation";
1251 static char __pyx_k_220[] = "%s";
1252 static char __pyx_k_221[] = "present\n";
1253 static char __pyx_k_224[] = "present: TODO";
1254 static PyObject *__pyx_kp_228;
1255 static PyObject *__pyx_kp_229;
1256 static PyObject *__pyx_kp_230;
1257 static char __pyx_k_225[] = "conversation";
1258 static char __pyx_k_226[] = "%s";
1259 static char __pyx_k_227[] = "has-focus\n";
1260 static char __pyx_k_228[] = "has-focus";
1261 static char __pyx_k_229[] = "has-focus";
1262 static char __pyx_k_230[] = "has-focus: TODO";
1263 static PyObject *__pyx_kp_234;
1264 static PyObject *__pyx_kp_235;
1265 static PyObject *__pyx_kp_236;
1266 static char __pyx_k_231[] = "conversation";
1267 static char __pyx_k_232[] = "%s";
1268 static char __pyx_k_233[] = "custom-smiley-add\n";
1269 static char __pyx_k_234[] = "custom-smiley-add";
1270 static char __pyx_k_235[] = "custom-smiley-add";
1271 static char __pyx_k_236[] = "custom-smiley-add: TODO";
1272 static PyObject *__pyx_kp_240;
1273 static PyObject *__pyx_kp_241;
1274 static PyObject *__pyx_kp_242;
1275 static char __pyx_k_237[] = "conversation";
1276 static char __pyx_k_238[] = "%s";
1277 static char __pyx_k_239[] = "custom-smiley-write\n";
1278 static char __pyx_k_240[] = "custom-smiley-write";
1279 static char __pyx_k_241[] = "custom-smiley-write";
1280 static char __pyx_k_242[] = "custom-smiley-write: TODO";
1281 static PyObject *__pyx_kp_246;
1282 static PyObject *__pyx_kp_247;
1283 static PyObject *__pyx_kp_248;
1284 static char __pyx_k_243[] = "conversation";
1285 static char __pyx_k_244[] = "%s";
1286 static char __pyx_k_245[] = "custom-smiley-close\n";
1287 static char __pyx_k_246[] = "custom-smiley-close";
1288 static char __pyx_k_247[] = "custom-smiley-close";
1289 static char __pyx_k_248[] = "custom-smiley-close: TODO";
1290 static PyObject *__pyx_kp_252;
1291 static PyObject *__pyx_kp_253;
1292 static PyObject *__pyx_kp_254;
1293 static char __pyx_k_249[] = "conversation";
1294 static char __pyx_k_250[] = "%s";
1295 static char __pyx_k_251[] = "send-confirm\n";
1296 static char __pyx_k_252[] = "send-confirm";
1297 static char __pyx_k_253[] = "send-confirm";
1298 static char __pyx_k_254[] = "send-confirm: TODO";
1299 static PyObject *__pyx_kp_258;
1300 static PyObject *__pyx_kp_259;
1301 static PyObject *__pyx_kp_260;
1302 static char __pyx_k_255[] = "notify";
1303 static char __pyx_k_256[] = "%s";
1304 static char __pyx_k_257[] = "notify-message\n";
1305 static char __pyx_k_258[] = "notif-message";
1306 static char __pyx_k_259[] = "notify-message";
1307 static char __pyx_k_260[] = "notify-message: TODO";
1308 static PyObject *__pyx_kp_264;
1309 static PyObject *__pyx_kp_265;
1310 static PyObject *__pyx_kp_266;
1311 static char __pyx_k_261[] = "notify";
1312 static char __pyx_k_262[] = "%s";
1313 static char __pyx_k_263[] = "notify-email\n";
1314 static char __pyx_k_264[] = "notify-email";
1315 static char __pyx_k_265[] = "notify-email";
1316 static char __pyx_k_266[] = "notify-email: TODO";
1317 static PyObject *__pyx_kp_270;
1318 static PyObject *__pyx_kp_271;
1319 static PyObject *__pyx_kp_272;
1320 static char __pyx_k_267[] = "notify";
1321 static char __pyx_k_268[] = "%s";
1322 static char __pyx_k_269[] = "notify-emails\n";
1323 static char __pyx_k_270[] = "notify-emails";
1324 static char __pyx_k_271[] = "notify-emails";
1325 static char __pyx_k_272[] = "notify-emails: TODO";
1326 static PyObject *__pyx_kp_276;
1327 static PyObject *__pyx_kp_277;
1328 static PyObject *__pyx_kp_278;
1329 static char __pyx_k_273[] = "notify";
1330 static char __pyx_k_274[] = "%s";
1331 static char __pyx_k_275[] = "notify-formatted\n";
1332 static char __pyx_k_276[] = "notify-formatted";
1333 static char __pyx_k_277[] = "notify-formatted";
1334 static char __pyx_k_278[] = "notify-formatted: TODO";
1335 static PyObject *__pyx_kp_282;
1336 static PyObject *__pyx_kp_283;
1337 static PyObject *__pyx_kp_284;
1338 static char __pyx_k_279[] = "notify";
1339 static char __pyx_k_280[] = "%s";
1340 static char __pyx_k_281[] = "notify-searchresults\n";
1341 static char __pyx_k_282[] = "notify-searchresults";
1342 static char __pyx_k_283[] = "notify-searchresults";
1343 static char __pyx_k_284[] = "notify-searchresults: TODO";
1344 static PyObject *__pyx_kp_288;
1345 static PyObject *__pyx_kp_289;
1346 static PyObject *__pyx_kp_290;
1347 static char __pyx_k_285[] = "notify";
1348 static char __pyx_k_286[] = "%s";
1349 static char __pyx_k_287[] = "notify-searchresults-new-rows\n";
1350 static char __pyx_k_288[] = "notify-searchresults-new-rows";
1351 static char __pyx_k_289[] = "notify-searchresults-new-rows";
1352 static char __pyx_k_290[] = "notify-searchresults-new-rows: TODO";
1353 static PyObject *__pyx_kp_294;
1354 static PyObject *__pyx_kp_295;
1355 static PyObject *__pyx_kp_296;
1356 static char __pyx_k_291[] = "notify";
1357 static char __pyx_k_292[] = "%s";
1358 static char __pyx_k_293[] = "notify-userinfo\n";
1359 static char __pyx_k_294[] = "notify-userinfo";
1360 static char __pyx_k_295[] = "notify-userinfo";
1361 static char __pyx_k_296[] = "notify-userinfo: TODO";
1362 static PyObject *__pyx_kp_300;
1363 static PyObject *__pyx_kp_301;
1364 static PyObject *__pyx_kp_302;
1365 static char __pyx_k_297[] = "notify";
1366 static char __pyx_k_298[] = "%s";
1367 static char __pyx_k_299[] = "notify-uri\n";
1368 static char __pyx_k_300[] = "notify-uri";
1369 static char __pyx_k_301[] = "notify-uri";
1370 static char __pyx_k_302[] = "notify-uri: TODO";
1371 static PyObject *__pyx_kp_306;
1372 static PyObject *__pyx_kp_307;
1373 static PyObject *__pyx_kp_308;
1374 static char __pyx_k_303[] = "notify";
1375 static char __pyx_k_304[] = "%s";
1376 static char __pyx_k_305[] = "close-notify\n";
1377 static char __pyx_k_306[] = "close-notify";
1378 static char __pyx_k_307[] = "close-notify";
1379 static char __pyx_k_308[] = "close-notify: TODO";
1380 static PyObject *__pyx_kp_312;
1381 static PyObject *__pyx_kp_313;
1382 static PyObject *__pyx_kp_314;
1383 static char __pyx_k_309[] = "request";
1384 static char __pyx_k_310[] = "%s";
1385 static char __pyx_k_311[] = "request-input\n";
1386 static char __pyx_k_312[] = "request-input";
1387 static char __pyx_k_313[] = "request-input";
1388 static char __pyx_k_314[] = "request-input: TODO";
1389 static PyObject *__pyx_kp_318;
1390 static PyObject *__pyx_kp_319;
1391 static PyObject *__pyx_kp_320;
1392 static char __pyx_k_315[] = "request";
1393 static char __pyx_k_316[] = "%s";
1394 static char __pyx_k_317[] = "request-choice\n";
1395 static char __pyx_k_318[] = "request-choice";
1396 static char __pyx_k_319[] = "request-choice";
1397 static char __pyx_k_320[] = "request-choice: TODO";
1398 static PyObject *__pyx_kp_324;
1399 static PyObject *__pyx_kp_325;
1400 static PyObject *__pyx_kp_326;
1401 static char __pyx_k_321[] = "request";
1402 static char __pyx_k_322[] = "%s";
1403 static char __pyx_k_323[] = "request-action\n";
1404 static char __pyx_k_324[] = "request-action";
1405 static char __pyx_k_325[] = "request-action";
1406 static char __pyx_k_326[] = "request-action: TODo";
1407 static PyObject *__pyx_kp_330;
1408 static PyObject *__pyx_kp_331;
1409 static PyObject *__pyx_kp_332;
1410 static char __pyx_k_327[] = "request";
1411 static char __pyx_k_328[] = "%s";
1412 static char __pyx_k_329[] = "request-fields\n";
1413 static char __pyx_k_330[] = "request-fields";
1414 static char __pyx_k_331[] = "request-fields";
1415 static char __pyx_k_332[] = "request-fields: TODO";
1416 static PyObject *__pyx_kp_336;
1417 static PyObject *__pyx_kp_337;
1418 static PyObject *__pyx_kp_338;
1419 static char __pyx_k_333[] = "request";
1420 static char __pyx_k_334[] = "%s";
1421 static char __pyx_k_335[] = "request-file\n";
1422 static char __pyx_k_336[] = "request-file";
1423 static char __pyx_k_337[] = "request-file";
1424 static char __pyx_k_338[] = "request-file: TODO";
1425 static PyObject *__pyx_kp_342;
1426 static PyObject *__pyx_kp_343;
1427 static PyObject *__pyx_kp_344;
1428 static char __pyx_k_339[] = "request";
1429 static char __pyx_k_340[] = "%s";
1430 static char __pyx_k_341[] = "close-request\n";
1431 static char __pyx_k_342[] = "close-request";
1432 static char __pyx_k_343[] = "close-request";
1433 static char __pyx_k_344[] = "close-request: TODO";
1434 static PyObject *__pyx_kp_348;
1435 static PyObject *__pyx_kp_349;
1436 static PyObject *__pyx_kp_350;
1437 static char __pyx_k_345[] = "request";
1438 static char __pyx_k_346[] = "%s";
1439 static char __pyx_k_347[] = "request-folder\n";
1440 static char __pyx_k_348[] = "request-folder";
1441 static char __pyx_k_349[] = "request-folder";
1442 static char __pyx_k_350[] = "request-folder: TODO";
1443 static PyObject *__pyx_kp_351;
1444 static PyObject *__pyx_kp_352;
1445 static char __pyx_k_351[] = "signed-on";
1446 static char __pyx_k_352[] = "signed-on";
1447 static PyObject *__pyx_kp_353;
1448 static PyObject *__pyx_kp_354;
1449 static char __pyx_k_353[] = "signed-off";
1450 static char __pyx_k_354[] = "signed-off";
1451 static PyObject *__pyx_kp_355;
1452 static PyObject *__pyx_kp_356;
1453 static PyObject *__pyx_kp_357;
1454 static PyObject *__pyx_kp_358;
1455 static PyObject *__pyx_kp_359;
1456 static PyObject *__pyx_kp_360;
1457 static PyObject *__pyx_kp_361;
1458 static PyObject *__pyx_kp_362;
1459 static PyObject *__pyx_kp_363;
1460 static PyObject *__pyx_kp_364;
1461 static PyObject *__pyx_kp_365;
1462 static PyObject *__pyx_kp_366;
1463 static PyObject *__pyx_kp_367;
1464 static PyObject *__pyx_kp_368;
1465 static PyObject *__pyx_kp_369;
1466 static PyObject *__pyx_kp_370;
1467 static PyObject *__pyx_kp_371;
1468 static PyObject *__pyx_kp_372;
1469 static PyObject *__pyx_kp_373;
1470 static char __pyx_k_355[] = "Network error";
1471 static char __pyx_k_356[] = "Invalid username";
1472 static char __pyx_k_357[] = "Authentication failed";
1473 static char __pyx_k_358[] = "Authentication impossible";
1474 static char __pyx_k_359[] = "No SSL support";
1475 static char __pyx_k_360[] = "Encryption error";
1476 static char __pyx_k_361[] = "Name in use";
1477 static char __pyx_k_362[] = "Invalid settings";
1478 static char __pyx_k_363[] = "SSL certificate not provided";
1479 static char __pyx_k_364[] = "SSL certificate untrusted";
1480 static char __pyx_k_365[] = "SSL certificate expired";
1481 static char __pyx_k_366[] = "SSL certificate not activated";
1482 static char __pyx_k_367[] = "SSL certificate hostname mismatch";
1483 static char __pyx_k_368[] = "SSL certificate fingerprint mismatch";
1484 static char __pyx_k_369[] = "SSL certificate self signed";
1485 static char __pyx_k_370[] = "SSL certificate other error";
1486 static char __pyx_k_371[] = "Other error";
1487 static char __pyx_k_372[] = "connection-error";
1488 static char __pyx_k_373[] = "connection-error";
1489 static PyObject *__pyx_kp_374;
1490 static PyObject *__pyx_kp_375;
1491 static char __pyx_k_374[] = "buddy-signed-on";
1492 static char __pyx_k_375[] = "buddy-signed-on";
1493 static PyObject *__pyx_kp_376;
1494 static PyObject *__pyx_kp_377;
1495 static char __pyx_k_376[] = "buddy-signed-off";
1496 static char __pyx_k_377[] = "buddy-signed-off";
1497 static PyObject *__pyx_kp_378;
1498 static PyObject *__pyx_kp_379;
1499 static char __pyx_k_378[] = "receiving-im-msg";
1500 static char __pyx_k_379[] = "receiving-im-msg";
1501 static PyObject *__pyx_kp_380;
1502 static PyObject *__pyx_kp_381;
1503 static char __pyx_k_380[] = "jabber-receiving-xmlnode";
1504 static char __pyx_k_381[] = "jabber-receiving-xmlnode";
1505 static char __pyx_k_382[] = "core_ui_ops";
1506 static char __pyx_k_383[] = "%s";
1507 static char __pyx_k_384[] = "ui_prefs_init\n";
1508 static char __pyx_k_385[] = "/carman";
1509 static char __pyx_k_386[] = "core_ui_ops";
1510 static char __pyx_k_387[] = "%s";
1511 static char __pyx_k_388[] = "debug_ui_init\n";
1512 static char __pyx_k_389[] = "core_ui_ops";
1513 static char __pyx_k_390[] = "%s";
1514 static char __pyx_k_391[] = "ui_init\n";
1515 static char __pyx_k_392[] = "core_ui_ops";
1516 static char __pyx_k_393[] = "%s";
1517 static char __pyx_k_394[] = "quit\n";
1518 static char __pyx_k_395[] = "name";
1519 static char __pyx_k_396[] = "version";
1520 static char __pyx_k_397[] = "website";
1521 static char __pyx_k_398[] = "dev_website";
1522 static char __pyx_k_399[] = "main";
1523 static char __pyx_k_400[] = "%s";
1524 static char __pyx_k_401[] = "libpurple initialization failed.\n";
1525 static char __pyx_k_402[] = "main";
1526 static char __pyx_k_403[] = "%s";
1527 static char __pyx_k_404[] = "Another instance of libpurple is already running.\n";
1528 static PyObject *__pyx_kp_412;
1529 static PyObject *__pyx_kp_414;
1530 static PyObject *__pyx_kp_416;
1531 static PyObject *__pyx_kp_418;
1532 static PyObject *__pyx_kp_420;
1533 static PyObject *__pyx_kp_422;
1534 static PyObject *__pyx_kp_424;
1535 static char __pyx_k_411[] = "prpl-jabber";
1536 static char __pyx_k_412[] = "signed-on";
1537 static char __pyx_k_413[] = "signed-on";
1538 static char __pyx_k_414[] = "signed-off";
1539 static char __pyx_k_415[] = "signed-off";
1540 static char __pyx_k_416[] = "connection-error";
1541 static char __pyx_k_417[] = "connection-error";
1542 static char __pyx_k_418[] = "buddy-signed-on";
1543 static char __pyx_k_419[] = "buddy-signed-on";
1544 static char __pyx_k_420[] = "buddy-signed-off";
1545 static char __pyx_k_421[] = "buddy-signed-off";
1546 static char __pyx_k_422[] = "receiving-im-msg";
1547 static char __pyx_k_423[] = "receiving-im-msg";
1548 static char __pyx_k_424[] = "jabber-receiving-xmlnode";
1549 static char __pyx_k_425[] = "jabber-receiving-xmlnode";
1550 static char __pyx_k_426[] = "";
1551 static char __pyx_k_449[] = "";
1552 static char __pyx_k_450[] = "message";
1553 static char __pyx_k_454[] = "message";
1554 static char __pyx_k_455[] = "/purple/savedstatus/idleaway";
1555 static char __pyx_k_456[] = "message";
1556 static PyObject *__pyx_kp_457;
1557 static char __pyx_k_457[] = "utf-8";
1558 static char __pyx_k_458[] = "message";
1560 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":31
1561 * cdef void *c_request_authorize_user_data = NULL
1563 * def call_authorize_cb(): # <<<<<<<<<<<<<<
1564 * global c_request_authorize_authorize_cb
1565 * global c_request_authorize_deny_cb
1568 static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/
1569 static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused) {
1572 __pyx_self = __pyx_self;
1574 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":36
1575 * global c_request_authorize_user_data
1577 * if c_request_authorize_authorize_cb: # <<<<<<<<<<<<<<
1578 * c_request_authorize_authorize_cb(c_request_authorize_user_data)
1579 * c_request_authorize_authorize_cb = NULL
1581 __pyx_1 = (__pyx_v_6purple_c_request_authorize_authorize_cb != 0);
1584 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":37
1586 * if c_request_authorize_authorize_cb:
1587 * c_request_authorize_authorize_cb(c_request_authorize_user_data) # <<<<<<<<<<<<<<
1588 * c_request_authorize_authorize_cb = NULL
1589 * c_request_authorize_deny_cb = NULL
1591 __pyx_v_6purple_c_request_authorize_authorize_cb(__pyx_v_6purple_c_request_authorize_user_data);
1596 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":38
1597 * if c_request_authorize_authorize_cb:
1598 * c_request_authorize_authorize_cb(c_request_authorize_user_data)
1599 * c_request_authorize_authorize_cb = NULL # <<<<<<<<<<<<<<
1600 * c_request_authorize_deny_cb = NULL
1601 * c_request_authorize_user_data = NULL
1603 __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
1605 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":39
1606 * c_request_authorize_authorize_cb(c_request_authorize_user_data)
1607 * c_request_authorize_authorize_cb = NULL
1608 * c_request_authorize_deny_cb = NULL # <<<<<<<<<<<<<<
1609 * c_request_authorize_user_data = NULL
1612 __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
1614 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":40
1615 * c_request_authorize_authorize_cb = NULL
1616 * c_request_authorize_deny_cb = NULL
1617 * c_request_authorize_user_data = NULL # <<<<<<<<<<<<<<
1619 * def call_deny_cb():
1621 __pyx_v_6purple_c_request_authorize_user_data = NULL;
1623 __pyx_r = Py_None; Py_INCREF(Py_None);
1627 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":42
1628 * c_request_authorize_user_data = NULL
1630 * def call_deny_cb(): # <<<<<<<<<<<<<<
1631 * global c_request_authorize_authorize_cb
1632 * global c_request_authorize_deny_cb
1635 static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/
1636 static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused) {
1639 __pyx_self = __pyx_self;
1641 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":47
1642 * global c_request_authorize_user_data
1644 * if c_request_authorize_deny_cb: # <<<<<<<<<<<<<<
1645 * c_request_authorize_deny_cb(c_request_authorize_user_data)
1646 * c_request_authorize_authorize_cb = NULL
1648 __pyx_1 = (__pyx_v_6purple_c_request_authorize_deny_cb != 0);
1651 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":48
1653 * if c_request_authorize_deny_cb:
1654 * c_request_authorize_deny_cb(c_request_authorize_user_data) # <<<<<<<<<<<<<<
1655 * c_request_authorize_authorize_cb = NULL
1656 * c_request_authorize_deny_cb = NULL
1658 __pyx_v_6purple_c_request_authorize_deny_cb(__pyx_v_6purple_c_request_authorize_user_data);
1663 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":49
1664 * if c_request_authorize_deny_cb:
1665 * c_request_authorize_deny_cb(c_request_authorize_user_data)
1666 * c_request_authorize_authorize_cb = NULL # <<<<<<<<<<<<<<
1667 * c_request_authorize_deny_cb = NULL
1668 * c_request_authorize_user_data = NULL
1670 __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
1672 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":50
1673 * c_request_authorize_deny_cb(c_request_authorize_user_data)
1674 * c_request_authorize_authorize_cb = NULL
1675 * c_request_authorize_deny_cb = NULL # <<<<<<<<<<<<<<
1676 * c_request_authorize_user_data = NULL
1679 __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
1681 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":51
1682 * c_request_authorize_authorize_cb = NULL
1683 * c_request_authorize_deny_cb = NULL
1684 * c_request_authorize_user_data = NULL # <<<<<<<<<<<<<<
1686 * cdef void notify_added(account.PurpleAccount *c_account, \
1688 __pyx_v_6purple_c_request_authorize_user_data = NULL;
1690 __pyx_r = Py_None; Py_INCREF(Py_None);
1694 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":53
1695 * c_request_authorize_user_data = NULL
1697 * cdef void notify_added(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<<
1698 * const_char *remote_user, const_char *id, const_char *alias, \
1699 * const_char *c_message):
1702 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) {
1703 PurpleConnection *__pyx_v_gc;
1704 PyObject *__pyx_v_remote_alias;
1705 PyObject *__pyx_v_username;
1706 PyObject *__pyx_v_protocol_id;
1707 PyObject *__pyx_v_message;
1709 PyObject *__pyx_2 = 0;
1710 PyObject *__pyx_3 = 0;
1711 PyObject *__pyx_4 = 0;
1712 PyObject *__pyx_5 = 0;
1713 __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
1714 __pyx_v_username = Py_None; Py_INCREF(Py_None);
1715 __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
1716 __pyx_v_message = Py_None; Py_INCREF(Py_None);
1718 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":61
1720 * cdef connection.PurpleConnection *gc = \
1721 * account.purple_account_get_connection(c_account) # <<<<<<<<<<<<<<
1723 * debug.purple_debug_info("account", "%s", "notify-added\n")
1725 __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
1727 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":63
1728 * account.purple_account_get_connection(c_account)
1730 * debug.purple_debug_info("account", "%s", "notify-added\n") # <<<<<<<<<<<<<<
1734 purple_debug_info(__pyx_k_11, __pyx_k_12, __pyx_k_13);
1736 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":65
1737 * debug.purple_debug_info("account", "%s", "notify-added\n")
1739 * if alias: # <<<<<<<<<<<<<<
1740 * remote_alias = <char *> alias
1743 __pyx_1 = (__pyx_v_alias != 0);
1746 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":66
1749 * remote_alias = <char *> alias # <<<<<<<<<<<<<<
1751 * remote_alias = None
1753 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1754 Py_DECREF(__pyx_v_remote_alias);
1755 __pyx_v_remote_alias = __pyx_2;
1761 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":68
1762 * remote_alias = <char *> alias
1764 * remote_alias = None # <<<<<<<<<<<<<<
1769 Py_DECREF(__pyx_v_remote_alias);
1770 __pyx_v_remote_alias = Py_None;
1774 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":70
1775 * remote_alias = None
1777 * if id: # <<<<<<<<<<<<<<
1778 * username = <char *> id
1779 * elif connection.purple_connection_get_display_name(gc) != NULL:
1781 __pyx_1 = (__pyx_v_id != 0);
1784 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":71
1787 * username = <char *> id # <<<<<<<<<<<<<<
1788 * elif connection.purple_connection_get_display_name(gc) != NULL:
1789 * username = connection.purple_connection_get_display_name(gc)
1791 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1792 Py_DECREF(__pyx_v_username);
1793 __pyx_v_username = __pyx_2;
1798 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":72
1800 * username = <char *> id
1801 * elif connection.purple_connection_get_display_name(gc) != NULL: # <<<<<<<<<<<<<<
1802 * username = connection.purple_connection_get_display_name(gc)
1805 __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
1808 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":73
1809 * username = <char *> id
1810 * elif connection.purple_connection_get_display_name(gc) != NULL:
1811 * username = connection.purple_connection_get_display_name(gc) # <<<<<<<<<<<<<<
1813 * username = account.purple_account_get_username(c_account)
1815 __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1816 Py_DECREF(__pyx_v_username);
1817 __pyx_v_username = __pyx_2;
1823 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":75
1824 * username = connection.purple_connection_get_display_name(gc)
1826 * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<<
1828 * protocol_id = account.purple_account_get_protocol_id(c_account)
1830 __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1831 Py_DECREF(__pyx_v_username);
1832 __pyx_v_username = __pyx_2;
1837 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":77
1838 * username = account.purple_account_get_username(c_account)
1840 * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<<
1844 __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1845 Py_DECREF(__pyx_v_protocol_id);
1846 __pyx_v_protocol_id = __pyx_2;
1849 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":79
1850 * protocol_id = account.purple_account_get_protocol_id(c_account)
1852 * if c_message: # <<<<<<<<<<<<<<
1853 * message = <char *> c_message
1856 __pyx_1 = (__pyx_v_c_message != 0);
1859 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":80
1862 * message = <char *> c_message # <<<<<<<<<<<<<<
1866 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1867 Py_DECREF(__pyx_v_message);
1868 __pyx_v_message = __pyx_2;
1874 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":82
1875 * message = <char *> c_message
1877 * message = None # <<<<<<<<<<<<<<
1879 * if account_cbs.has_key("notify-added"):
1882 Py_DECREF(__pyx_v_message);
1883 __pyx_v_message = Py_None;
1887 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":84
1890 * if account_cbs.has_key("notify-added"): # <<<<<<<<<<<<<<
1891 * (<object> account_cbs["notify-added"])( \
1892 * (<char *> remote_user, remote_alias), \
1894 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1895 __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1896 Py_DECREF(__pyx_2); __pyx_2 = 0;
1897 __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1898 Py_INCREF(__pyx_kp_14);
1899 PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_14);
1900 __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1901 Py_DECREF(__pyx_3); __pyx_3 = 0;
1902 Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
1903 __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1904 Py_DECREF(__pyx_4); __pyx_4 = 0;
1907 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":85
1909 * if account_cbs.has_key("notify-added"):
1910 * (<object> account_cbs["notify-added"])( \ # <<<<<<<<<<<<<<
1911 * (<char *> remote_user, remote_alias), \
1912 * (username, protocol_id), message)
1914 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1915 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_15); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1916 Py_DECREF(__pyx_3); __pyx_3 = 0;
1918 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":86
1919 * if account_cbs.has_key("notify-added"):
1920 * (<object> account_cbs["notify-added"])( \
1921 * (<char *> remote_user, remote_alias), \ # <<<<<<<<<<<<<<
1922 * (username, protocol_id), message)
1925 __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1926 __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1927 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
1928 Py_INCREF(__pyx_v_remote_alias);
1929 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
1932 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":87
1933 * (<object> account_cbs["notify-added"])( \
1934 * (<char *> remote_user, remote_alias), \
1935 * (username, protocol_id), message) # <<<<<<<<<<<<<<
1937 * cdef void status_changed(account.PurpleAccount *c_account, \
1939 __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1940 Py_INCREF(__pyx_v_username);
1941 PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
1942 Py_INCREF(__pyx_v_protocol_id);
1943 PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
1944 __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1945 PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3));
1946 PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4));
1947 Py_INCREF(__pyx_v_message);
1948 PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message);
1951 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1952 Py_DECREF(__pyx_2); __pyx_2 = 0;
1953 Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
1954 Py_DECREF(__pyx_3); __pyx_3 = 0;
1961 Py_XDECREF(__pyx_2);
1962 Py_XDECREF(__pyx_3);
1963 Py_XDECREF(__pyx_4);
1964 Py_XDECREF(__pyx_5);
1965 __Pyx_WriteUnraisable("purple.notify_added");
1967 Py_DECREF(__pyx_v_remote_alias);
1968 Py_DECREF(__pyx_v_username);
1969 Py_DECREF(__pyx_v_protocol_id);
1970 Py_DECREF(__pyx_v_message);
1973 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":89
1974 * (username, protocol_id), message)
1976 * cdef void status_changed(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<<
1977 * status.PurpleStatus *c_status):
1981 static void __pyx_f_6purple_status_changed(PurpleAccount *__pyx_v_c_account, PurpleStatus *__pyx_v_c_status) {
1982 PyObject *__pyx_v_username;
1983 PyObject *__pyx_v_protocol_id;
1984 PyObject *__pyx_v_status_id;
1985 PyObject *__pyx_v_status_name;
1986 PyObject *__pyx_1 = 0;
1987 PyObject *__pyx_2 = 0;
1988 PyObject *__pyx_3 = 0;
1990 __pyx_v_username = Py_None; Py_INCREF(Py_None);
1991 __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
1992 __pyx_v_status_id = Py_None; Py_INCREF(Py_None);
1993 __pyx_v_status_name = Py_None; Py_INCREF(Py_None);
1995 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":94
1996 * This account's status changed.
1998 * debug.purple_debug_info("account", "%s", "status-changed\n") # <<<<<<<<<<<<<<
2000 * username = account.purple_account_get_username(c_account)
2002 purple_debug_info(__pyx_k_16, __pyx_k_17, __pyx_k_18);
2004 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":96
2005 * debug.purple_debug_info("account", "%s", "status-changed\n")
2007 * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<<
2008 * protocol_id = account.purple_account_get_protocol_id(c_account)
2011 __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2012 Py_DECREF(__pyx_v_username);
2013 __pyx_v_username = __pyx_1;
2016 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":97
2018 * username = account.purple_account_get_username(c_account)
2019 * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<<
2021 * status_id = status.purple_status_get_id(c_status)
2023 __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 = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2024 Py_DECREF(__pyx_v_protocol_id);
2025 __pyx_v_protocol_id = __pyx_1;
2028 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":99
2029 * protocol_id = account.purple_account_get_protocol_id(c_account)
2031 * status_id = status.purple_status_get_id(c_status) # <<<<<<<<<<<<<<
2032 * status_name = status.purple_status_get_name(c_status)
2035 __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_id(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2036 Py_DECREF(__pyx_v_status_id);
2037 __pyx_v_status_id = __pyx_1;
2040 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":100
2042 * status_id = status.purple_status_get_id(c_status)
2043 * status_name = status.purple_status_get_name(c_status) # <<<<<<<<<<<<<<
2045 * if account_cbs.has_key("status-changed"):
2047 __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_name(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2048 Py_DECREF(__pyx_v_status_name);
2049 __pyx_v_status_name = __pyx_1;
2052 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":102
2053 * status_name = status.purple_status_get_name(c_status)
2055 * if account_cbs.has_key("status-changed"): # <<<<<<<<<<<<<<
2056 * (<object> account_cbs["status-changed"])( \
2057 * (username, protocol_id), status_id, status_name)
2059 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2060 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2061 Py_DECREF(__pyx_1); __pyx_1 = 0;
2062 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2063 Py_INCREF(__pyx_kp_19);
2064 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_19);
2065 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2066 Py_DECREF(__pyx_2); __pyx_2 = 0;
2067 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
2068 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2069 Py_DECREF(__pyx_3); __pyx_3 = 0;
2072 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":103
2074 * if account_cbs.has_key("status-changed"):
2075 * (<object> account_cbs["status-changed"])( \ # <<<<<<<<<<<<<<
2076 * (username, protocol_id), status_id, status_name)
2079 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2080 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_20); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2081 Py_DECREF(__pyx_2); __pyx_2 = 0;
2083 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":104
2084 * if account_cbs.has_key("status-changed"):
2085 * (<object> account_cbs["status-changed"])( \
2086 * (username, protocol_id), status_id, status_name) # <<<<<<<<<<<<<<
2088 * cdef void request_add(account.PurpleAccount *c_account, \
2090 __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2091 Py_INCREF(__pyx_v_username);
2092 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_username);
2093 Py_INCREF(__pyx_v_protocol_id);
2094 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_protocol_id);
2095 __pyx_2 = PyTuple_New(3); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2096 PyTuple_SET_ITEM(__pyx_2, 0, ((PyObject *)__pyx_3));
2097 Py_INCREF(__pyx_v_status_id);
2098 PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_status_id);
2099 Py_INCREF(__pyx_v_status_name);
2100 PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_status_name);
2102 __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2103 Py_DECREF(__pyx_1); __pyx_1 = 0;
2104 Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
2105 Py_DECREF(__pyx_3); __pyx_3 = 0;
2112 Py_XDECREF(__pyx_1);
2113 Py_XDECREF(__pyx_2);
2114 Py_XDECREF(__pyx_3);
2115 __Pyx_WriteUnraisable("purple.status_changed");
2117 Py_DECREF(__pyx_v_username);
2118 Py_DECREF(__pyx_v_protocol_id);
2119 Py_DECREF(__pyx_v_status_id);
2120 Py_DECREF(__pyx_v_status_name);
2123 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":106
2124 * (username, protocol_id), status_id, status_name)
2126 * cdef void request_add(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<<
2127 * const_char *remote_user, const_char *id, const_char *alias, \
2128 * const_char *c_message):
2131 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) {
2132 PurpleConnection *__pyx_v_gc;
2133 PyObject *__pyx_v_remote_alias;
2134 PyObject *__pyx_v_username;
2135 PyObject *__pyx_v_protocol_id;
2136 PyObject *__pyx_v_message;
2138 PyObject *__pyx_2 = 0;
2139 PyObject *__pyx_3 = 0;
2140 PyObject *__pyx_4 = 0;
2141 PyObject *__pyx_5 = 0;
2142 __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
2143 __pyx_v_username = Py_None; Py_INCREF(Py_None);
2144 __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
2145 __pyx_v_message = Py_None; Py_INCREF(Py_None);
2147 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":113
2149 * cdef connection.PurpleConnection *gc = \
2150 * account.purple_account_get_connection(c_account) # <<<<<<<<<<<<<<
2152 * debug.purple_debug_info("account", "%s", "request-add\n")
2154 __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
2156 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":115
2157 * account.purple_account_get_connection(c_account)
2159 * debug.purple_debug_info("account", "%s", "request-add\n") # <<<<<<<<<<<<<<
2163 purple_debug_info(__pyx_k_21, __pyx_k_22, __pyx_k_23);
2165 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":117
2166 * debug.purple_debug_info("account", "%s", "request-add\n")
2168 * if alias: # <<<<<<<<<<<<<<
2169 * remote_alias = <char *> alias
2172 __pyx_1 = (__pyx_v_alias != 0);
2175 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":118
2178 * remote_alias = <char *> alias # <<<<<<<<<<<<<<
2180 * remote_alias = None
2182 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2183 Py_DECREF(__pyx_v_remote_alias);
2184 __pyx_v_remote_alias = __pyx_2;
2190 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":120
2191 * remote_alias = <char *> alias
2193 * remote_alias = None # <<<<<<<<<<<<<<
2198 Py_DECREF(__pyx_v_remote_alias);
2199 __pyx_v_remote_alias = Py_None;
2203 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":122
2204 * remote_alias = None
2206 * if id: # <<<<<<<<<<<<<<
2207 * username = <char *> id
2208 * elif connection.purple_connection_get_display_name(gc) != NULL:
2210 __pyx_1 = (__pyx_v_id != 0);
2213 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":123
2216 * username = <char *> id # <<<<<<<<<<<<<<
2217 * elif connection.purple_connection_get_display_name(gc) != NULL:
2218 * username = connection.purple_connection_get_display_name(gc)
2220 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2221 Py_DECREF(__pyx_v_username);
2222 __pyx_v_username = __pyx_2;
2227 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":124
2229 * username = <char *> id
2230 * elif connection.purple_connection_get_display_name(gc) != NULL: # <<<<<<<<<<<<<<
2231 * username = connection.purple_connection_get_display_name(gc)
2234 __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
2237 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":125
2238 * username = <char *> id
2239 * elif connection.purple_connection_get_display_name(gc) != NULL:
2240 * username = connection.purple_connection_get_display_name(gc) # <<<<<<<<<<<<<<
2242 * username = account.purple_account_get_username(c_account)
2244 __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2245 Py_DECREF(__pyx_v_username);
2246 __pyx_v_username = __pyx_2;
2252 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":127
2253 * username = connection.purple_connection_get_display_name(gc)
2255 * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<<
2257 * protocol_id = account.purple_account_get_protocol_id(c_account)
2259 __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2260 Py_DECREF(__pyx_v_username);
2261 __pyx_v_username = __pyx_2;
2266 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":129
2267 * username = account.purple_account_get_username(c_account)
2269 * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<<
2273 __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2274 Py_DECREF(__pyx_v_protocol_id);
2275 __pyx_v_protocol_id = __pyx_2;
2278 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":131
2279 * protocol_id = account.purple_account_get_protocol_id(c_account)
2281 * if c_message: # <<<<<<<<<<<<<<
2282 * message = <char *> c_message
2285 __pyx_1 = (__pyx_v_c_message != 0);
2288 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":132
2291 * message = <char *> c_message # <<<<<<<<<<<<<<
2295 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2296 Py_DECREF(__pyx_v_message);
2297 __pyx_v_message = __pyx_2;
2303 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":134
2304 * message = <char *> c_message
2306 * message = None # <<<<<<<<<<<<<<
2308 * if account_cbs.has_key("request-add"):
2311 Py_DECREF(__pyx_v_message);
2312 __pyx_v_message = Py_None;
2316 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":136
2319 * if account_cbs.has_key("request-add"): # <<<<<<<<<<<<<<
2320 * (<object> account_cbs["request-add"])( \
2321 * (<char *> remote_user, remote_alias), \
2323 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2324 __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2325 Py_DECREF(__pyx_2); __pyx_2 = 0;
2326 __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2327 Py_INCREF(__pyx_kp_24);
2328 PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_24);
2329 __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2330 Py_DECREF(__pyx_3); __pyx_3 = 0;
2331 Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
2332 __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2333 Py_DECREF(__pyx_4); __pyx_4 = 0;
2336 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":137
2338 * if account_cbs.has_key("request-add"):
2339 * (<object> account_cbs["request-add"])( \ # <<<<<<<<<<<<<<
2340 * (<char *> remote_user, remote_alias), \
2341 * (username, protocol_id), message)
2343 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2344 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_25); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2345 Py_DECREF(__pyx_3); __pyx_3 = 0;
2347 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":138
2348 * if account_cbs.has_key("request-add"):
2349 * (<object> account_cbs["request-add"])( \
2350 * (<char *> remote_user, remote_alias), \ # <<<<<<<<<<<<<<
2351 * (username, protocol_id), message)
2354 __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2355 __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2356 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
2357 Py_INCREF(__pyx_v_remote_alias);
2358 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
2361 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":139
2362 * (<object> account_cbs["request-add"])( \
2363 * (<char *> remote_user, remote_alias), \
2364 * (username, protocol_id), message) # <<<<<<<<<<<<<<
2366 * cdef void *request_authorize(account.PurpleAccount *c_account, \
2368 __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2369 Py_INCREF(__pyx_v_username);
2370 PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
2371 Py_INCREF(__pyx_v_protocol_id);
2372 PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
2373 __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2374 PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3));
2375 PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4));
2376 Py_INCREF(__pyx_v_message);
2377 PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message);
2380 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2381 Py_DECREF(__pyx_2); __pyx_2 = 0;
2382 Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
2383 Py_DECREF(__pyx_3); __pyx_3 = 0;
2390 Py_XDECREF(__pyx_2);
2391 Py_XDECREF(__pyx_3);
2392 Py_XDECREF(__pyx_4);
2393 Py_XDECREF(__pyx_5);
2394 __Pyx_WriteUnraisable("purple.request_add");
2396 Py_DECREF(__pyx_v_remote_alias);
2397 Py_DECREF(__pyx_v_username);
2398 Py_DECREF(__pyx_v_protocol_id);
2399 Py_DECREF(__pyx_v_message);
2402 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":141
2403 * (username, protocol_id), message)
2405 * cdef void *request_authorize(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<<
2406 * const_char *remote_user, const_char *id, const_char *alias, \
2407 * const_char *c_message, glib.gboolean on_list, \
2410 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) {
2411 PurpleConnection *__pyx_v_gc;
2412 PyObject *__pyx_v_remote_alias;
2413 PyObject *__pyx_v_username;
2414 PyObject *__pyx_v_protocol_id;
2415 PyObject *__pyx_v_message;
2418 PyObject *__pyx_2 = 0;
2419 PyObject *__pyx_3 = 0;
2420 PyObject *__pyx_4 = 0;
2421 PyObject *__pyx_5 = 0;
2422 PyObject *__pyx_6 = 0;
2423 PyObject *__pyx_7 = 0;
2424 PyObject *__pyx_8 = 0;
2425 __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
2426 __pyx_v_username = Py_None; Py_INCREF(Py_None);
2427 __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
2428 __pyx_v_message = Py_None; Py_INCREF(Py_None);
2430 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":154
2432 * cdef connection.PurpleConnection *gc = \
2433 * account.purple_account_get_connection(c_account) # <<<<<<<<<<<<<<
2435 * debug.purple_debug_info("account", "%s", "request-authorize\n")
2437 __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
2439 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":156
2440 * account.purple_account_get_connection(c_account)
2442 * debug.purple_debug_info("account", "%s", "request-authorize\n") # <<<<<<<<<<<<<<
2444 * global c_request_authorize_authorize_cb
2446 purple_debug_info(__pyx_k_26, __pyx_k_27, __pyx_k_28);
2448 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":162
2449 * global c_request_authorize_user_data
2451 * c_request_authorize_authorize_cb = authorize_cb # <<<<<<<<<<<<<<
2452 * c_request_authorize_deny_cb = deny_cb
2453 * c_request_authorize_user_data = user_data
2455 __pyx_v_6purple_c_request_authorize_authorize_cb = __pyx_v_authorize_cb;
2457 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":163
2459 * c_request_authorize_authorize_cb = authorize_cb
2460 * c_request_authorize_deny_cb = deny_cb # <<<<<<<<<<<<<<
2461 * c_request_authorize_user_data = user_data
2464 __pyx_v_6purple_c_request_authorize_deny_cb = __pyx_v_deny_cb;
2466 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":164
2467 * c_request_authorize_authorize_cb = authorize_cb
2468 * c_request_authorize_deny_cb = deny_cb
2469 * c_request_authorize_user_data = user_data # <<<<<<<<<<<<<<
2473 __pyx_v_6purple_c_request_authorize_user_data = __pyx_v_user_data;
2475 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":166
2476 * c_request_authorize_user_data = user_data
2478 * if alias: # <<<<<<<<<<<<<<
2479 * remote_alias = <char *> alias
2482 __pyx_1 = (__pyx_v_alias != 0);
2485 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":167
2488 * remote_alias = <char *> alias # <<<<<<<<<<<<<<
2490 * remote_alias = None
2492 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2493 Py_DECREF(__pyx_v_remote_alias);
2494 __pyx_v_remote_alias = __pyx_2;
2500 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":169
2501 * remote_alias = <char *> alias
2503 * remote_alias = None # <<<<<<<<<<<<<<
2508 Py_DECREF(__pyx_v_remote_alias);
2509 __pyx_v_remote_alias = Py_None;
2513 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":171
2514 * remote_alias = None
2516 * if id: # <<<<<<<<<<<<<<
2517 * username = <char *> id
2518 * elif connection.purple_connection_get_display_name(gc) != NULL:
2520 __pyx_1 = (__pyx_v_id != 0);
2523 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":172
2526 * username = <char *> id # <<<<<<<<<<<<<<
2527 * elif connection.purple_connection_get_display_name(gc) != NULL:
2528 * username = connection.purple_connection_get_display_name(gc)
2530 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2531 Py_DECREF(__pyx_v_username);
2532 __pyx_v_username = __pyx_2;
2537 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":173
2539 * username = <char *> id
2540 * elif connection.purple_connection_get_display_name(gc) != NULL: # <<<<<<<<<<<<<<
2541 * username = connection.purple_connection_get_display_name(gc)
2544 __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
2547 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":174
2548 * username = <char *> id
2549 * elif connection.purple_connection_get_display_name(gc) != NULL:
2550 * username = connection.purple_connection_get_display_name(gc) # <<<<<<<<<<<<<<
2552 * username = account.purple_account_get_username(c_account)
2554 __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2555 Py_DECREF(__pyx_v_username);
2556 __pyx_v_username = __pyx_2;
2562 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":176
2563 * username = connection.purple_connection_get_display_name(gc)
2565 * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<<
2567 * protocol_id = account.purple_account_get_protocol_id(c_account)
2569 __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2570 Py_DECREF(__pyx_v_username);
2571 __pyx_v_username = __pyx_2;
2576 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":178
2577 * username = account.purple_account_get_username(c_account)
2579 * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<<
2583 __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2584 Py_DECREF(__pyx_v_protocol_id);
2585 __pyx_v_protocol_id = __pyx_2;
2588 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":180
2589 * protocol_id = account.purple_account_get_protocol_id(c_account)
2591 * if c_message: # <<<<<<<<<<<<<<
2592 * message = <char *> c_message
2595 __pyx_1 = (__pyx_v_c_message != 0);
2598 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":181
2601 * message = <char *> c_message # <<<<<<<<<<<<<<
2605 __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2606 Py_DECREF(__pyx_v_message);
2607 __pyx_v_message = __pyx_2;
2613 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":183
2614 * message = <char *> c_message
2616 * message = None # <<<<<<<<<<<<<<
2618 * if account_cbs.has_key("request-authorize"):
2621 Py_DECREF(__pyx_v_message);
2622 __pyx_v_message = Py_None;
2626 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":185
2629 * if account_cbs.has_key("request-authorize"): # <<<<<<<<<<<<<<
2630 * (<object> account_cbs["request-authorize"])( \
2631 * (<char *> remote_user, remote_alias), \
2633 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2634 __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2635 Py_DECREF(__pyx_2); __pyx_2 = 0;
2636 __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2637 Py_INCREF(__pyx_kp_29);
2638 PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_29);
2639 __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2640 Py_DECREF(__pyx_3); __pyx_3 = 0;
2641 Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
2642 __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2643 Py_DECREF(__pyx_4); __pyx_4 = 0;
2646 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":186
2648 * if account_cbs.has_key("request-authorize"):
2649 * (<object> account_cbs["request-authorize"])( \ # <<<<<<<<<<<<<<
2650 * (<char *> remote_user, remote_alias), \
2651 * (username, protocol_id), \
2653 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2654 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_30); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2655 Py_DECREF(__pyx_3); __pyx_3 = 0;
2657 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":187
2658 * if account_cbs.has_key("request-authorize"):
2659 * (<object> account_cbs["request-authorize"])( \
2660 * (<char *> remote_user, remote_alias), \ # <<<<<<<<<<<<<<
2661 * (username, protocol_id), \
2662 * message, on_list, \
2664 __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2665 __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2666 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
2667 Py_INCREF(__pyx_v_remote_alias);
2668 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
2671 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":188
2672 * (<object> account_cbs["request-authorize"])( \
2673 * (<char *> remote_user, remote_alias), \
2674 * (username, protocol_id), \ # <<<<<<<<<<<<<<
2675 * message, on_list, \
2676 * call_authorize_cb, call_deny_cb)
2678 __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2679 Py_INCREF(__pyx_v_username);
2680 PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
2681 Py_INCREF(__pyx_v_protocol_id);
2682 PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
2684 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":189
2685 * (<char *> remote_user, remote_alias), \
2686 * (username, protocol_id), \
2687 * message, on_list, \ # <<<<<<<<<<<<<<
2688 * call_authorize_cb, call_deny_cb)
2691 __pyx_5 = PyInt_FromLong(__pyx_v_on_list); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2693 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":190
2694 * (username, protocol_id), \
2695 * message, on_list, \
2696 * call_authorize_cb, call_deny_cb) # <<<<<<<<<<<<<<
2698 * cdef void close_account_request (void *ui_handle):
2700 __pyx_6 = __Pyx_GetName(__pyx_m, __pyx_kp_call_authorize_cb); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2701 __pyx_7 = __Pyx_GetName(__pyx_m, __pyx_kp_call_deny_cb); if (unlikely(!__pyx_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2702 __pyx_8 = PyTuple_New(6); if (unlikely(!__pyx_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2703 PyTuple_SET_ITEM(__pyx_8, 0, ((PyObject *)__pyx_3));
2704 PyTuple_SET_ITEM(__pyx_8, 1, ((PyObject *)__pyx_4));
2705 Py_INCREF(__pyx_v_message);
2706 PyTuple_SET_ITEM(__pyx_8, 2, __pyx_v_message);
2707 PyTuple_SET_ITEM(__pyx_8, 3, __pyx_5);
2708 PyTuple_SET_ITEM(__pyx_8, 4, __pyx_6);
2709 PyTuple_SET_ITEM(__pyx_8, 5, __pyx_7);
2715 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_8), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2716 Py_DECREF(__pyx_2); __pyx_2 = 0;
2717 Py_DECREF(((PyObject *)__pyx_8)); __pyx_8 = 0;
2718 Py_DECREF(__pyx_3); __pyx_3 = 0;
2726 Py_XDECREF(__pyx_2);
2727 Py_XDECREF(__pyx_3);
2728 Py_XDECREF(__pyx_4);
2729 Py_XDECREF(__pyx_5);
2730 Py_XDECREF(__pyx_6);
2731 Py_XDECREF(__pyx_7);
2732 Py_XDECREF(__pyx_8);
2733 __Pyx_WriteUnraisable("purple.request_authorize");
2736 Py_DECREF(__pyx_v_remote_alias);
2737 Py_DECREF(__pyx_v_username);
2738 Py_DECREF(__pyx_v_protocol_id);
2739 Py_DECREF(__pyx_v_message);
2743 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":192
2744 * call_authorize_cb, call_deny_cb)
2746 * cdef void close_account_request (void *ui_handle): # <<<<<<<<<<<<<<
2748 * Close a pending request for authorization. ui_handle is a handle as
2751 static void __pyx_f_6purple_close_account_request(void *__pyx_v_ui_handle) {
2752 PyObject *__pyx_1 = 0;
2753 PyObject *__pyx_2 = 0;
2754 PyObject *__pyx_3 = 0;
2757 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":197
2758 * returned by request_authorize.
2760 * debug.purple_debug_info("account", "%s", "close-account-request\n") # <<<<<<<<<<<<<<
2762 * request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)
2764 purple_debug_info(__pyx_k_31, __pyx_k_32, __pyx_k_33);
2766 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":199
2767 * debug.purple_debug_info("account", "%s", "close-account-request\n")
2769 * request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle) # <<<<<<<<<<<<<<
2771 * if account_cbs.has_key("close-account-request"):
2773 purple_request_close(PURPLE_REQUEST_ACTION, __pyx_v_ui_handle);
2775 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":201
2776 * request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)
2778 * if account_cbs.has_key("close-account-request"): # <<<<<<<<<<<<<<
2779 * (<object> account_cbs["close-account-request"])()
2781 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2782 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2783 Py_DECREF(__pyx_1); __pyx_1 = 0;
2784 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2785 Py_INCREF(__pyx_kp_34);
2786 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_34);
2787 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2788 Py_DECREF(__pyx_2); __pyx_2 = 0;
2789 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
2790 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2791 Py_DECREF(__pyx_3); __pyx_3 = 0;
2794 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/account_cbs.pxd":202
2796 * if account_cbs.has_key("close-account-request"):
2797 * (<object> account_cbs["close-account-request"])() # <<<<<<<<<<<<<<
2799 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2800 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_35); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2801 Py_DECREF(__pyx_2); __pyx_2 = 0;
2802 __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2803 Py_DECREF(__pyx_1); __pyx_1 = 0;
2804 Py_DECREF(__pyx_3); __pyx_3 = 0;
2811 Py_XDECREF(__pyx_1);
2812 Py_XDECREF(__pyx_2);
2813 Py_XDECREF(__pyx_3);
2814 __Pyx_WriteUnraisable("purple.close_account_request");
2818 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":27
2821 * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<<
2822 * cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
2823 * cdef char *c_name = NULL
2826 static void __pyx_f_6purple___group_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2827 PurpleGroup *__pyx_v_group;
2828 char *__pyx_v_c_name;
2829 PyObject *__pyx_v_name;
2830 PyObject *__pyx_v_currentsize;
2831 PyObject *__pyx_v_totalsize;
2832 PyObject *__pyx_v_online;
2834 PyObject *__pyx_2 = 0;
2835 PyObject *__pyx_3 = 0;
2836 __pyx_v_name = Py_None; Py_INCREF(Py_None);
2837 __pyx_v_currentsize = Py_None; Py_INCREF(Py_None);
2838 __pyx_v_totalsize = Py_None; Py_INCREF(Py_None);
2839 __pyx_v_online = Py_None; Py_INCREF(Py_None);
2841 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":28
2843 * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
2844 * cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node # <<<<<<<<<<<<<<
2845 * cdef char *c_name = NULL
2848 __pyx_v_group = ((PurpleGroup *)__pyx_v_node);
2850 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":29
2851 * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
2852 * cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
2853 * cdef char *c_name = NULL # <<<<<<<<<<<<<<
2855 * c_name = <char *> blist.purple_group_get_name(group)
2857 __pyx_v_c_name = NULL;
2859 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":31
2860 * cdef char *c_name = NULL
2862 * c_name = <char *> blist.purple_group_get_name(group) # <<<<<<<<<<<<<<
2863 * if c_name == NULL:
2866 __pyx_v_c_name = ((char *)purple_group_get_name(__pyx_v_group));
2868 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":32
2870 * c_name = <char *> blist.purple_group_get_name(group)
2871 * if c_name == NULL: # <<<<<<<<<<<<<<
2875 __pyx_1 = (__pyx_v_c_name == NULL);
2878 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":33
2879 * c_name = <char *> blist.purple_group_get_name(group)
2880 * if c_name == NULL:
2881 * name = None # <<<<<<<<<<<<<<
2886 Py_DECREF(__pyx_v_name);
2887 __pyx_v_name = Py_None;
2892 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":35
2895 * name = c_name # <<<<<<<<<<<<<<
2897 * currentsize = blist.purple_blist_get_group_size(group, False)
2899 __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2900 Py_DECREF(__pyx_v_name);
2901 __pyx_v_name = __pyx_2;
2906 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":37
2909 * currentsize = blist.purple_blist_get_group_size(group, False) # <<<<<<<<<<<<<<
2910 * totalsize = blist.purple_blist_get_group_size(group, True)
2911 * online = blist.purple_blist_get_group_online_count(group)
2913 __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 0)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2914 Py_DECREF(__pyx_v_currentsize);
2915 __pyx_v_currentsize = __pyx_2;
2918 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":38
2920 * currentsize = blist.purple_blist_get_group_size(group, False)
2921 * totalsize = blist.purple_blist_get_group_size(group, True) # <<<<<<<<<<<<<<
2922 * online = blist.purple_blist_get_group_online_count(group)
2925 __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 1)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2926 Py_DECREF(__pyx_v_totalsize);
2927 __pyx_v_totalsize = __pyx_2;
2930 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":39
2931 * currentsize = blist.purple_blist_get_group_size(group, False)
2932 * totalsize = blist.purple_blist_get_group_size(group, True)
2933 * online = blist.purple_blist_get_group_online_count(group) # <<<<<<<<<<<<<<
2935 * callback(node.type, name, totalsize, currentsize, online)
2937 __pyx_2 = PyInt_FromLong(purple_blist_get_group_online_count(__pyx_v_group)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2938 Py_DECREF(__pyx_v_online);
2939 __pyx_v_online = __pyx_2;
2942 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":41
2943 * online = blist.purple_blist_get_group_online_count(group)
2945 * callback(node.type, name, totalsize, currentsize, online) # <<<<<<<<<<<<<<
2947 * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
2949 __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2950 __pyx_3 = PyTuple_New(5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2951 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
2952 Py_INCREF(__pyx_v_name);
2953 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
2954 Py_INCREF(__pyx_v_totalsize);
2955 PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_totalsize);
2956 Py_INCREF(__pyx_v_currentsize);
2957 PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_currentsize);
2958 Py_INCREF(__pyx_v_online);
2959 PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_online);
2961 __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2962 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
2963 Py_DECREF(__pyx_2); __pyx_2 = 0;
2967 Py_XDECREF(__pyx_2);
2968 Py_XDECREF(__pyx_3);
2969 __Pyx_WriteUnraisable("purple.__group_node_cb");
2971 Py_DECREF(__pyx_v_name);
2972 Py_DECREF(__pyx_v_currentsize);
2973 Py_DECREF(__pyx_v_totalsize);
2974 Py_DECREF(__pyx_v_online);
2977 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":43
2978 * callback(node.type, name, totalsize, currentsize, online)
2980 * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<<
2981 * cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
2982 * cdef char *c_alias = NULL
2985 static void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2986 PurpleContact *__pyx_v_contact;
2987 char *__pyx_v_c_alias;
2988 PyObject *__pyx_v_alias;
2990 PyObject *__pyx_2 = 0;
2991 PyObject *__pyx_3 = 0;
2992 PyObject *__pyx_4 = 0;
2993 PyObject *__pyx_5 = 0;
2994 PyObject *__pyx_6 = 0;
2995 __pyx_v_alias = Py_None; Py_INCREF(Py_None);
2997 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":44
2999 * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
3000 * cdef blist.PurpleContact *contact = <blist.PurpleContact *>node # <<<<<<<<<<<<<<
3001 * cdef char *c_alias = NULL
3004 __pyx_v_contact = ((PurpleContact *)__pyx_v_node);
3006 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":45
3007 * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
3008 * cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
3009 * cdef char *c_alias = NULL # <<<<<<<<<<<<<<
3011 * c_alias = <char *> blist.purple_contact_get_alias(contact)
3013 __pyx_v_c_alias = NULL;
3015 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":47
3016 * cdef char *c_alias = NULL
3018 * c_alias = <char *> blist.purple_contact_get_alias(contact) # <<<<<<<<<<<<<<
3019 * if c_alias == NULL:
3022 __pyx_v_c_alias = ((char *)purple_contact_get_alias(__pyx_v_contact));
3024 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":48
3026 * c_alias = <char *> blist.purple_contact_get_alias(contact)
3027 * if c_alias == NULL: # <<<<<<<<<<<<<<
3031 __pyx_1 = (__pyx_v_c_alias == NULL);
3034 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":49
3035 * c_alias = <char *> blist.purple_contact_get_alias(contact)
3036 * if c_alias == NULL:
3037 * alias = None # <<<<<<<<<<<<<<
3042 Py_DECREF(__pyx_v_alias);
3043 __pyx_v_alias = Py_None;
3048 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":51
3051 * alias = c_alias # <<<<<<<<<<<<<<
3053 * callback(node.type, alias, contact.totalsize, contact.currentsize, \
3055 __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3056 Py_DECREF(__pyx_v_alias);
3057 __pyx_v_alias = __pyx_2;
3062 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":53
3065 * callback(node.type, alias, contact.totalsize, contact.currentsize, \ # <<<<<<<<<<<<<<
3069 __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3070 __pyx_3 = PyInt_FromLong(__pyx_v_contact->totalsize); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3071 __pyx_4 = PyInt_FromLong(__pyx_v_contact->currentsize); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3073 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":54
3075 * callback(node.type, alias, contact.totalsize, contact.currentsize, \
3076 * contact.online) # <<<<<<<<<<<<<<
3078 * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
3080 __pyx_5 = PyInt_FromLong(__pyx_v_contact->online); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3081 __pyx_6 = PyTuple_New(5); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3082 PyTuple_SET_ITEM(__pyx_6, 0, __pyx_2);
3083 Py_INCREF(__pyx_v_alias);
3084 PyTuple_SET_ITEM(__pyx_6, 1, __pyx_v_alias);
3085 PyTuple_SET_ITEM(__pyx_6, 2, __pyx_3);
3086 PyTuple_SET_ITEM(__pyx_6, 3, __pyx_4);
3087 PyTuple_SET_ITEM(__pyx_6, 4, __pyx_5);
3092 __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3093 Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0;
3094 Py_DECREF(__pyx_2); __pyx_2 = 0;
3098 Py_XDECREF(__pyx_2);
3099 Py_XDECREF(__pyx_3);
3100 Py_XDECREF(__pyx_4);
3101 Py_XDECREF(__pyx_5);
3102 Py_XDECREF(__pyx_6);
3103 __Pyx_WriteUnraisable("purple.__contact_node_cb");
3105 Py_DECREF(__pyx_v_alias);
3108 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":56
3111 * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<<
3112 * cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
3113 * cdef char *c_name = NULL
3116 static void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
3117 PurpleBuddy *__pyx_v_buddy;
3118 char *__pyx_v_c_name;
3119 char *__pyx_v_c_alias;
3120 PyObject *__pyx_v_name;
3121 PyObject *__pyx_v_alias;
3123 PyObject *__pyx_2 = 0;
3124 PyObject *__pyx_3 = 0;
3125 __pyx_v_name = Py_None; Py_INCREF(Py_None);
3126 __pyx_v_alias = Py_None; Py_INCREF(Py_None);
3128 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":57
3130 * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
3131 * cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node # <<<<<<<<<<<<<<
3132 * cdef char *c_name = NULL
3133 * cdef char *c_alias = NULL
3135 __pyx_v_buddy = ((PurpleBuddy *)__pyx_v_node);
3137 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":58
3138 * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
3139 * cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
3140 * cdef char *c_name = NULL # <<<<<<<<<<<<<<
3141 * cdef char *c_alias = NULL
3144 __pyx_v_c_name = NULL;
3146 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":59
3147 * cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
3148 * cdef char *c_name = NULL
3149 * cdef char *c_alias = NULL # <<<<<<<<<<<<<<
3151 * c_name = <char *> blist.purple_buddy_get_name(buddy)
3153 __pyx_v_c_alias = NULL;
3155 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":61
3156 * cdef char *c_alias = NULL
3158 * c_name = <char *> blist.purple_buddy_get_name(buddy) # <<<<<<<<<<<<<<
3159 * if c_name == NULL:
3162 __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
3164 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":62
3166 * c_name = <char *> blist.purple_buddy_get_name(buddy)
3167 * if c_name == NULL: # <<<<<<<<<<<<<<
3171 __pyx_1 = (__pyx_v_c_name == NULL);
3174 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":63
3175 * c_name = <char *> blist.purple_buddy_get_name(buddy)
3176 * if c_name == NULL:
3177 * name = None # <<<<<<<<<<<<<<
3182 Py_DECREF(__pyx_v_name);
3183 __pyx_v_name = Py_None;
3188 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":65
3191 * name = c_name # <<<<<<<<<<<<<<
3193 * c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
3195 __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3196 Py_DECREF(__pyx_v_name);
3197 __pyx_v_name = __pyx_2;
3202 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":67
3205 * c_alias = <char *> blist.purple_buddy_get_alias_only(buddy) # <<<<<<<<<<<<<<
3206 * if c_alias == NULL:
3209 __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
3211 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":68
3213 * c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
3214 * if c_alias == NULL: # <<<<<<<<<<<<<<
3218 __pyx_1 = (__pyx_v_c_alias == NULL);
3221 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":69
3222 * c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
3223 * if c_alias == NULL:
3224 * alias = None # <<<<<<<<<<<<<<
3229 Py_DECREF(__pyx_v_alias);
3230 __pyx_v_alias = Py_None;
3235 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":71
3238 * alias = c_alias # <<<<<<<<<<<<<<
3240 * callback(node.type, name, alias)
3242 __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3243 Py_DECREF(__pyx_v_alias);
3244 __pyx_v_alias = __pyx_2;
3249 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":73
3252 * callback(node.type, name, alias) # <<<<<<<<<<<<<<
3254 * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
3256 __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3257 __pyx_3 = PyTuple_New(3); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3258 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
3259 Py_INCREF(__pyx_v_name);
3260 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
3261 Py_INCREF(__pyx_v_alias);
3262 PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_alias);
3264 __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3265 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3266 Py_DECREF(__pyx_2); __pyx_2 = 0;
3270 Py_XDECREF(__pyx_2);
3271 Py_XDECREF(__pyx_3);
3272 __Pyx_WriteUnraisable("purple.__buddy_node_cb");
3274 Py_DECREF(__pyx_v_name);
3275 Py_DECREF(__pyx_v_alias);
3278 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":75
3279 * callback(node.type, name, alias)
3281 * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<<
3282 * cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
3283 * cdef char *c_name = NULL
3286 static void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
3287 PurpleChat *__pyx_v_chat;
3288 char *__pyx_v_c_name;
3289 PyObject *__pyx_v_name;
3291 PyObject *__pyx_2 = 0;
3292 PyObject *__pyx_3 = 0;
3293 __pyx_v_name = Py_None; Py_INCREF(Py_None);
3295 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":76
3297 * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
3298 * cdef blist.PurpleChat *chat = <blist.PurpleChat *>node # <<<<<<<<<<<<<<
3299 * cdef char *c_name = NULL
3302 __pyx_v_chat = ((PurpleChat *)__pyx_v_node);
3304 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":77
3305 * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
3306 * cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
3307 * cdef char *c_name = NULL # <<<<<<<<<<<<<<
3309 * c_name = <char *> blist.purple_chat_get_name(chat)
3311 __pyx_v_c_name = NULL;
3313 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":79
3314 * cdef char *c_name = NULL
3316 * c_name = <char *> blist.purple_chat_get_name(chat) # <<<<<<<<<<<<<<
3317 * if c_name == NULL:
3320 __pyx_v_c_name = ((char *)purple_chat_get_name(__pyx_v_chat));
3322 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":80
3324 * c_name = <char *> blist.purple_chat_get_name(chat)
3325 * if c_name == NULL: # <<<<<<<<<<<<<<
3329 __pyx_1 = (__pyx_v_c_name == NULL);
3332 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":81
3333 * c_name = <char *> blist.purple_chat_get_name(chat)
3334 * if c_name == NULL:
3335 * name = None # <<<<<<<<<<<<<<
3340 Py_DECREF(__pyx_v_name);
3341 __pyx_v_name = Py_None;
3346 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":83
3349 * name = c_name # <<<<<<<<<<<<<<
3351 * callback(node.type, name)
3353 __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3354 Py_DECREF(__pyx_v_name);
3355 __pyx_v_name = __pyx_2;
3360 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":85
3363 * callback(node.type, name) # <<<<<<<<<<<<<<
3365 * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
3367 __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3368 __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3369 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
3370 Py_INCREF(__pyx_v_name);
3371 PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
3373 __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3374 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3375 Py_DECREF(__pyx_2); __pyx_2 = 0;
3379 Py_XDECREF(__pyx_2);
3380 Py_XDECREF(__pyx_3);
3381 __Pyx_WriteUnraisable("purple.__chat_node_cb");
3383 Py_DECREF(__pyx_v_name);
3386 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":87
3387 * callback(node.type, name)
3389 * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback): # <<<<<<<<<<<<<<
3390 * callback(node.type)
3394 static void __pyx_f_6purple___other_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
3395 PyObject *__pyx_1 = 0;
3396 PyObject *__pyx_2 = 0;
3398 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":88
3400 * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
3401 * callback(node.type) # <<<<<<<<<<<<<<
3403 * cdef void new_list(blist.PurpleBuddyList *list):
3405 __pyx_1 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3406 __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3407 PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
3409 __pyx_1 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3410 Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
3411 Py_DECREF(__pyx_1); __pyx_1 = 0;
3415 Py_XDECREF(__pyx_1);
3416 Py_XDECREF(__pyx_2);
3417 __Pyx_WriteUnraisable("purple.__other_node_cb");
3421 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":90
3422 * callback(node.type)
3424 * cdef void new_list(blist.PurpleBuddyList *list): # <<<<<<<<<<<<<<
3426 * Sets UI-specific data on a buddy list.
3429 static void __pyx_f_6purple_new_list(PurpleBuddyList *__pyx_v_list) {
3430 PyObject *__pyx_1 = 0;
3431 PyObject *__pyx_2 = 0;
3432 PyObject *__pyx_3 = 0;
3435 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":94
3436 * Sets UI-specific data on a buddy list.
3438 * debug.purple_debug_info("blist", "%s", "new-list\n") # <<<<<<<<<<<<<<
3439 * if blist_cbs.has_key("new-list"):
3440 * (<object> blist_cbs["new-list"])("new-list: TODO")
3442 purple_debug_info(__pyx_k_36, __pyx_k_37, __pyx_k_38);
3444 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":95
3446 * debug.purple_debug_info("blist", "%s", "new-list\n")
3447 * if blist_cbs.has_key("new-list"): # <<<<<<<<<<<<<<
3448 * (<object> blist_cbs["new-list"])("new-list: TODO")
3451 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3452 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3453 Py_DECREF(__pyx_1); __pyx_1 = 0;
3454 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3455 Py_INCREF(__pyx_kp_39);
3456 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_39);
3457 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3458 Py_DECREF(__pyx_2); __pyx_2 = 0;
3459 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3460 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3461 Py_DECREF(__pyx_3); __pyx_3 = 0;
3464 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":96
3465 * debug.purple_debug_info("blist", "%s", "new-list\n")
3466 * if blist_cbs.has_key("new-list"):
3467 * (<object> blist_cbs["new-list"])("new-list: TODO") # <<<<<<<<<<<<<<
3469 * cdef void new_node(blist.PurpleBlistNode *node):
3471 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3472 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_40); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3473 Py_DECREF(__pyx_2); __pyx_2 = 0;
3474 __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3475 Py_INCREF(__pyx_kp_41);
3476 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_41);
3477 __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3478 Py_DECREF(__pyx_1); __pyx_1 = 0;
3479 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3480 Py_DECREF(__pyx_2); __pyx_2 = 0;
3487 Py_XDECREF(__pyx_1);
3488 Py_XDECREF(__pyx_2);
3489 Py_XDECREF(__pyx_3);
3490 __Pyx_WriteUnraisable("purple.new_list");
3494 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":98
3495 * (<object> blist_cbs["new-list"])("new-list: TODO")
3497 * cdef void new_node(blist.PurpleBlistNode *node): # <<<<<<<<<<<<<<
3499 * Sets UI-specific data on a node.
3502 static void __pyx_f_6purple_new_node(PurpleBlistNode *__pyx_v_node) {
3503 PyObject *__pyx_1 = 0;
3504 PyObject *__pyx_2 = 0;
3505 PyObject *__pyx_3 = 0;
3508 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":102
3509 * Sets UI-specific data on a node.
3511 * debug.purple_debug_info("blist", "%s", "new-node\n") # <<<<<<<<<<<<<<
3512 * if blist_cbs.has_key("new-node"):
3513 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3515 purple_debug_info(__pyx_k_42, __pyx_k_43, __pyx_k_44);
3517 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":103
3519 * debug.purple_debug_info("blist", "%s", "new-node\n")
3520 * if blist_cbs.has_key("new-node"): # <<<<<<<<<<<<<<
3521 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3522 * __group_node_cb(node, blist_cbs["new-node"])
3524 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3525 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3526 Py_DECREF(__pyx_1); __pyx_1 = 0;
3527 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3528 Py_INCREF(__pyx_kp_45);
3529 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_45);
3530 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3531 Py_DECREF(__pyx_2); __pyx_2 = 0;
3532 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3533 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3534 Py_DECREF(__pyx_3); __pyx_3 = 0;
3537 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":104
3538 * debug.purple_debug_info("blist", "%s", "new-node\n")
3539 * if blist_cbs.has_key("new-node"):
3540 * if node.type == blist.PURPLE_BLIST_GROUP_NODE: # <<<<<<<<<<<<<<
3541 * __group_node_cb(node, blist_cbs["new-node"])
3542 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3544 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
3547 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":105
3548 * if blist_cbs.has_key("new-node"):
3549 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3550 * __group_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<<
3551 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3552 * __contact_node_cb(node, blist_cbs["new-node"])
3554 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3555 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_46); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3556 Py_DECREF(__pyx_2); __pyx_2 = 0;
3557 __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
3558 Py_DECREF(__pyx_1); __pyx_1 = 0;
3562 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":106
3563 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3564 * __group_node_cb(node, blist_cbs["new-node"])
3565 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: # <<<<<<<<<<<<<<
3566 * __contact_node_cb(node, blist_cbs["new-node"])
3567 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3569 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
3572 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":107
3573 * __group_node_cb(node, blist_cbs["new-node"])
3574 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3575 * __contact_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<<
3576 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3577 * __buddy_node_cb(node, blist_cbs["new-node"])
3579 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3580 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_47); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3581 Py_DECREF(__pyx_3); __pyx_3 = 0;
3582 __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
3583 Py_DECREF(__pyx_2); __pyx_2 = 0;
3587 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":108
3588 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3589 * __contact_node_cb(node, blist_cbs["new-node"])
3590 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: # <<<<<<<<<<<<<<
3591 * __buddy_node_cb(node, blist_cbs["new-node"])
3592 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3594 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
3597 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":109
3598 * __contact_node_cb(node, blist_cbs["new-node"])
3599 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3600 * __buddy_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<<
3601 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3602 * __chat_node_cb(node, blist_cbs["new-node"])
3604 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3605 __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_48); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3606 Py_DECREF(__pyx_1); __pyx_1 = 0;
3607 __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
3608 Py_DECREF(__pyx_3); __pyx_3 = 0;
3612 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":110
3613 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3614 * __buddy_node_cb(node, blist_cbs["new-node"])
3615 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: # <<<<<<<<<<<<<<
3616 * __chat_node_cb(node, blist_cbs["new-node"])
3617 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3619 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
3622 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":111
3623 * __buddy_node_cb(node, blist_cbs["new-node"])
3624 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3625 * __chat_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<<
3626 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3627 * __other_node_cb(node, blist_cbs["new-node"])
3629 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3630 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_49); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3631 Py_DECREF(__pyx_2); __pyx_2 = 0;
3632 __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
3633 Py_DECREF(__pyx_1); __pyx_1 = 0;
3637 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":112
3638 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3639 * __chat_node_cb(node, blist_cbs["new-node"])
3640 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: # <<<<<<<<<<<<<<
3641 * __other_node_cb(node, blist_cbs["new-node"])
3644 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
3647 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":113
3648 * __chat_node_cb(node, blist_cbs["new-node"])
3649 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3650 * __other_node_cb(node, blist_cbs["new-node"]) # <<<<<<<<<<<<<<
3652 * cdef void show(blist.PurpleBuddyList *list):
3654 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3655 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_50); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3656 Py_DECREF(__pyx_3); __pyx_3 = 0;
3657 __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
3658 Py_DECREF(__pyx_2); __pyx_2 = 0;
3668 Py_XDECREF(__pyx_1);
3669 Py_XDECREF(__pyx_2);
3670 Py_XDECREF(__pyx_3);
3671 __Pyx_WriteUnraisable("purple.new_node");
3675 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":115
3676 * __other_node_cb(node, blist_cbs["new-node"])
3678 * cdef void show(blist.PurpleBuddyList *list): # <<<<<<<<<<<<<<
3680 * The core will call this when it's finished doing its core stuff.
3683 static void __pyx_f_6purple_show(PurpleBuddyList *__pyx_v_list) {
3684 PyObject *__pyx_1 = 0;
3685 PyObject *__pyx_2 = 0;
3686 PyObject *__pyx_3 = 0;
3689 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":119
3690 * The core will call this when it's finished doing its core stuff.
3692 * debug.purple_debug_info("blist", "%s", "show\n") # <<<<<<<<<<<<<<
3693 * if blist_cbs.has_key("show"):
3694 * (<object> blist_cbs["show"])("show: TODO")
3696 purple_debug_info(__pyx_k_51, __pyx_k_52, __pyx_k_53);
3698 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":120
3700 * debug.purple_debug_info("blist", "%s", "show\n")
3701 * if blist_cbs.has_key("show"): # <<<<<<<<<<<<<<
3702 * (<object> blist_cbs["show"])("show: TODO")
3705 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3706 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3707 Py_DECREF(__pyx_1); __pyx_1 = 0;
3708 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3709 Py_INCREF(__pyx_kp_54);
3710 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_54);
3711 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3712 Py_DECREF(__pyx_2); __pyx_2 = 0;
3713 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3714 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3715 Py_DECREF(__pyx_3); __pyx_3 = 0;
3718 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":121
3719 * debug.purple_debug_info("blist", "%s", "show\n")
3720 * if blist_cbs.has_key("show"):
3721 * (<object> blist_cbs["show"])("show: TODO") # <<<<<<<<<<<<<<
3723 * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):
3725 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3726 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_55); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3727 Py_DECREF(__pyx_2); __pyx_2 = 0;
3728 __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3729 Py_INCREF(__pyx_kp_56);
3730 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_56);
3731 __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3732 Py_DECREF(__pyx_1); __pyx_1 = 0;
3733 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3734 Py_DECREF(__pyx_2); __pyx_2 = 0;
3741 Py_XDECREF(__pyx_1);
3742 Py_XDECREF(__pyx_2);
3743 Py_XDECREF(__pyx_3);
3744 __Pyx_WriteUnraisable("purple.show");
3748 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":123
3749 * (<object> blist_cbs["show"])("show: TODO")
3751 * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): # <<<<<<<<<<<<<<
3753 * This will update a node in the buddy list.
3756 static void __pyx_f_6purple_update(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) {
3757 PyObject *__pyx_1 = 0;
3758 PyObject *__pyx_2 = 0;
3759 PyObject *__pyx_3 = 0;
3762 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":127
3763 * This will update a node in the buddy list.
3765 * debug.purple_debug_info("blist", "%s", "update\n") # <<<<<<<<<<<<<<
3766 * if blist_cbs.has_key("update"):
3767 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3769 purple_debug_info(__pyx_k_57, __pyx_k_58, __pyx_k_59);
3771 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":128
3773 * debug.purple_debug_info("blist", "%s", "update\n")
3774 * if blist_cbs.has_key("update"): # <<<<<<<<<<<<<<
3775 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3776 * __group_node_cb(node, blist_cbs["update"])
3778 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3779 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3780 Py_DECREF(__pyx_1); __pyx_1 = 0;
3781 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3782 Py_INCREF(__pyx_kp_60);
3783 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_60);
3784 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3785 Py_DECREF(__pyx_2); __pyx_2 = 0;
3786 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3787 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3788 Py_DECREF(__pyx_3); __pyx_3 = 0;
3791 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":129
3792 * debug.purple_debug_info("blist", "%s", "update\n")
3793 * if blist_cbs.has_key("update"):
3794 * if node.type == blist.PURPLE_BLIST_GROUP_NODE: # <<<<<<<<<<<<<<
3795 * __group_node_cb(node, blist_cbs["update"])
3796 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3798 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
3801 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":130
3802 * if blist_cbs.has_key("update"):
3803 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3804 * __group_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<<
3805 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3806 * __contact_node_cb(node, blist_cbs["update"])
3808 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3809 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_61); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3810 Py_DECREF(__pyx_2); __pyx_2 = 0;
3811 __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
3812 Py_DECREF(__pyx_1); __pyx_1 = 0;
3816 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":131
3817 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3818 * __group_node_cb(node, blist_cbs["update"])
3819 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: # <<<<<<<<<<<<<<
3820 * __contact_node_cb(node, blist_cbs["update"])
3821 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3823 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
3826 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":132
3827 * __group_node_cb(node, blist_cbs["update"])
3828 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3829 * __contact_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<<
3830 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3831 * __buddy_node_cb(node, blist_cbs["update"])
3833 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3834 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_62); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3835 Py_DECREF(__pyx_3); __pyx_3 = 0;
3836 __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
3837 Py_DECREF(__pyx_2); __pyx_2 = 0;
3841 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":133
3842 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3843 * __contact_node_cb(node, blist_cbs["update"])
3844 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: # <<<<<<<<<<<<<<
3845 * __buddy_node_cb(node, blist_cbs["update"])
3846 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3848 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
3851 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":134
3852 * __contact_node_cb(node, blist_cbs["update"])
3853 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3854 * __buddy_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<<
3855 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3856 * __chat_node_cb(node, blist_cbs["update"])
3858 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3859 __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_63); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3860 Py_DECREF(__pyx_1); __pyx_1 = 0;
3861 __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
3862 Py_DECREF(__pyx_3); __pyx_3 = 0;
3866 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":135
3867 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3868 * __buddy_node_cb(node, blist_cbs["update"])
3869 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: # <<<<<<<<<<<<<<
3870 * __chat_node_cb(node, blist_cbs["update"])
3871 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3873 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
3876 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":136
3877 * __buddy_node_cb(node, blist_cbs["update"])
3878 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3879 * __chat_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<<
3880 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3881 * __other_node_cb(node, blist_cbs["update"])
3883 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3884 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_64); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3885 Py_DECREF(__pyx_2); __pyx_2 = 0;
3886 __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
3887 Py_DECREF(__pyx_1); __pyx_1 = 0;
3891 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":137
3892 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3893 * __chat_node_cb(node, blist_cbs["update"])
3894 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: # <<<<<<<<<<<<<<
3895 * __other_node_cb(node, blist_cbs["update"])
3898 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
3901 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":138
3902 * __chat_node_cb(node, blist_cbs["update"])
3903 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3904 * __other_node_cb(node, blist_cbs["update"]) # <<<<<<<<<<<<<<
3906 * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):
3908 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3909 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_65); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3910 Py_DECREF(__pyx_3); __pyx_3 = 0;
3911 __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
3912 Py_DECREF(__pyx_2); __pyx_2 = 0;
3922 Py_XDECREF(__pyx_1);
3923 Py_XDECREF(__pyx_2);
3924 Py_XDECREF(__pyx_3);
3925 __Pyx_WriteUnraisable("purple.update");
3929 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":140
3930 * __other_node_cb(node, blist_cbs["update"])
3932 * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node): # <<<<<<<<<<<<<<
3934 * This removes a node from the list.
3937 static void __pyx_f_6purple_remove(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) {
3938 PyObject *__pyx_1 = 0;
3939 PyObject *__pyx_2 = 0;
3940 PyObject *__pyx_3 = 0;
3943 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":144
3944 * This removes a node from the list.
3946 * debug.purple_debug_info("blist", "%s", "remove\n") # <<<<<<<<<<<<<<
3947 * if blist_cbs.has_key("remove"):
3948 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3950 purple_debug_info(__pyx_k_66, __pyx_k_67, __pyx_k_68);
3952 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":145
3954 * debug.purple_debug_info("blist", "%s", "remove\n")
3955 * if blist_cbs.has_key("remove"): # <<<<<<<<<<<<<<
3956 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3957 * __group_node_cb(node, blist_cbs["remove"])
3959 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3960 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3961 Py_DECREF(__pyx_1); __pyx_1 = 0;
3962 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3963 Py_INCREF(__pyx_kp_69);
3964 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_69);
3965 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3966 Py_DECREF(__pyx_2); __pyx_2 = 0;
3967 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3968 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3969 Py_DECREF(__pyx_3); __pyx_3 = 0;
3972 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":146
3973 * debug.purple_debug_info("blist", "%s", "remove\n")
3974 * if blist_cbs.has_key("remove"):
3975 * if node.type == blist.PURPLE_BLIST_GROUP_NODE: # <<<<<<<<<<<<<<
3976 * __group_node_cb(node, blist_cbs["remove"])
3977 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3979 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
3982 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":147
3983 * if blist_cbs.has_key("remove"):
3984 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3985 * __group_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<<
3986 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3987 * __contact_node_cb(node, blist_cbs["remove"])
3989 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3990 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_70); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3991 Py_DECREF(__pyx_2); __pyx_2 = 0;
3992 __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
3993 Py_DECREF(__pyx_1); __pyx_1 = 0;
3997 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":148
3998 * if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3999 * __group_node_cb(node, blist_cbs["remove"])
4000 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE: # <<<<<<<<<<<<<<
4001 * __contact_node_cb(node, blist_cbs["remove"])
4002 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
4004 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
4007 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":149
4008 * __group_node_cb(node, blist_cbs["remove"])
4009 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
4010 * __contact_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<<
4011 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
4012 * __buddy_node_cb(node, blist_cbs["remove"])
4014 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4015 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_71); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4016 Py_DECREF(__pyx_3); __pyx_3 = 0;
4017 __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
4018 Py_DECREF(__pyx_2); __pyx_2 = 0;
4022 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":150
4023 * elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
4024 * __contact_node_cb(node, blist_cbs["remove"])
4025 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE: # <<<<<<<<<<<<<<
4026 * __buddy_node_cb(node, blist_cbs["remove"])
4027 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
4029 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
4032 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":151
4033 * __contact_node_cb(node, blist_cbs["remove"])
4034 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
4035 * __buddy_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<<
4036 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
4037 * __chat_node_cb(node, blist_cbs["remove"])
4039 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4040 __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_72); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4041 Py_DECREF(__pyx_1); __pyx_1 = 0;
4042 __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
4043 Py_DECREF(__pyx_3); __pyx_3 = 0;
4047 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":152
4048 * elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
4049 * __buddy_node_cb(node, blist_cbs["remove"])
4050 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE: # <<<<<<<<<<<<<<
4051 * __chat_node_cb(node, blist_cbs["remove"])
4052 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
4054 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
4057 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":153
4058 * __buddy_node_cb(node, blist_cbs["remove"])
4059 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
4060 * __chat_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<<
4061 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
4062 * __other_node_cb(node, blist_cbs["remove"])
4064 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4065 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_73); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4066 Py_DECREF(__pyx_2); __pyx_2 = 0;
4067 __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
4068 Py_DECREF(__pyx_1); __pyx_1 = 0;
4072 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":154
4073 * elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
4074 * __chat_node_cb(node, blist_cbs["remove"])
4075 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE: # <<<<<<<<<<<<<<
4076 * __other_node_cb(node, blist_cbs["remove"])
4079 __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
4082 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":155
4083 * __chat_node_cb(node, blist_cbs["remove"])
4084 * elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
4085 * __other_node_cb(node, blist_cbs["remove"]) # <<<<<<<<<<<<<<
4087 * cdef void destroy(blist.PurpleBuddyList *list):
4089 __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4090 __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_74); if (!__pyx_2) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4091 Py_DECREF(__pyx_3); __pyx_3 = 0;
4092 __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
4093 Py_DECREF(__pyx_2); __pyx_2 = 0;
4103 Py_XDECREF(__pyx_1);
4104 Py_XDECREF(__pyx_2);
4105 Py_XDECREF(__pyx_3);
4106 __Pyx_WriteUnraisable("purple.remove");
4110 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":157
4111 * __other_node_cb(node, blist_cbs["remove"])
4113 * cdef void destroy(blist.PurpleBuddyList *list): # <<<<<<<<<<<<<<
4115 * When the list gets destroyed, this gets called to destroy the UI.
4118 static void __pyx_f_6purple_destroy(PurpleBuddyList *__pyx_v_list) {
4119 PyObject *__pyx_1 = 0;
4120 PyObject *__pyx_2 = 0;
4121 PyObject *__pyx_3 = 0;
4124 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":161
4125 * When the list gets destroyed, this gets called to destroy the UI.
4127 * debug.purple_debug_info("blist", "%s", "destroy\n") # <<<<<<<<<<<<<<
4128 * if blist_cbs.has_key("destroy"):
4129 * (<object> blist_cbs["destroy"])("destroy: TODO")
4131 purple_debug_info(__pyx_k_75, __pyx_k_76, __pyx_k_77);
4133 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":162
4135 * debug.purple_debug_info("blist", "%s", "destroy\n")
4136 * if blist_cbs.has_key("destroy"): # <<<<<<<<<<<<<<
4137 * (<object> blist_cbs["destroy"])("destroy: TODO")
4140 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4141 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4142 Py_DECREF(__pyx_1); __pyx_1 = 0;
4143 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4144 Py_INCREF(__pyx_kp_78);
4145 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_78);
4146 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4147 Py_DECREF(__pyx_2); __pyx_2 = 0;
4148 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4149 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4150 Py_DECREF(__pyx_3); __pyx_3 = 0;
4153 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":163
4154 * debug.purple_debug_info("blist", "%s", "destroy\n")
4155 * if blist_cbs.has_key("destroy"):
4156 * (<object> blist_cbs["destroy"])("destroy: TODO") # <<<<<<<<<<<<<<
4158 * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show):
4160 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4161 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_79); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4162 Py_DECREF(__pyx_2); __pyx_2 = 0;
4163 __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4164 Py_INCREF(__pyx_kp_80);
4165 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_80);
4166 __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4167 Py_DECREF(__pyx_1); __pyx_1 = 0;
4168 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4169 Py_DECREF(__pyx_2); __pyx_2 = 0;
4176 Py_XDECREF(__pyx_1);
4177 Py_XDECREF(__pyx_2);
4178 Py_XDECREF(__pyx_3);
4179 __Pyx_WriteUnraisable("purple.destroy");
4183 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":165
4184 * (<object> blist_cbs["destroy"])("destroy: TODO")
4186 * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show): # <<<<<<<<<<<<<<
4188 * Hides or unhides the buddy list.
4191 static void __pyx_f_6purple_set_visible(PurpleBuddyList *__pyx_v_list, gboolean __pyx_v_show) {
4192 PyObject *__pyx_1 = 0;
4193 PyObject *__pyx_2 = 0;
4194 PyObject *__pyx_3 = 0;
4197 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":169
4198 * Hides or unhides the buddy list.
4200 * debug.purple_debug_info("blist", "%s", "set-visible\n") # <<<<<<<<<<<<<<
4201 * if blist_cbs.has_key("set-visible"):
4202 * (<object> blist_cbs["set-visible"])("set-visible: TODO")
4204 purple_debug_info(__pyx_k_81, __pyx_k_82, __pyx_k_83);
4206 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":170
4208 * debug.purple_debug_info("blist", "%s", "set-visible\n")
4209 * if blist_cbs.has_key("set-visible"): # <<<<<<<<<<<<<<
4210 * (<object> blist_cbs["set-visible"])("set-visible: TODO")
4213 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4214 __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4215 Py_DECREF(__pyx_1); __pyx_1 = 0;
4216 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4217 Py_INCREF(__pyx_kp_84);
4218 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_84);
4219 __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4220 Py_DECREF(__pyx_2); __pyx_2 = 0;
4221 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4222 __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4223 Py_DECREF(__pyx_3); __pyx_3 = 0;
4226 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":171
4227 * debug.purple_debug_info("blist", "%s", "set-visible\n")
4228 * if blist_cbs.has_key("set-visible"):
4229 * (<object> blist_cbs["set-visible"])("set-visible: TODO") # <<<<<<<<<<<<<<
4231 * cdef void request_add_buddy(account.PurpleAccount *c_account, \
4233 __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4234 __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_85); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4235 Py_DECREF(__pyx_2); __pyx_2 = 0;
4236 __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4237 Py_INCREF(__pyx_kp_86);
4238 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_86);
4239 __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4240 Py_DECREF(__pyx_1); __pyx_1 = 0;
4241 Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4242 Py_DECREF(__pyx_2); __pyx_2 = 0;
4249 Py_XDECREF(__pyx_1);
4250 Py_XDECREF(__pyx_2);
4251 Py_XDECREF(__pyx_3);
4252 __Pyx_WriteUnraisable("purple.set_visible");
4256 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":173
4257 * (<object> blist_cbs["set-visible"])("set-visible: TODO")
4259 * cdef void request_add_buddy(account.PurpleAccount *c_account, \ # <<<<<<<<<<<<<<
4260 * const_char *c_buddy_username, const_char *c_buddy_group, \
4261 * const_char *c_buddy_alias):
4264 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) {
4265 PyObject *__pyx_v_username;
4266 PyObject *__pyx_v_protocol_id;
4267 PyObject *__pyx_v_buddy_username;
4268 PyObject *__pyx_v_buddy_group;
4269 PyObject *__pyx_v_buddy_alias;
4270 PyObject *__pyx_1 = 0;
4272 PyObject *__pyx_3 = 0;
4273 PyObject *__pyx_4 = 0;
4274 __pyx_v_username = Py_None; Py_INCREF(Py_None);
4275 __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
4276 __pyx_v_buddy_username = Py_None; Py_INCREF(Py_None);
4277 __pyx_v_buddy_group = Py_None; Py_INCREF(Py_None);
4278 __pyx_v_buddy_alias = Py_None; Py_INCREF(Py_None);
4280 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":180
4283 * debug.purple_debug_info("blist", "%s", "request-add-buddy\n") # <<<<<<<<<<<<<<
4285 * username = account.purple_account_get_username(c_account)
4287 purple_debug_info(__pyx_k_87, __pyx_k_88, __pyx_k_89);
4289 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":182
4290 * debug.purple_debug_info("blist", "%s", "request-add-buddy\n")
4292 * username = account.purple_account_get_username(c_account) # <<<<<<<<<<<<<<
4293 * protocol_id = account.purple_account_get_protocol_id(c_account)
4296 __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4297 Py_DECREF(__pyx_v_username);
4298 __pyx_v_username = __pyx_1;
4301 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":183
4303 * username = account.purple_account_get_username(c_account)
4304 * protocol_id = account.purple_account_get_protocol_id(c_account) # <<<<<<<<<<<<<<
4306 * if c_buddy_username:
4308 __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4309 Py_DECREF(__pyx_v_protocol_id);
4310 __pyx_v_protocol_id = __pyx_1;
4313 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":185
4314 * protocol_id = account.purple_account_get_protocol_id(c_account)
4316 * if c_buddy_username: # <<<<<<<<<<<<<<
4317 * buddy_username = <char *> c_buddy_username
4320 __pyx_2 = (__pyx_v_c_buddy_username != 0);
4323 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":186
4325 * if c_buddy_username:
4326 * buddy_username = <char *> c_buddy_username # <<<<<<<<<<<<<<
4328 * buddy_username = None
4330 __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_username)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4331 Py_DECREF(__pyx_v_buddy_username);
4332 __pyx_v_buddy_username = __pyx_1;
4338 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":188
4339 * buddy_username = <char *> c_buddy_username
4341 * buddy_username = None # <<<<<<<<<<<<<<
4346 Py_DECREF(__pyx_v_buddy_username);
4347 __pyx_v_buddy_username = Py_None;
4351 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":190
4352 * buddy_username = None
4354 * if c_buddy_group: # <<<<<<<<<<<<<<
4355 * buddy_group = <char *> c_buddy_group
4358 __pyx_2 = (__pyx_v_c_buddy_group != 0);
4361 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":191
4364 * buddy_group = <char *> c_buddy_group # <<<<<<<<<<<<<<
4366 * buddy_group = None
4368 __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_group)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4369 Py_DECREF(__pyx_v_buddy_group);
4370 __pyx_v_buddy_group = __pyx_1;
4376 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":193
4377 * buddy_group = <char *> c_buddy_group
4379 * buddy_group = None # <<<<<<<<<<<<<<
4384 Py_DECREF(__pyx_v_buddy_group);
4385 __pyx_v_buddy_group = Py_None;
4389 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":195
4390 * buddy_group = None
4392 * if c_buddy_alias: # <<<<<<<<<<<<<<
4393 * buddy_alias = <char *> c_buddy_alias
4396 __pyx_2 = (__pyx_v_c_buddy_alias != 0);
4399 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":196
4402 * buddy_alias = <char *> c_buddy_alias # <<<<<<<<<<<<<<
4404 * buddy_alias = None
4406 __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_alias)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4407 Py_DECREF(__pyx_v_buddy_alias);
4408 __pyx_v_buddy_alias = __pyx_1;
4414 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":198
4415 * buddy_alias = <char *> c_buddy_alias
4417 * buddy_alias = None # <<<<<<<<<<<<<<
4419 * if blist_cbs.has_key("request-add-buddy"):
4422 Py_DECREF(__pyx_v_buddy_alias);
4423 __pyx_v_buddy_alias = Py_None;
4427 /* "/scratchbox/users/bruno/home/bruno/carman/python-purple/blist_cbs.pxd":200
4428 * buddy_alias = None
4430 * if blist_cbs.has_key("request-add-buddy"): # <<<<<<<<<<<<<<
4431 * (<object> blist_cbs["request-add-buddy"])( \
4432 * (username, protocol_id), \
4434 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4435 __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4436 Py_DECREF(__pyx_1); __pyx_1 = 0;
4437 __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4438 Py_INCREF(__pyx_kp_90);
4439 PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_90);
4440 __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4441 Py_DECREF(__pyx_3); __pyx_3 = 0;
4442 Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4443 __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4444 Py_DECREF(__pyx_4); __pyx_4 = 0;