e84adf5a9e6ae5989df3454157ad39d35c71d0d6
[python-purple] / purple.c
1 /* Generated by Cython 0.9.8 on Wed Dec 10 14:36:50 2008 */
2
3 #define PY_SSIZE_T_CLEAN
4 #include "Python.h"
5 #include "structmember.h"
6 #ifndef PY_LONG_LONG
7   #define PY_LONG_LONG LONG_LONG
8 #endif
9 #ifndef DL_EXPORT
10   #define DL_EXPORT(t) t
11 #endif
12 #if PY_VERSION_HEX < 0x02040000
13   #define METH_COEXIST 0
14 #endif
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)
23 #endif
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
31   typedef struct {
32        void *buf;
33        Py_ssize_t len;
34        int readonly;
35        const char *format;
36        int ndim;
37        Py_ssize_t *shape;
38        Py_ssize_t *strides;
39        Py_ssize_t *suboffsets;
40        Py_ssize_t itemsize;
41        void *internal;
42   } Py_buffer;
43
44   #define PyBUF_SIMPLE 0
45   #define PyBUF_WRITABLE 0x0001
46   #define PyBUF_LOCK 0x0002
47   #define PyBUF_FORMAT 0x0004
48   #define PyBUF_ND 0x0008
49   #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
50   #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
51   #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
52   #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
53   #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
54 #endif
55 #if PY_MAJOR_VERSION < 3
56   #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
57 #else
58   #define __Pyx_BUILTIN_MODULE_NAME "builtins"
59 #endif
60 #if PY_MAJOR_VERSION >= 3
61   #define Py_TPFLAGS_CHECKTYPES 0
62   #define Py_TPFLAGS_HAVE_INDEX 0
63 #endif
64 #if PY_MAJOR_VERSION >= 3
65   #define PyBaseString_Type            PyUnicode_Type
66   #define PyString_Type                PyBytes_Type
67   #define PyInt_Type                   PyLong_Type
68   #define PyInt_Check(op)              PyLong_Check(op)
69   #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
70   #define PyInt_FromString             PyLong_FromString
71   #define PyInt_FromUnicode            PyLong_FromUnicode
72   #define PyInt_FromLong               PyLong_FromLong
73   #define PyInt_FromSize_t             PyLong_FromSize_t
74   #define PyInt_FromSsize_t            PyLong_FromSsize_t
75   #define PyInt_AsLong                 PyLong_AsLong
76   #define PyInt_AS_LONG                PyLong_AS_LONG
77   #define PyInt_AsSsize_t              PyLong_AsSsize_t
78   #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
79   #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
80   #define PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
81 #else
82   #define PyBytes_Type                 PyString_Type
83 #endif
84 #if PY_MAJOR_VERSION >= 3
85   #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
86 #endif
87 #ifndef __stdcall
88   #define __stdcall
89 #endif
90 #ifndef __cdecl
91   #define __cdecl
92 #endif
93 #ifdef __cplusplus
94 #define __PYX_EXTERN_C extern "C"
95 #else
96 #define __PYX_EXTERN_C extern
97 #endif
98 #include <math.h>
99 #define __PYX_HAVE_API__purple
100 #include "libpurple/purple.h"
101 #include "c_purple.h"
102 #include "glib.h"
103 #include "libpurple/blist.h"
104 #include "libpurple/connection.h"
105 #include "libpurple/log.h"
106 #include "libpurple/proxy.h"
107 #include "libpurple/status.h"
108 #include "libpurple/account.h"
109 #include "libpurple/prefs.h"
110 #include "libpurple/accountopt.h"
111 #include "libpurple/buddyicon.h"
112 #include "libpurple/plugin.h"
113 #include "libpurple/prpl.h"
114 #include "time.h"
115 #include "libpurple/conversation.h"
116 #include "libpurple/core.h"
117 #include "libpurple/debug.h"
118 #include "libpurple/eventloop.h"
119 #include "libpurple/ft.h"
120 #include "libpurple/idle.h"
121 #include "libpurple/notify.h"
122 #include "libpurple/pounce.h"
123 #include "libpurple/privacy.h"
124 #include "libpurple/request.h"
125 #include "libpurple/roomlist.h"
126 #include "libpurple/server.h"
127 #include "libpurple/signals.h"
128 #include "libpurple/value.h"
129 #include "libpurple/savedstatuses.h"
130 #include "libpurple/xmlnode.h"
131 #include "libpurple/util.h"
132
133
134 #ifdef __GNUC__
135 #define INLINE __inline__
136 #elif _WIN32
137 #define INLINE __inline
138 #else
139 #define INLINE 
140 #endif
141
142 typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/
143
144
145
146 static int __pyx_skip_dispatch = 0;
147
148
149 /* Type Conversion Predeclarations */
150
151 #if PY_MAJOR_VERSION < 3
152 #define __Pyx_PyBytes_FromString PyString_FromString
153 #define __Pyx_PyBytes_AsString   PyString_AsString
154 #else
155 #define __Pyx_PyBytes_FromString PyBytes_FromString
156 #define __Pyx_PyBytes_AsString   PyBytes_AsString
157 #endif
158
159 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
160 static INLINE int __Pyx_PyObject_IsTrue(PyObject* x);
161 static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x);
162 static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x);
163 static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b);
164
165 #define __pyx_PyInt_AsLong(x) (PyInt_CheckExact(x) ? PyInt_AS_LONG(x) : PyInt_AsLong(x))
166 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
167
168 static INLINE unsigned char __pyx_PyInt_unsigned_char(PyObject* x);
169 static INLINE unsigned short __pyx_PyInt_unsigned_short(PyObject* x);
170 static INLINE char __pyx_PyInt_char(PyObject* x);
171 static INLINE short __pyx_PyInt_short(PyObject* x);
172 static INLINE int __pyx_PyInt_int(PyObject* x);
173 static INLINE long __pyx_PyInt_long(PyObject* x);
174 static INLINE signed char __pyx_PyInt_signed_char(PyObject* x);
175 static INLINE signed short __pyx_PyInt_signed_short(PyObject* x);
176 static INLINE signed int __pyx_PyInt_signed_int(PyObject* x);
177 static INLINE signed long __pyx_PyInt_signed_long(PyObject* x);
178 static INLINE long double __pyx_PyInt_long_double(PyObject* x);
179 #ifdef __GNUC__
180 /* Test for GCC > 2.95 */
181 #if __GNUC__ > 2 ||               (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) 
182 #define likely(x)   __builtin_expect(!!(x), 1)
183 #define unlikely(x) __builtin_expect(!!(x), 0)
184 #else /* __GNUC__ > 2 ... */
185 #define likely(x)   (x)
186 #define unlikely(x) (x)
187 #endif /* __GNUC__ > 2 ... */
188 #else /* __GNUC__ */
189 #define likely(x)   (x)
190 #define unlikely(x) (x)
191 #endif /* __GNUC__ */
192     
193 static PyObject *__pyx_m;
194 static PyObject *__pyx_b;
195 static PyObject *__pyx_empty_tuple;
196 static int __pyx_lineno;
197 static int __pyx_clineno = 0;
198 static const char * __pyx_cfilenm= __FILE__;
199 static const char *__pyx_filename;
200 static const char **__pyx_f;
201
202 static INLINE void __Pyx_RaiseArgtupleTooLong(Py_ssize_t num_expected, Py_ssize_t num_found); /*proto*/
203
204 #if PY_VERSION_HEX >= 0x02060000
205 /* #define __Pyx_TypeModified(t) PyType_Modified(t) */  /* Py3.0beta1 */
206 static void __Pyx_TypeModified(PyTypeObject* type); /*proto*/
207 #else
208   #define __Pyx_TypeModified(t)
209 #endif
210
211 static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
212
213 static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name, int exact); /*proto*/
214
215 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
216
217 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
218
219 static void __Pyx_WriteUnraisable(const char *name); /*proto*/
220
221 static INLINE PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i, int is_unsigned) {
222     PyObject *r;
223     if (PyList_CheckExact(o) && 0 <= i && i < PyList_GET_SIZE(o)) {
224         r = PyList_GET_ITEM(o, i);
225         Py_INCREF(r);
226     }
227     else if (PyTuple_CheckExact(o) && 0 <= i && i < PyTuple_GET_SIZE(o)) {
228         r = PyTuple_GET_ITEM(o, i);
229         Py_INCREF(r);
230     }
231     else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0) || !is_unsigned))
232         r = PySequence_GetItem(o, i);
233     else {
234         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);
235         if (!j)
236             return 0;
237         r = PyObject_GetItem(o, j);
238         Py_DECREF(j);
239     }
240     return r;
241 }
242
243 static INLINE PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
244     if (likely(PyList_CheckExact(L))) {
245         if (PyList_Append(L, x) < 0) return NULL;
246         Py_INCREF(Py_None);
247         return Py_None; // this is just to have an accurate signature
248     }
249     else {
250         return PyObject_CallMethod(L, "append", "(O)", x);
251     }
252 }
253
254 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
255
256 static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
257
258 static void __Pyx_AddTraceback(const char *funcname); /*proto*/
259
260 /* Type declarations */
261
262 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":22
263  * cimport purple
264  * 
265  * cdef class Buddy:             # <<<<<<<<<<<<<<
266  *     """
267  *     Buddy class
268  */
269
270 struct __pyx_obj_6purple_Buddy {
271   PyObject_HEAD
272   struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtab;
273   PyObject *__account;
274   PyObject *__name;
275   PyObject *__exists;
276 };
277
278 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":61
279  * include "util.pxd"
280  * 
281  * cdef class Purple:             # <<<<<<<<<<<<<<
282  *     """ Purple class.
283  * 
284  */
285
286 struct __pyx_obj_6purple_Purple {
287   PyObject_HEAD
288   struct __pyx_vtabstruct_6purple_Purple *__pyx_vtab;
289 };
290
291 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":56
292  *     USE_ENVVAR = property(get_USE_ENVVAR)
293  * 
294  * cdef class ProxyInfo:             # <<<<<<<<<<<<<<
295  * 
296  *     cdef proxy.PurpleProxyInfo *c_proxyinfo
297  */
298
299 struct __pyx_obj_6purple_ProxyInfo {
300   PyObject_HEAD
301   PurpleProxyInfo *c_proxyinfo;
302   PyObject *types;
303 };
304
305 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":22
306  * cimport purple
307  * 
308  * cdef class Protocol:             # <<<<<<<<<<<<<<
309  *     """
310  *     Protocol class
311  */
312
313 struct __pyx_obj_6purple_Protocol {
314   PyObject_HEAD
315   struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtab;
316   PyObject *__id;
317   PyObject *__exists;
318 };
319
320 struct __pyx_obj_6purple_ProxyInfoType {
321   PyObject_HEAD
322   PurpleProxyType c_type;
323 };
324
325 struct __pyx_obj_6purple_Conversation {
326   PyObject_HEAD
327   struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtab;
328   PyObject *__account;
329   PyObject *__name;
330   PyObject *__type;
331   PyObject *__exists;
332 };
333
334 struct __pyx_obj_6purple_Account {
335   PyObject_HEAD
336   struct __pyx_vtabstruct_6purple_Account *__pyx_vtab;
337   PyObject *__username;
338   PyObject *__protocol;
339   PyObject *__core;
340   PyObject *__exists;
341 };
342
343
344 struct __pyx_vtabstruct_6purple_Protocol {
345   PurplePlugin *(*_get_structure)(struct __pyx_obj_6purple_Protocol *);
346 };
347 static struct __pyx_vtabstruct_6purple_Protocol *__pyx_vtabptr_6purple_Protocol;
348
349
350 struct __pyx_vtabstruct_6purple_Buddy {
351   PurpleBuddy *(*_get_structure)(struct __pyx_obj_6purple_Buddy *);
352 };
353 static struct __pyx_vtabstruct_6purple_Buddy *__pyx_vtabptr_6purple_Buddy;
354
355
356 struct __pyx_vtabstruct_6purple_Conversation {
357   PurpleConversation *(*_get_structure)(struct __pyx_obj_6purple_Conversation *);
358 };
359 static struct __pyx_vtabstruct_6purple_Conversation *__pyx_vtabptr_6purple_Conversation;
360
361
362 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":61
363  * include "util.pxd"
364  * 
365  * cdef class Purple:             # <<<<<<<<<<<<<<
366  *     """ Purple class.
367  * 
368  */
369
370 struct __pyx_vtabstruct_6purple_Purple {
371   void (*__core_ui_ops_ui_prefs_init)(struct __pyx_obj_6purple_Purple *);
372   void (*__core_ui_ops_debug_init)(struct __pyx_obj_6purple_Purple *);
373   void (*__core_ui_ops_ui_init)(struct __pyx_obj_6purple_Purple *);
374   void (*__core_ui_ops_quit)(struct __pyx_obj_6purple_Purple *);
375   GHashTable *(*__core_ui_ops_get_ui_info)(struct __pyx_obj_6purple_Purple *);
376 };
377 static struct __pyx_vtabstruct_6purple_Purple *__pyx_vtabptr_6purple_Purple;
378
379
380 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":22
381  * cimport purple
382  * 
383  * cdef class Account:             # <<<<<<<<<<<<<<
384  *     """
385  *     Account class
386  */
387
388 struct __pyx_vtabstruct_6purple_Account {
389   PurpleAccount *(*_get_structure)(struct __pyx_obj_6purple_Account *);
390 };
391 static struct __pyx_vtabstruct_6purple_Account *__pyx_vtabptr_6purple_Account;
392 /* Module declarations from glib */
393
394 /* Module declarations from account */
395
396 /* Module declarations from prefs */
397
398 /* Module declarations from accountopt */
399
400 /* Module declarations from buddyicon */
401
402 /* Module declarations from blist */
403
404 /* Module declarations from prpl */
405
406 /* Module declarations from plugin */
407
408 /* Module declarations from connection */
409
410 /* Module declarations from conversation */
411
412 /* Module declarations from core */
413
414 /* Module declarations from debug */
415
416 /* Module declarations from eventloop */
417
418 /* Module declarations from ft */
419
420 /* Module declarations from idle */
421
422 /* Module declarations from notify */
423
424 /* Module declarations from pounce */
425
426 /* Module declarations from privacy */
427
428 /* Module declarations from proxy */
429
430 /* Module declarations from request */
431
432 /* Module declarations from roomlist */
433
434 /* Module declarations from server */
435
436 /* Module declarations from signals */
437
438 /* Module declarations from value */
439
440 /* Module declarations from status */
441
442 /* Module declarations from savedstatuses */
443
444 /* Module declarations from xmlnode */
445
446 /* Module declarations from util */
447
448 /* Module declarations from purple */
449
450 static PyTypeObject *__pyx_ptype_6purple_Purple = 0;
451 static PyTypeObject *__pyx_ptype_6purple_Protocol = 0;
452 static PyTypeObject *__pyx_ptype_6purple_ProxyInfoType = 0;
453 static PyTypeObject *__pyx_ptype_6purple_ProxyInfo = 0;
454 static PyTypeObject *__pyx_ptype_6purple_Account = 0;
455 static PyTypeObject *__pyx_ptype_6purple_Buddy = 0;
456 static PyTypeObject *__pyx_ptype_6purple_Conversation = 0;
457 static GHashTable *__pyx_v_6purple_c_ui_info;
458 static char *__pyx_v_6purple_c_ui_name;
459 static char *__pyx_v_6purple_c_ui_version;
460 static char *__pyx_v_6purple_c_ui_website;
461 static char *__pyx_v_6purple_c_ui_dev_website;
462 static PurpleAccountUiOps __pyx_v_6purple_c_account_ui_ops;
463 static PurpleBlistUiOps __pyx_v_6purple_c_blist_ui_ops;
464 static PurpleConnectionUiOps __pyx_v_6purple_c_conn_ui_ops;
465 static PurpleConversationUiOps __pyx_v_6purple_c_conv_ui_ops;
466 static PurpleCoreUiOps __pyx_v_6purple_c_core_ui_ops;
467 static PurpleEventLoopUiOps __pyx_v_6purple_c_eventloop_ui_ops;
468 static PurpleNotifyUiOps __pyx_v_6purple_c_notify_ui_ops;
469 static PurpleRequestUiOps __pyx_v_6purple_c_request_ui_ops;
470 static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_authorize_cb;
471 static PurpleAccountRequestAuthorizationCb __pyx_v_6purple_c_request_authorize_deny_cb;
472 static void *__pyx_v_6purple_c_request_authorize_user_data;
473 static void __pyx_f_6purple_notify_added(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/
474 static void __pyx_f_6purple_status_changed(PurpleAccount *, PurpleStatus *); /*proto*/
475 static void __pyx_f_6purple_request_add(PurpleAccount *, const char *, const char *, const char *, const char *); /*proto*/
476 static void *__pyx_f_6purple_request_authorize(PurpleAccount *, const char *, const char *, const char *, const char *, gboolean, PurpleAccountRequestAuthorizationCb, PurpleAccountRequestAuthorizationCb, void *); /*proto*/
477 static void __pyx_f_6purple_close_account_request(void *); /*proto*/
478 static void __pyx_f_6purple___group_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
479 static void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
480 static void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
481 static void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
482 static void __pyx_f_6purple___other_node_cb(PurpleBlistNode *, PyObject *); /*proto*/
483 static void __pyx_f_6purple_new_list(PurpleBuddyList *); /*proto*/
484 static void __pyx_f_6purple_new_node(PurpleBlistNode *); /*proto*/
485 static void __pyx_f_6purple_show(PurpleBuddyList *); /*proto*/
486 static void __pyx_f_6purple_update(PurpleBuddyList *, PurpleBlistNode *); /*proto*/
487 static void __pyx_f_6purple_remove(PurpleBuddyList *, PurpleBlistNode *); /*proto*/
488 static void __pyx_f_6purple_destroy(PurpleBuddyList *); /*proto*/
489 static void __pyx_f_6purple_set_visible(PurpleBuddyList *, gboolean); /*proto*/
490 static void __pyx_f_6purple_request_add_buddy(PurpleAccount *, const char *, const char *, const char *); /*proto*/
491 static void __pyx_f_6purple_request_add_chat(PurpleAccount *, PurpleGroup *, const char *, const char *); /*proto*/
492 static void __pyx_f_6purple_request_add_group(void); /*proto*/
493 static void __pyx_f_6purple_connect_progress(PurpleConnection *, const char *, size_t, size_t); /*proto*/
494 static void __pyx_f_6purple_connected(PurpleConnection *); /*proto*/
495 static void __pyx_f_6purple_disconnected(PurpleConnection *); /*proto*/
496 static void __pyx_f_6purple_notice(PurpleConnection *, const char *); /*proto*/
497 static void __pyx_f_6purple_report_disconnect(PurpleConnection *, const char *); /*proto*/
498 static void __pyx_f_6purple_network_connected(void); /*proto*/
499 static void __pyx_f_6purple_network_disconnected(void); /*proto*/
500 static void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *, PurpleConnectionError, const char *); /*proto*/
501 static void __pyx_f_6purple_create_conversation(PurpleConversation *); /*proto*/
502 static void __pyx_f_6purple_destroy_conversation(PurpleConversation *); /*proto*/
503 static void __pyx_f_6purple_write_chat(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
504 static void __pyx_f_6purple_write_im(PurpleConversation *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
505 static void __pyx_f_6purple_write_conv(PurpleConversation *, const char *, const char *, const char *, PurpleMessageFlags, time_t); /*proto*/
506 static void __pyx_f_6purple_chat_add_users(PurpleConversation *, GList *, gboolean); /*proto*/
507 static void __pyx_f_6purple_chat_rename_user(PurpleConversation *, const char *, const char *, const char *); /*proto*/
508 static void __pyx_f_6purple_chat_remove_users(PurpleConversation *, GList *); /*proto*/
509 static void __pyx_f_6purple_chat_update_user(PurpleConversation *, const char *); /*proto*/
510 static void __pyx_f_6purple_present(PurpleConversation *); /*proto*/
511 static gboolean __pyx_f_6purple_has_focus(PurpleConversation *); /*proto*/
512 static gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *, const char *, gboolean); /*proto*/
513 static void __pyx_f_6purple_custom_smiley_write(PurpleConversation *, const char *, const guchar *, gsize); /*proto*/
514 static void __pyx_f_6purple_custom_smiley_close(PurpleConversation *, const char *); /*proto*/
515 static void __pyx_f_6purple_send_confirm(PurpleConversation *, const char *); /*proto*/
516 static void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType, const char *, const char *, const char *); /*proto*/
517 static void *__pyx_f_6purple_notify_email(PurpleConnection *, const char *, const char *, const char *, const char *); /*proto*/
518 static void *__pyx_f_6purple_notify_emails(PurpleConnection *, size_t, gboolean, const char **, const char **, const char **, const char **); /*proto*/
519 static void *__pyx_f_6purple_notify_formatted(const char *, const char *, const char *, const char *); /*proto*/
520 static void *__pyx_f_6purple_notify_searchresults(PurpleConnection *, const char *, const char *, const char *, PurpleNotifySearchResults *, gpointer); /*proto*/
521 static void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *, PurpleNotifySearchResults *, void *); /*proto*/
522 static void *__pyx_f_6purple_notify_userinfo(PurpleConnection *, const char *, PurpleNotifyUserInfo *); /*proto*/
523 static void *__pyx_f_6purple_notify_uri(const char *); /*proto*/
524 static void __pyx_f_6purple_close_notify(PurpleNotifyType, void *); /*proto*/
525 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*/
526 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*/
527 static void *__pyx_f_6purple_request_action(const char *, const char *, const char *, int, PurpleAccount *, const char *, PurpleConversation *, void *, size_t, va_list); /*proto*/
528 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*/
529 static void *__pyx_f_6purple_request_file(const char *, const char *, gboolean, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
530 static void __pyx_f_6purple_close_request(PurpleRequestType, void *); /*proto*/
531 static void *__pyx_f_6purple_request_folder(const char *, const char *, GCallback, GCallback, PurpleAccount *, const char *, PurpleConversation *, void *); /*proto*/
532 static void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *, gpointer); /*proto*/
533 static void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *, gpointer); /*proto*/
534 static void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *, PurpleConnectionError, const gchar *); /*proto*/
535 static void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *); /*proto*/
536 static void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *); /*proto*/
537 static gboolean __pyx_f_6purple_signal_receiving_im_msg_cb(PurpleAccount *, char **, char **, PurpleConversation *, PurpleMessageFlags *); /*proto*/
538 static void __pyx_f_6purple_jabber_receiving_xmlnode_cb(PurpleConnection *, xmlnode **, gpointer); /*proto*/
539
540
541 /* Implementation of purple */
542
543
544 static char __pyx_k___init__[] = "__init__";
545 static char __pyx_k_destroy[] = "destroy";
546 static char __pyx_k___get_ui_name[] = "__get_ui_name";
547 static char __pyx_k_ui_name[] = "ui_name";
548 static char __pyx_k_1[] = "__glib_iteration_when_idle";
549 static char __pyx_k_purple_init[] = "purple_init";
550 static char __pyx_k_add_callback[] = "add_callback";
551 static char __pyx_k_signal_connect[] = "signal_connect";
552 static char __pyx_k_accounts_get_all[] = "accounts_get_all";
553 static char __pyx_k_2[] = "accounts_get_all_active";
554 static char __pyx_k_protocols_get_all[] = "protocols_get_all";
555 static char __pyx_k___get_exists[] = "__get_exists";
556 static char __pyx_k_exists[] = "exists";
557 static char __pyx_k___get_id[] = "__get_id";
558 static char __pyx_k_id[] = "id";
559 static char __pyx_k___get_name[] = "__get_name";
560 static char __pyx_k_name[] = "name";
561 static char __pyx_k_3[] = "__get_options_labels";
562 static char __pyx_k_options_labels[] = "options_labels";
563 static char __pyx_k_4[] = "__get_options_values";
564 static char __pyx_k_options_values[] = "options_values";
565 static char __pyx_k_get_NONE[] = "get_NONE";
566 static char __pyx_k_NONE[] = "NONE";
567 static char __pyx_k_get_USE_GLOBAL[] = "get_USE_GLOBAL";
568 static char __pyx_k_USE_GLOBAL[] = "USE_GLOBAL";
569 static char __pyx_k_get_HTTP[] = "get_HTTP";
570 static char __pyx_k_HTTP[] = "HTTP";
571 static char __pyx_k_5[] = "get_SOCKS4";
572 static char __pyx_k_6[] = "get_SOCKS5";
573 static char __pyx_k_get_USE_ENVVAR[] = "get_USE_ENVVAR";
574 static char __pyx_k_USE_ENVVAR[] = "USE_ENVVAR";
575 static char __pyx_k_set_type[] = "set_type";
576 static char __pyx_k_set_host[] = "set_host";
577 static char __pyx_k_set_port[] = "set_port";
578 static char __pyx_k_set_username[] = "set_username";
579 static char __pyx_k_set_password[] = "set_password";
580 static char __pyx_k_get_types[] = "get_types";
581 static char __pyx_k_set_info[] = "set_info";
582 static char __pyx_k___is_connected[] = "__is_connected";
583 static char __pyx_k_is_connected[] = "is_connected";
584 static char __pyx_k___is_connecting[] = "__is_connecting";
585 static char __pyx_k_is_connecting[] = "is_connecting";
586 static char __pyx_k___is_disconnected[] = "__is_disconnected";
587 static char __pyx_k_is_disconnected[] = "is_disconnected";
588 static char __pyx_k___get_core[] = "__get_core";
589 static char __pyx_k_core[] = "core";
590 static char __pyx_k___get_username[] = "__get_username";
591 static char __pyx_k_username[] = "username";
592 static char __pyx_k___get_protocol[] = "__get_protocol";
593 static char __pyx_k_protocol[] = "protocol";
594 static char __pyx_k_7[] = "_get_protocol_options";
595 static char __pyx_k_protocol_options[] = "protocol_options";
596 static char __pyx_k___get_password[] = "__get_password";
597 static char __pyx_k_password[] = "password";
598 static char __pyx_k___get_alias[] = "__get_alias";
599 static char __pyx_k_alias[] = "alias";
600 static char __pyx_k___get_user_info[] = "__get_user_info";
601 static char __pyx_k_user_info[] = "user_info";
602 static char __pyx_k_8[] = "__get_remember_password";
603 static char __pyx_k_remember_password[] = "remember_password";
604 static char __pyx_k___get_enabled[] = "__get_enabled";
605 static char __pyx_k_enabled[] = "enabled";
606 static char __pyx_k___get_status_types[] = "__get_status_types";
607 static char __pyx_k_status_types[] = "status_types";
608 static char __pyx_k___get_active_status[] = "__get_active_status";
609 static char __pyx_k_active_status[] = "active_status";
610 static char __pyx_k_set_protocol[] = "set_protocol";
611 static char __pyx_k_9[] = "set_protocol_options";
612 static char __pyx_k_set_alias[] = "set_alias";
613 static char __pyx_k_set_user_info[] = "set_user_info";
614 static char __pyx_k_10[] = "set_remember_password";
615 static char __pyx_k_set_enabled[] = "set_enabled";
616 static char __pyx_k_new[] = "new";
617 static char __pyx_k_remove[] = "remove";
618 static char __pyx_k_connect[] = "connect";
619 static char __pyx_k_disconnect[] = "disconnect";
620 static char __pyx_k_add_buddy[] = "add_buddy";
621 static char __pyx_k_remove_buddy[] = "remove_buddy";
622 static char __pyx_k_get_buddies_online[] = "get_buddies_online";
623 static char __pyx_k_get_buddies[] = "get_buddies";
624 static char __pyx_k_request_add_buddy[] = "request_add_buddy";
625 static char __pyx_k_set_active_status[] = "set_active_status";
626 static char __pyx_k_set_status_message[] = "set_status_message";
627 static char __pyx_k___get_account[] = "__get_account";
628 static char __pyx_k_account[] = "account";
629 static char __pyx_k___get_group[] = "__get_group";
630 static char __pyx_k_group[] = "group";
631 static char __pyx_k___get_server_alias[] = "__get_server_alias";
632 static char __pyx_k_server_alias[] = "server_alias";
633 static char __pyx_k___get_contact_alias[] = "__get_contact_alias";
634 static char __pyx_k_contact_alias[] = "contact_alias";
635 static char __pyx_k___get_local_alias[] = "__get_local_alias";
636 static char __pyx_k_local_alias[] = "local_alias";
637 static char __pyx_k___get_available[] = "__get_available";
638 static char __pyx_k_available[] = "available";
639 static char __pyx_k___get_online[] = "__get_online";
640 static char __pyx_k_online[] = "online";
641 static char __pyx_k___get_idle[] = "__get_idle";
642 static char __pyx_k_idle[] = "idle";
643 static char __pyx_k_set_group[] = "set_group";
644 static char __pyx_k_set_ui_ops[] = "set_ui_ops";
645 static char __pyx_k_im_send[] = "im_send";
646 static char __pyx_k_ecore[] = "ecore";
647 static char __pyx_k_account_cbs[] = "account_cbs";
648 static char __pyx_k_blist_cbs[] = "blist_cbs";
649 static char __pyx_k_connection_cbs[] = "connection_cbs";
650 static char __pyx_k_conversation_cbs[] = "conversation_cbs";
651 static char __pyx_k_notify_cbs[] = "notify_cbs";
652 static char __pyx_k_request_cbs[] = "request_cbs";
653 static char __pyx_k_signal_cbs[] = "signal_cbs";
654 static char __pyx_k_property[] = "property";
655
656 static PyObject *__pyx_kp___init__;
657 static PyObject *__pyx_kp_destroy;
658 static PyObject *__pyx_kp___get_ui_name;
659 static PyObject *__pyx_kp_ui_name;
660 static PyObject *__pyx_kp_1;
661 static PyObject *__pyx_kp_purple_init;
662 static PyObject *__pyx_kp_add_callback;
663 static PyObject *__pyx_kp_signal_connect;
664 static PyObject *__pyx_kp_accounts_get_all;
665 static PyObject *__pyx_kp_2;
666 static PyObject *__pyx_kp_protocols_get_all;
667 static PyObject *__pyx_kp___get_exists;
668 static PyObject *__pyx_kp_exists;
669 static PyObject *__pyx_kp___get_id;
670 static PyObject *__pyx_kp_id;
671 static PyObject *__pyx_kp___get_name;
672 static PyObject *__pyx_kp_name;
673 static PyObject *__pyx_kp_3;
674 static PyObject *__pyx_kp_options_labels;
675 static PyObject *__pyx_kp_4;
676 static PyObject *__pyx_kp_options_values;
677 static PyObject *__pyx_kp_get_NONE;
678 static PyObject *__pyx_kp_NONE;
679 static PyObject *__pyx_kp_get_USE_GLOBAL;
680 static PyObject *__pyx_kp_USE_GLOBAL;
681 static PyObject *__pyx_kp_get_HTTP;
682 static PyObject *__pyx_kp_HTTP;
683 static PyObject *__pyx_kp_5;
684 static PyObject *__pyx_kp_6;
685 static PyObject *__pyx_kp_get_USE_ENVVAR;
686 static PyObject *__pyx_kp_USE_ENVVAR;
687 static PyObject *__pyx_kp_set_type;
688 static PyObject *__pyx_kp_set_host;
689 static PyObject *__pyx_kp_set_port;
690 static PyObject *__pyx_kp_set_username;
691 static PyObject *__pyx_kp_set_password;
692 static PyObject *__pyx_kp_get_types;
693 static PyObject *__pyx_kp_set_info;
694 static PyObject *__pyx_kp___is_connected;
695 static PyObject *__pyx_kp_is_connected;
696 static PyObject *__pyx_kp___is_connecting;
697 static PyObject *__pyx_kp_is_connecting;
698 static PyObject *__pyx_kp___is_disconnected;
699 static PyObject *__pyx_kp_is_disconnected;
700 static PyObject *__pyx_kp___get_core;
701 static PyObject *__pyx_kp_core;
702 static PyObject *__pyx_kp___get_username;
703 static PyObject *__pyx_kp_username;
704 static PyObject *__pyx_kp___get_protocol;
705 static PyObject *__pyx_kp_protocol;
706 static PyObject *__pyx_kp_7;
707 static PyObject *__pyx_kp_protocol_options;
708 static PyObject *__pyx_kp___get_password;
709 static PyObject *__pyx_kp_password;
710 static PyObject *__pyx_kp___get_alias;
711 static PyObject *__pyx_kp_alias;
712 static PyObject *__pyx_kp___get_user_info;
713 static PyObject *__pyx_kp_user_info;
714 static PyObject *__pyx_kp_8;
715 static PyObject *__pyx_kp_remember_password;
716 static PyObject *__pyx_kp___get_enabled;
717 static PyObject *__pyx_kp_enabled;
718 static PyObject *__pyx_kp___get_status_types;
719 static PyObject *__pyx_kp_status_types;
720 static PyObject *__pyx_kp___get_active_status;
721 static PyObject *__pyx_kp_active_status;
722 static PyObject *__pyx_kp_set_protocol;
723 static PyObject *__pyx_kp_9;
724 static PyObject *__pyx_kp_set_alias;
725 static PyObject *__pyx_kp_set_user_info;
726 static PyObject *__pyx_kp_10;
727 static PyObject *__pyx_kp_set_enabled;
728 static PyObject *__pyx_kp_new;
729 static PyObject *__pyx_kp_remove;
730 static PyObject *__pyx_kp_connect;
731 static PyObject *__pyx_kp_disconnect;
732 static PyObject *__pyx_kp_add_buddy;
733 static PyObject *__pyx_kp_remove_buddy;
734 static PyObject *__pyx_kp_get_buddies_online;
735 static PyObject *__pyx_kp_get_buddies;
736 static PyObject *__pyx_kp_request_add_buddy;
737 static PyObject *__pyx_kp_set_active_status;
738 static PyObject *__pyx_kp_set_status_message;
739 static PyObject *__pyx_kp___get_account;
740 static PyObject *__pyx_kp_account;
741 static PyObject *__pyx_kp___get_group;
742 static PyObject *__pyx_kp_group;
743 static PyObject *__pyx_kp___get_server_alias;
744 static PyObject *__pyx_kp_server_alias;
745 static PyObject *__pyx_kp___get_contact_alias;
746 static PyObject *__pyx_kp_contact_alias;
747 static PyObject *__pyx_kp___get_local_alias;
748 static PyObject *__pyx_kp_local_alias;
749 static PyObject *__pyx_kp___get_available;
750 static PyObject *__pyx_kp_available;
751 static PyObject *__pyx_kp___get_online;
752 static PyObject *__pyx_kp_online;
753 static PyObject *__pyx_kp___get_idle;
754 static PyObject *__pyx_kp_idle;
755 static PyObject *__pyx_kp_set_group;
756 static PyObject *__pyx_kp_set_ui_ops;
757 static PyObject *__pyx_kp_im_send;
758 static PyObject *__pyx_kp_ecore;
759 static PyObject *__pyx_kp_account_cbs;
760 static PyObject *__pyx_kp_blist_cbs;
761 static PyObject *__pyx_kp_connection_cbs;
762 static PyObject *__pyx_kp_conversation_cbs;
763 static PyObject *__pyx_kp_notify_cbs;
764 static PyObject *__pyx_kp_request_cbs;
765 static PyObject *__pyx_kp_signal_cbs;
766 static PyObject *__pyx_kp_property;
767
768
769 static PyObject *__pyx_builtin_property;
770
771 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":31
772  * cdef void *c_request_authorize_user_data = NULL
773  * 
774  * def call_authorize_cb():             # <<<<<<<<<<<<<<
775  *     global c_request_authorize_authorize_cb
776  *     global c_request_authorize_deny_cb
777  */
778
779 static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/
780 static PyObject *__pyx_pf_6purple_call_authorize_cb(PyObject *__pyx_self, PyObject *unused) {
781   PyObject *__pyx_r;
782   int __pyx_1;
783
784   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":36
785  *     global c_request_authorize_user_data
786  * 
787  *     if c_request_authorize_authorize_cb:             # <<<<<<<<<<<<<<
788  *         c_request_authorize_authorize_cb(c_request_authorize_user_data)
789  *     c_request_authorize_authorize_cb = NULL
790  */
791   __pyx_1 = (__pyx_v_6purple_c_request_authorize_authorize_cb != 0);
792   if (__pyx_1) {
793
794     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":37
795  * 
796  *     if c_request_authorize_authorize_cb:
797  *         c_request_authorize_authorize_cb(c_request_authorize_user_data)             # <<<<<<<<<<<<<<
798  *     c_request_authorize_authorize_cb = NULL
799  *     c_request_authorize_deny_cb = NULL
800  */
801     __pyx_v_6purple_c_request_authorize_authorize_cb(__pyx_v_6purple_c_request_authorize_user_data);
802     goto __pyx_L4;
803   }
804   __pyx_L4:;
805
806   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":38
807  *     if c_request_authorize_authorize_cb:
808  *         c_request_authorize_authorize_cb(c_request_authorize_user_data)
809  *     c_request_authorize_authorize_cb = NULL             # <<<<<<<<<<<<<<
810  *     c_request_authorize_deny_cb = NULL
811  *     c_request_authorize_user_data = NULL
812  */
813   __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
814
815   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":39
816  *         c_request_authorize_authorize_cb(c_request_authorize_user_data)
817  *     c_request_authorize_authorize_cb = NULL
818  *     c_request_authorize_deny_cb = NULL             # <<<<<<<<<<<<<<
819  *     c_request_authorize_user_data = NULL
820  * 
821  */
822   __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
823
824   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":40
825  *     c_request_authorize_authorize_cb = NULL
826  *     c_request_authorize_deny_cb = NULL
827  *     c_request_authorize_user_data = NULL             # <<<<<<<<<<<<<<
828  * 
829  * def call_deny_cb():
830  */
831   __pyx_v_6purple_c_request_authorize_user_data = NULL;
832
833   __pyx_r = Py_None; Py_INCREF(Py_None);
834   return __pyx_r;
835 }
836
837 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":42
838  *     c_request_authorize_user_data = NULL
839  * 
840  * def call_deny_cb():             # <<<<<<<<<<<<<<
841  *     global c_request_authorize_authorize_cb
842  *     global c_request_authorize_deny_cb
843  */
844
845 static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused); /*proto*/
846 static PyObject *__pyx_pf_6purple_call_deny_cb(PyObject *__pyx_self, PyObject *unused) {
847   PyObject *__pyx_r;
848   int __pyx_1;
849
850   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":47
851  *     global c_request_authorize_user_data
852  * 
853  *     if c_request_authorize_deny_cb:             # <<<<<<<<<<<<<<
854  *         c_request_authorize_deny_cb(c_request_authorize_user_data)
855  *     c_request_authorize_authorize_cb = NULL
856  */
857   __pyx_1 = (__pyx_v_6purple_c_request_authorize_deny_cb != 0);
858   if (__pyx_1) {
859
860     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":48
861  * 
862  *     if c_request_authorize_deny_cb:
863  *         c_request_authorize_deny_cb(c_request_authorize_user_data)             # <<<<<<<<<<<<<<
864  *     c_request_authorize_authorize_cb = NULL
865  *     c_request_authorize_deny_cb = NULL
866  */
867     __pyx_v_6purple_c_request_authorize_deny_cb(__pyx_v_6purple_c_request_authorize_user_data);
868     goto __pyx_L4;
869   }
870   __pyx_L4:;
871
872   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":49
873  *     if c_request_authorize_deny_cb:
874  *         c_request_authorize_deny_cb(c_request_authorize_user_data)
875  *     c_request_authorize_authorize_cb = NULL             # <<<<<<<<<<<<<<
876  *     c_request_authorize_deny_cb = NULL
877  *     c_request_authorize_user_data = NULL
878  */
879   __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
880
881   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":50
882  *         c_request_authorize_deny_cb(c_request_authorize_user_data)
883  *     c_request_authorize_authorize_cb = NULL
884  *     c_request_authorize_deny_cb = NULL             # <<<<<<<<<<<<<<
885  *     c_request_authorize_user_data = NULL
886  * 
887  */
888   __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
889
890   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":51
891  *     c_request_authorize_authorize_cb = NULL
892  *     c_request_authorize_deny_cb = NULL
893  *     c_request_authorize_user_data = NULL             # <<<<<<<<<<<<<<
894  * 
895  * cdef void notify_added(account.PurpleAccount *c_account, \
896  */
897   __pyx_v_6purple_c_request_authorize_user_data = NULL;
898
899   __pyx_r = Py_None; Py_INCREF(Py_None);
900   return __pyx_r;
901 }
902
903 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":53
904  *     c_request_authorize_user_data = NULL
905  * 
906  * cdef void notify_added(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
907  *         const_char *remote_user, const_char *id, const_char *alias, \
908  *         const_char *c_message):
909  */
910
911 static char __pyx_k_has_key[] = "has_key";
912
913 static PyObject *__pyx_kp_has_key;
914
915 static PyObject *__pyx_kp_14;
916 static PyObject *__pyx_kp_15;
917
918 static char __pyx_k_11[] = "account";
919 static char __pyx_k_12[] = "%s";
920 static char __pyx_k_13[] = "notify-added\n";
921 static char __pyx_k_14[] = "notify-added";
922 static char __pyx_k_15[] = "notify-added";
923
924 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) {
925   PurpleConnection *__pyx_v_gc;
926   PyObject *__pyx_v_remote_alias;
927   PyObject *__pyx_v_username;
928   PyObject *__pyx_v_protocol_id;
929   PyObject *__pyx_v_message;
930   int __pyx_1;
931   PyObject *__pyx_2 = 0;
932   PyObject *__pyx_3 = 0;
933   PyObject *__pyx_4 = 0;
934   PyObject *__pyx_5 = 0;
935   __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
936   __pyx_v_username = Py_None; Py_INCREF(Py_None);
937   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
938   __pyx_v_message = Py_None; Py_INCREF(Py_None);
939
940   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":61
941  *     """
942  *     cdef connection.PurpleConnection *gc = \
943  *             account.purple_account_get_connection(c_account)             # <<<<<<<<<<<<<<
944  * 
945  *     debug.purple_debug_info("account", "%s", "notify-added\n")
946  */
947   __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
948
949
950   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":63
951  *             account.purple_account_get_connection(c_account)
952  * 
953  *     debug.purple_debug_info("account", "%s", "notify-added\n")             # <<<<<<<<<<<<<<
954  * 
955  *     if alias:
956  */
957   purple_debug_info(__pyx_k_11, __pyx_k_12, __pyx_k_13);
958
959   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":65
960  *     debug.purple_debug_info("account", "%s", "notify-added\n")
961  * 
962  *     if alias:             # <<<<<<<<<<<<<<
963  *         remote_alias = <char *> alias
964  *     else:
965  */
966   __pyx_1 = (__pyx_v_alias != 0);
967   if (__pyx_1) {
968
969     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":66
970  * 
971  *     if alias:
972  *         remote_alias = <char *> alias             # <<<<<<<<<<<<<<
973  *     else:
974  *         remote_alias = None
975  */
976     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
977     Py_DECREF(__pyx_v_remote_alias);
978     __pyx_v_remote_alias = __pyx_2;
979     __pyx_2 = 0;
980     goto __pyx_L2;
981   }
982   /*else*/ {
983
984     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":68
985  *         remote_alias = <char *> alias
986  *     else:
987  *         remote_alias = None             # <<<<<<<<<<<<<<
988  * 
989  *     if id:
990  */
991     Py_INCREF(Py_None);
992     Py_DECREF(__pyx_v_remote_alias);
993     __pyx_v_remote_alias = Py_None;
994   }
995   __pyx_L2:;
996
997   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":70
998  *         remote_alias = None
999  * 
1000  *     if id:             # <<<<<<<<<<<<<<
1001  *         username = <char *> id
1002  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1003  */
1004   __pyx_1 = (__pyx_v_id != 0);
1005   if (__pyx_1) {
1006
1007     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":71
1008  * 
1009  *     if id:
1010  *         username = <char *> id             # <<<<<<<<<<<<<<
1011  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1012  *         username = connection.purple_connection_get_display_name(gc)
1013  */
1014     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1;}
1015     Py_DECREF(__pyx_v_username);
1016     __pyx_v_username = __pyx_2;
1017     __pyx_2 = 0;
1018     goto __pyx_L3;
1019   }
1020
1021   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":72
1022  *     if id:
1023  *         username = <char *> id
1024  *     elif connection.purple_connection_get_display_name(gc) != NULL:             # <<<<<<<<<<<<<<
1025  *         username = connection.purple_connection_get_display_name(gc)
1026  *     else:
1027  */
1028   __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
1029   if (__pyx_1) {
1030
1031     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":73
1032  *         username = <char *> id
1033  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1034  *         username = connection.purple_connection_get_display_name(gc)             # <<<<<<<<<<<<<<
1035  *     else:
1036  *         username = account.purple_account_get_username(c_account)
1037  */
1038     __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
1039     Py_DECREF(__pyx_v_username);
1040     __pyx_v_username = __pyx_2;
1041     __pyx_2 = 0;
1042     goto __pyx_L3;
1043   }
1044   /*else*/ {
1045
1046     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":75
1047  *         username = connection.purple_connection_get_display_name(gc)
1048  *     else:
1049  *         username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
1050  * 
1051  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1052  */
1053     __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
1054     Py_DECREF(__pyx_v_username);
1055     __pyx_v_username = __pyx_2;
1056     __pyx_2 = 0;
1057   }
1058   __pyx_L3:;
1059
1060   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":77
1061  *         username = account.purple_account_get_username(c_account)
1062  * 
1063  *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
1064  * 
1065  *     if c_message:
1066  */
1067   __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
1068   Py_DECREF(__pyx_v_protocol_id);
1069   __pyx_v_protocol_id = __pyx_2;
1070   __pyx_2 = 0;
1071
1072   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":79
1073  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1074  * 
1075  *     if c_message:             # <<<<<<<<<<<<<<
1076  *         message = <char *> c_message
1077  *     else:
1078  */
1079   __pyx_1 = (__pyx_v_c_message != 0);
1080   if (__pyx_1) {
1081
1082     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":80
1083  * 
1084  *     if c_message:
1085  *         message = <char *> c_message             # <<<<<<<<<<<<<<
1086  *     else:
1087  *         message = None
1088  */
1089     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1;}
1090     Py_DECREF(__pyx_v_message);
1091     __pyx_v_message = __pyx_2;
1092     __pyx_2 = 0;
1093     goto __pyx_L4;
1094   }
1095   /*else*/ {
1096
1097     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":82
1098  *         message = <char *> c_message
1099  *     else:
1100  *         message = None             # <<<<<<<<<<<<<<
1101  * 
1102  *     if account_cbs.has_key("notify-added"):
1103  */
1104     Py_INCREF(Py_None);
1105     Py_DECREF(__pyx_v_message);
1106     __pyx_v_message = Py_None;
1107   }
1108   __pyx_L4:;
1109
1110   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":84
1111  *         message = None
1112  * 
1113  *     if account_cbs.has_key("notify-added"):             # <<<<<<<<<<<<<<
1114  *         (<object> account_cbs["notify-added"])( \
1115  *                 (<char *> remote_user, remote_alias), \
1116  */
1117   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
1118   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
1119   Py_DECREF(__pyx_2); __pyx_2 = 0;
1120   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
1121   Py_INCREF(__pyx_kp_14);
1122   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_14);
1123   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
1124   Py_DECREF(__pyx_3); __pyx_3 = 0;
1125   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
1126   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
1127   Py_DECREF(__pyx_4); __pyx_4 = 0;
1128   if (__pyx_1) {
1129
1130     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":85
1131  * 
1132  *     if account_cbs.has_key("notify-added"):
1133  *         (<object> account_cbs["notify-added"])( \             # <<<<<<<<<<<<<<
1134  *                 (<char *> remote_user, remote_alias), \
1135  *                 (username, protocol_id), message)
1136  */
1137     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
1138     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_15); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
1139     Py_DECREF(__pyx_3); __pyx_3 = 0;
1140
1141     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":86
1142  *     if account_cbs.has_key("notify-added"):
1143  *         (<object> account_cbs["notify-added"])( \
1144  *                 (<char *> remote_user, remote_alias), \             # <<<<<<<<<<<<<<
1145  *                 (username, protocol_id), message)
1146  * 
1147  */
1148     __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1;}
1149     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1;}
1150     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
1151     Py_INCREF(__pyx_v_remote_alias);
1152     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
1153     __pyx_4 = 0;
1154
1155     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":87
1156  *         (<object> account_cbs["notify-added"])( \
1157  *                 (<char *> remote_user, remote_alias), \
1158  *                 (username, protocol_id), message)             # <<<<<<<<<<<<<<
1159  * 
1160  * cdef void status_changed(account.PurpleAccount *c_account, \
1161  */
1162     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1;}
1163     Py_INCREF(__pyx_v_username);
1164     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
1165     Py_INCREF(__pyx_v_protocol_id);
1166     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
1167     __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
1168     PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3));
1169     PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4));
1170     Py_INCREF(__pyx_v_message);
1171     PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message);
1172     __pyx_3 = 0;
1173     __pyx_4 = 0;
1174     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
1175     Py_DECREF(__pyx_2); __pyx_2 = 0;
1176     Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
1177     Py_DECREF(__pyx_3); __pyx_3 = 0;
1178     goto __pyx_L5;
1179   }
1180   __pyx_L5:;
1181
1182   goto __pyx_L0;
1183   __pyx_L1:;
1184   Py_XDECREF(__pyx_2);
1185   Py_XDECREF(__pyx_3);
1186   Py_XDECREF(__pyx_4);
1187   Py_XDECREF(__pyx_5);
1188   __Pyx_WriteUnraisable("purple.notify_added");
1189   __pyx_L0:;
1190   Py_DECREF(__pyx_v_remote_alias);
1191   Py_DECREF(__pyx_v_username);
1192   Py_DECREF(__pyx_v_protocol_id);
1193   Py_DECREF(__pyx_v_message);
1194 }
1195
1196 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":89
1197  *                 (username, protocol_id), message)
1198  * 
1199  * cdef void status_changed(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
1200  *         status.PurpleStatus *c_status):
1201  *     """
1202  */
1203
1204 static PyObject *__pyx_kp_19;
1205 static PyObject *__pyx_kp_20;
1206
1207 static char __pyx_k_16[] = "account";
1208 static char __pyx_k_17[] = "%s";
1209 static char __pyx_k_18[] = "status-changed\n";
1210 static char __pyx_k_19[] = "status-changed";
1211 static char __pyx_k_20[] = "status-changed";
1212
1213 static  void __pyx_f_6purple_status_changed(PurpleAccount *__pyx_v_c_account, PurpleStatus *__pyx_v_c_status) {
1214   PyObject *__pyx_v_username;
1215   PyObject *__pyx_v_protocol_id;
1216   PyObject *__pyx_v_status_id;
1217   PyObject *__pyx_v_status_name;
1218   PyObject *__pyx_1 = 0;
1219   PyObject *__pyx_2 = 0;
1220   PyObject *__pyx_3 = 0;
1221   int __pyx_4;
1222   __pyx_v_username = Py_None; Py_INCREF(Py_None);
1223   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
1224   __pyx_v_status_id = Py_None; Py_INCREF(Py_None);
1225   __pyx_v_status_name = Py_None; Py_INCREF(Py_None);
1226
1227   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":94
1228  *     This account's status changed.
1229  *     """
1230  *     debug.purple_debug_info("account", "%s", "status-changed\n")             # <<<<<<<<<<<<<<
1231  * 
1232  *     username = account.purple_account_get_username(c_account)
1233  */
1234   purple_debug_info(__pyx_k_16, __pyx_k_17, __pyx_k_18);
1235
1236   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":96
1237  *     debug.purple_debug_info("account", "%s", "status-changed\n")
1238  * 
1239  *     username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
1240  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1241  * 
1242  */
1243   __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
1244   Py_DECREF(__pyx_v_username);
1245   __pyx_v_username = __pyx_1;
1246   __pyx_1 = 0;
1247
1248   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":97
1249  * 
1250  *     username = account.purple_account_get_username(c_account)
1251  *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
1252  * 
1253  *     status_id = status.purple_status_get_id(c_status)
1254  */
1255   __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
1256   Py_DECREF(__pyx_v_protocol_id);
1257   __pyx_v_protocol_id = __pyx_1;
1258   __pyx_1 = 0;
1259
1260   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":99
1261  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1262  * 
1263  *     status_id = status.purple_status_get_id(c_status)             # <<<<<<<<<<<<<<
1264  *     status_name = status.purple_status_get_name(c_status)
1265  * 
1266  */
1267   __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_id(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
1268   Py_DECREF(__pyx_v_status_id);
1269   __pyx_v_status_id = __pyx_1;
1270   __pyx_1 = 0;
1271
1272   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":100
1273  * 
1274  *     status_id = status.purple_status_get_id(c_status)
1275  *     status_name = status.purple_status_get_name(c_status)             # <<<<<<<<<<<<<<
1276  * 
1277  *     if account_cbs.has_key("status-changed"):
1278  */
1279   __pyx_1 = __Pyx_PyBytes_FromString(purple_status_get_name(__pyx_v_c_status)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
1280   Py_DECREF(__pyx_v_status_name);
1281   __pyx_v_status_name = __pyx_1;
1282   __pyx_1 = 0;
1283
1284   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":102
1285  *     status_name = status.purple_status_get_name(c_status)
1286  * 
1287  *     if account_cbs.has_key("status-changed"):             # <<<<<<<<<<<<<<
1288  *         (<object> account_cbs["status-changed"])( \
1289  *                 (username, protocol_id), status_id, status_name)
1290  */
1291   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
1292   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
1293   Py_DECREF(__pyx_1); __pyx_1 = 0;
1294   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
1295   Py_INCREF(__pyx_kp_19);
1296   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_19);
1297   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
1298   Py_DECREF(__pyx_2); __pyx_2 = 0;
1299   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
1300   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
1301   Py_DECREF(__pyx_3); __pyx_3 = 0;
1302   if (__pyx_4) {
1303
1304     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":103
1305  * 
1306  *     if account_cbs.has_key("status-changed"):
1307  *         (<object> account_cbs["status-changed"])( \             # <<<<<<<<<<<<<<
1308  *                 (username, protocol_id), status_id, status_name)
1309  * 
1310  */
1311     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
1312     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_20); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
1313     Py_DECREF(__pyx_2); __pyx_2 = 0;
1314
1315     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":104
1316  *     if account_cbs.has_key("status-changed"):
1317  *         (<object> account_cbs["status-changed"])( \
1318  *                 (username, protocol_id), status_id, status_name)             # <<<<<<<<<<<<<<
1319  * 
1320  * cdef void request_add(account.PurpleAccount *c_account, \
1321  */
1322     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1;}
1323     Py_INCREF(__pyx_v_username);
1324     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_username);
1325     Py_INCREF(__pyx_v_protocol_id);
1326     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_protocol_id);
1327     __pyx_2 = PyTuple_New(3); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
1328     PyTuple_SET_ITEM(__pyx_2, 0, ((PyObject *)__pyx_3));
1329     Py_INCREF(__pyx_v_status_id);
1330     PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_status_id);
1331     Py_INCREF(__pyx_v_status_name);
1332     PyTuple_SET_ITEM(__pyx_2, 2, __pyx_v_status_name);
1333     __pyx_3 = 0;
1334     __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
1335     Py_DECREF(__pyx_1); __pyx_1 = 0;
1336     Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
1337     Py_DECREF(__pyx_3); __pyx_3 = 0;
1338     goto __pyx_L2;
1339   }
1340   __pyx_L2:;
1341
1342   goto __pyx_L0;
1343   __pyx_L1:;
1344   Py_XDECREF(__pyx_1);
1345   Py_XDECREF(__pyx_2);
1346   Py_XDECREF(__pyx_3);
1347   __Pyx_WriteUnraisable("purple.status_changed");
1348   __pyx_L0:;
1349   Py_DECREF(__pyx_v_username);
1350   Py_DECREF(__pyx_v_protocol_id);
1351   Py_DECREF(__pyx_v_status_id);
1352   Py_DECREF(__pyx_v_status_name);
1353 }
1354
1355 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":106
1356  *                 (username, protocol_id), status_id, status_name)
1357  * 
1358  * cdef void request_add(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
1359  *         const_char *remote_user, const_char *id, const_char *alias, \
1360  *         const_char *c_message):
1361  */
1362
1363 static PyObject *__pyx_kp_24;
1364 static PyObject *__pyx_kp_25;
1365
1366 static char __pyx_k_21[] = "account";
1367 static char __pyx_k_22[] = "%s";
1368 static char __pyx_k_23[] = "request-add\n";
1369 static char __pyx_k_24[] = "request-add";
1370 static char __pyx_k_25[] = "request-add";
1371
1372 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) {
1373   PurpleConnection *__pyx_v_gc;
1374   PyObject *__pyx_v_remote_alias;
1375   PyObject *__pyx_v_username;
1376   PyObject *__pyx_v_protocol_id;
1377   PyObject *__pyx_v_message;
1378   int __pyx_1;
1379   PyObject *__pyx_2 = 0;
1380   PyObject *__pyx_3 = 0;
1381   PyObject *__pyx_4 = 0;
1382   PyObject *__pyx_5 = 0;
1383   __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
1384   __pyx_v_username = Py_None; Py_INCREF(Py_None);
1385   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
1386   __pyx_v_message = Py_None; Py_INCREF(Py_None);
1387
1388   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":113
1389  *     """
1390  *     cdef connection.PurpleConnection *gc = \
1391  *             account.purple_account_get_connection(c_account)             # <<<<<<<<<<<<<<
1392  * 
1393  *     debug.purple_debug_info("account", "%s", "request-add\n")
1394  */
1395   __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
1396
1397
1398   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":115
1399  *             account.purple_account_get_connection(c_account)
1400  * 
1401  *     debug.purple_debug_info("account", "%s", "request-add\n")             # <<<<<<<<<<<<<<
1402  * 
1403  *     if alias:
1404  */
1405   purple_debug_info(__pyx_k_21, __pyx_k_22, __pyx_k_23);
1406
1407   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":117
1408  *     debug.purple_debug_info("account", "%s", "request-add\n")
1409  * 
1410  *     if alias:             # <<<<<<<<<<<<<<
1411  *         remote_alias = <char *> alias
1412  *     else:
1413  */
1414   __pyx_1 = (__pyx_v_alias != 0);
1415   if (__pyx_1) {
1416
1417     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":118
1418  * 
1419  *     if alias:
1420  *         remote_alias = <char *> alias             # <<<<<<<<<<<<<<
1421  *     else:
1422  *         remote_alias = None
1423  */
1424     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1;}
1425     Py_DECREF(__pyx_v_remote_alias);
1426     __pyx_v_remote_alias = __pyx_2;
1427     __pyx_2 = 0;
1428     goto __pyx_L2;
1429   }
1430   /*else*/ {
1431
1432     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":120
1433  *         remote_alias = <char *> alias
1434  *     else:
1435  *         remote_alias = None             # <<<<<<<<<<<<<<
1436  * 
1437  *     if id:
1438  */
1439     Py_INCREF(Py_None);
1440     Py_DECREF(__pyx_v_remote_alias);
1441     __pyx_v_remote_alias = Py_None;
1442   }
1443   __pyx_L2:;
1444
1445   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":122
1446  *         remote_alias = None
1447  * 
1448  *     if id:             # <<<<<<<<<<<<<<
1449  *         username = <char *> id
1450  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1451  */
1452   __pyx_1 = (__pyx_v_id != 0);
1453   if (__pyx_1) {
1454
1455     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":123
1456  * 
1457  *     if id:
1458  *         username = <char *> id             # <<<<<<<<<<<<<<
1459  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1460  *         username = connection.purple_connection_get_display_name(gc)
1461  */
1462     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
1463     Py_DECREF(__pyx_v_username);
1464     __pyx_v_username = __pyx_2;
1465     __pyx_2 = 0;
1466     goto __pyx_L3;
1467   }
1468
1469   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":124
1470  *     if id:
1471  *         username = <char *> id
1472  *     elif connection.purple_connection_get_display_name(gc) != NULL:             # <<<<<<<<<<<<<<
1473  *         username = connection.purple_connection_get_display_name(gc)
1474  *     else:
1475  */
1476   __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
1477   if (__pyx_1) {
1478
1479     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":125
1480  *         username = <char *> id
1481  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1482  *         username = connection.purple_connection_get_display_name(gc)             # <<<<<<<<<<<<<<
1483  *     else:
1484  *         username = account.purple_account_get_username(c_account)
1485  */
1486     __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
1487     Py_DECREF(__pyx_v_username);
1488     __pyx_v_username = __pyx_2;
1489     __pyx_2 = 0;
1490     goto __pyx_L3;
1491   }
1492   /*else*/ {
1493
1494     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":127
1495  *         username = connection.purple_connection_get_display_name(gc)
1496  *     else:
1497  *         username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
1498  * 
1499  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1500  */
1501     __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
1502     Py_DECREF(__pyx_v_username);
1503     __pyx_v_username = __pyx_2;
1504     __pyx_2 = 0;
1505   }
1506   __pyx_L3:;
1507
1508   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":129
1509  *         username = account.purple_account_get_username(c_account)
1510  * 
1511  *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
1512  * 
1513  *     if c_message:
1514  */
1515   __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
1516   Py_DECREF(__pyx_v_protocol_id);
1517   __pyx_v_protocol_id = __pyx_2;
1518   __pyx_2 = 0;
1519
1520   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":131
1521  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1522  * 
1523  *     if c_message:             # <<<<<<<<<<<<<<
1524  *         message = <char *> c_message
1525  *     else:
1526  */
1527   __pyx_1 = (__pyx_v_c_message != 0);
1528   if (__pyx_1) {
1529
1530     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":132
1531  * 
1532  *     if c_message:
1533  *         message = <char *> c_message             # <<<<<<<<<<<<<<
1534  *     else:
1535  *         message = None
1536  */
1537     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
1538     Py_DECREF(__pyx_v_message);
1539     __pyx_v_message = __pyx_2;
1540     __pyx_2 = 0;
1541     goto __pyx_L4;
1542   }
1543   /*else*/ {
1544
1545     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":134
1546  *         message = <char *> c_message
1547  *     else:
1548  *         message = None             # <<<<<<<<<<<<<<
1549  * 
1550  *     if account_cbs.has_key("request-add"):
1551  */
1552     Py_INCREF(Py_None);
1553     Py_DECREF(__pyx_v_message);
1554     __pyx_v_message = Py_None;
1555   }
1556   __pyx_L4:;
1557
1558   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":136
1559  *         message = None
1560  * 
1561  *     if account_cbs.has_key("request-add"):             # <<<<<<<<<<<<<<
1562  *         (<object> account_cbs["request-add"])( \
1563  *                 (<char *> remote_user, remote_alias), \
1564  */
1565   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
1566   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
1567   Py_DECREF(__pyx_2); __pyx_2 = 0;
1568   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
1569   Py_INCREF(__pyx_kp_24);
1570   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_24);
1571   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
1572   Py_DECREF(__pyx_3); __pyx_3 = 0;
1573   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
1574   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
1575   Py_DECREF(__pyx_4); __pyx_4 = 0;
1576   if (__pyx_1) {
1577
1578     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":137
1579  * 
1580  *     if account_cbs.has_key("request-add"):
1581  *         (<object> account_cbs["request-add"])( \             # <<<<<<<<<<<<<<
1582  *                 (<char *> remote_user, remote_alias), \
1583  *                 (username, protocol_id), message)
1584  */
1585     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
1586     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_25); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
1587     Py_DECREF(__pyx_3); __pyx_3 = 0;
1588
1589     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":138
1590  *     if account_cbs.has_key("request-add"):
1591  *         (<object> account_cbs["request-add"])( \
1592  *                 (<char *> remote_user, remote_alias), \             # <<<<<<<<<<<<<<
1593  *                 (username, protocol_id), message)
1594  * 
1595  */
1596     __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
1597     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
1598     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
1599     Py_INCREF(__pyx_v_remote_alias);
1600     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
1601     __pyx_4 = 0;
1602
1603     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":139
1604  *         (<object> account_cbs["request-add"])( \
1605  *                 (<char *> remote_user, remote_alias), \
1606  *                 (username, protocol_id), message)             # <<<<<<<<<<<<<<
1607  * 
1608  * cdef void *request_authorize(account.PurpleAccount *c_account, \
1609  */
1610     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1;}
1611     Py_INCREF(__pyx_v_username);
1612     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
1613     Py_INCREF(__pyx_v_protocol_id);
1614     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
1615     __pyx_5 = PyTuple_New(3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
1616     PyTuple_SET_ITEM(__pyx_5, 0, ((PyObject *)__pyx_3));
1617     PyTuple_SET_ITEM(__pyx_5, 1, ((PyObject *)__pyx_4));
1618     Py_INCREF(__pyx_v_message);
1619     PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_message);
1620     __pyx_3 = 0;
1621     __pyx_4 = 0;
1622     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
1623     Py_DECREF(__pyx_2); __pyx_2 = 0;
1624     Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
1625     Py_DECREF(__pyx_3); __pyx_3 = 0;
1626     goto __pyx_L5;
1627   }
1628   __pyx_L5:;
1629
1630   goto __pyx_L0;
1631   __pyx_L1:;
1632   Py_XDECREF(__pyx_2);
1633   Py_XDECREF(__pyx_3);
1634   Py_XDECREF(__pyx_4);
1635   Py_XDECREF(__pyx_5);
1636   __Pyx_WriteUnraisable("purple.request_add");
1637   __pyx_L0:;
1638   Py_DECREF(__pyx_v_remote_alias);
1639   Py_DECREF(__pyx_v_username);
1640   Py_DECREF(__pyx_v_protocol_id);
1641   Py_DECREF(__pyx_v_message);
1642 }
1643
1644 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":141
1645  *                 (username, protocol_id), message)
1646  * 
1647  * cdef void *request_authorize(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
1648  *         const_char *remote_user, const_char *id, const_char *alias, \
1649  *         const_char *c_message, glib.gboolean on_list, \
1650  */
1651
1652 static char __pyx_k_call_authorize_cb[] = "call_authorize_cb";
1653 static char __pyx_k_call_deny_cb[] = "call_deny_cb";
1654
1655 static PyObject *__pyx_kp_call_authorize_cb;
1656 static PyObject *__pyx_kp_call_deny_cb;
1657
1658 static PyObject *__pyx_kp_29;
1659 static PyObject *__pyx_kp_30;
1660
1661 static char __pyx_k_26[] = "account";
1662 static char __pyx_k_27[] = "%s";
1663 static char __pyx_k_28[] = "request-authorize\n";
1664 static char __pyx_k_29[] = "request-authorize";
1665 static char __pyx_k_30[] = "request-authorize";
1666
1667 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) {
1668   PurpleConnection *__pyx_v_gc;
1669   PyObject *__pyx_v_remote_alias;
1670   PyObject *__pyx_v_username;
1671   PyObject *__pyx_v_protocol_id;
1672   PyObject *__pyx_v_message;
1673   void *__pyx_r;
1674   int __pyx_1;
1675   PyObject *__pyx_2 = 0;
1676   PyObject *__pyx_3 = 0;
1677   PyObject *__pyx_4 = 0;
1678   PyObject *__pyx_5 = 0;
1679   PyObject *__pyx_6 = 0;
1680   PyObject *__pyx_7 = 0;
1681   PyObject *__pyx_8 = 0;
1682   __pyx_v_remote_alias = Py_None; Py_INCREF(Py_None);
1683   __pyx_v_username = Py_None; Py_INCREF(Py_None);
1684   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
1685   __pyx_v_message = Py_None; Py_INCREF(Py_None);
1686
1687   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":154
1688  *     """
1689  *     cdef connection.PurpleConnection *gc = \
1690  *             account.purple_account_get_connection(c_account)             # <<<<<<<<<<<<<<
1691  * 
1692  *     debug.purple_debug_info("account", "%s", "request-authorize\n")
1693  */
1694   __pyx_v_gc = purple_account_get_connection(__pyx_v_c_account);
1695
1696
1697   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":156
1698  *             account.purple_account_get_connection(c_account)
1699  * 
1700  *     debug.purple_debug_info("account", "%s", "request-authorize\n")             # <<<<<<<<<<<<<<
1701  * 
1702  *     global c_request_authorize_authorize_cb
1703  */
1704   purple_debug_info(__pyx_k_26, __pyx_k_27, __pyx_k_28);
1705
1706   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":162
1707  *     global c_request_authorize_user_data
1708  * 
1709  *     c_request_authorize_authorize_cb = authorize_cb             # <<<<<<<<<<<<<<
1710  *     c_request_authorize_deny_cb = deny_cb
1711  *     c_request_authorize_user_data = user_data
1712  */
1713   __pyx_v_6purple_c_request_authorize_authorize_cb = __pyx_v_authorize_cb;
1714
1715   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":163
1716  * 
1717  *     c_request_authorize_authorize_cb = authorize_cb
1718  *     c_request_authorize_deny_cb = deny_cb             # <<<<<<<<<<<<<<
1719  *     c_request_authorize_user_data = user_data
1720  * 
1721  */
1722   __pyx_v_6purple_c_request_authorize_deny_cb = __pyx_v_deny_cb;
1723
1724   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":164
1725  *     c_request_authorize_authorize_cb = authorize_cb
1726  *     c_request_authorize_deny_cb = deny_cb
1727  *     c_request_authorize_user_data = user_data             # <<<<<<<<<<<<<<
1728  * 
1729  *     if alias:
1730  */
1731   __pyx_v_6purple_c_request_authorize_user_data = __pyx_v_user_data;
1732
1733   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":166
1734  *     c_request_authorize_user_data = user_data
1735  * 
1736  *     if alias:             # <<<<<<<<<<<<<<
1737  *         remote_alias = <char *> alias
1738  *     else:
1739  */
1740   __pyx_1 = (__pyx_v_alias != 0);
1741   if (__pyx_1) {
1742
1743     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":167
1744  * 
1745  *     if alias:
1746  *         remote_alias = <char *> alias             # <<<<<<<<<<<<<<
1747  *     else:
1748  *         remote_alias = None
1749  */
1750     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_alias)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1;}
1751     Py_DECREF(__pyx_v_remote_alias);
1752     __pyx_v_remote_alias = __pyx_2;
1753     __pyx_2 = 0;
1754     goto __pyx_L2;
1755   }
1756   /*else*/ {
1757
1758     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":169
1759  *         remote_alias = <char *> alias
1760  *     else:
1761  *         remote_alias = None             # <<<<<<<<<<<<<<
1762  * 
1763  *     if id:
1764  */
1765     Py_INCREF(Py_None);
1766     Py_DECREF(__pyx_v_remote_alias);
1767     __pyx_v_remote_alias = Py_None;
1768   }
1769   __pyx_L2:;
1770
1771   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":171
1772  *         remote_alias = None
1773  * 
1774  *     if id:             # <<<<<<<<<<<<<<
1775  *         username = <char *> id
1776  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1777  */
1778   __pyx_1 = (__pyx_v_id != 0);
1779   if (__pyx_1) {
1780
1781     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":172
1782  * 
1783  *     if id:
1784  *         username = <char *> id             # <<<<<<<<<<<<<<
1785  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1786  *         username = connection.purple_connection_get_display_name(gc)
1787  */
1788     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
1789     Py_DECREF(__pyx_v_username);
1790     __pyx_v_username = __pyx_2;
1791     __pyx_2 = 0;
1792     goto __pyx_L3;
1793   }
1794
1795   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":173
1796  *     if id:
1797  *         username = <char *> id
1798  *     elif connection.purple_connection_get_display_name(gc) != NULL:             # <<<<<<<<<<<<<<
1799  *         username = connection.purple_connection_get_display_name(gc)
1800  *     else:
1801  */
1802   __pyx_1 = (purple_connection_get_display_name(__pyx_v_gc) != NULL);
1803   if (__pyx_1) {
1804
1805     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":174
1806  *         username = <char *> id
1807  *     elif connection.purple_connection_get_display_name(gc) != NULL:
1808  *         username = connection.purple_connection_get_display_name(gc)             # <<<<<<<<<<<<<<
1809  *     else:
1810  *         username = account.purple_account_get_username(c_account)
1811  */
1812     __pyx_2 = __Pyx_PyBytes_FromString(purple_connection_get_display_name(__pyx_v_gc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1;}
1813     Py_DECREF(__pyx_v_username);
1814     __pyx_v_username = __pyx_2;
1815     __pyx_2 = 0;
1816     goto __pyx_L3;
1817   }
1818   /*else*/ {
1819
1820     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":176
1821  *         username = connection.purple_connection_get_display_name(gc)
1822  *     else:
1823  *         username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
1824  * 
1825  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1826  */
1827     __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
1828     Py_DECREF(__pyx_v_username);
1829     __pyx_v_username = __pyx_2;
1830     __pyx_2 = 0;
1831   }
1832   __pyx_L3:;
1833
1834   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":178
1835  *         username = account.purple_account_get_username(c_account)
1836  * 
1837  *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
1838  * 
1839  *     if c_message:
1840  */
1841   __pyx_2 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1;}
1842   Py_DECREF(__pyx_v_protocol_id);
1843   __pyx_v_protocol_id = __pyx_2;
1844   __pyx_2 = 0;
1845
1846   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":180
1847  *     protocol_id = account.purple_account_get_protocol_id(c_account)
1848  * 
1849  *     if c_message:             # <<<<<<<<<<<<<<
1850  *         message = <char *> c_message
1851  *     else:
1852  */
1853   __pyx_1 = (__pyx_v_c_message != 0);
1854   if (__pyx_1) {
1855
1856     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":181
1857  * 
1858  *     if c_message:
1859  *         message = <char *> c_message             # <<<<<<<<<<<<<<
1860  *     else:
1861  *         message = None
1862  */
1863     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1;}
1864     Py_DECREF(__pyx_v_message);
1865     __pyx_v_message = __pyx_2;
1866     __pyx_2 = 0;
1867     goto __pyx_L4;
1868   }
1869   /*else*/ {
1870
1871     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":183
1872  *         message = <char *> c_message
1873  *     else:
1874  *         message = None             # <<<<<<<<<<<<<<
1875  * 
1876  *     if account_cbs.has_key("request-authorize"):
1877  */
1878     Py_INCREF(Py_None);
1879     Py_DECREF(__pyx_v_message);
1880     __pyx_v_message = Py_None;
1881   }
1882   __pyx_L4:;
1883
1884   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":185
1885  *         message = None
1886  * 
1887  *     if account_cbs.has_key("request-authorize"):             # <<<<<<<<<<<<<<
1888  *         (<object> account_cbs["request-authorize"])( \
1889  *                 (<char *> remote_user, remote_alias), \
1890  */
1891   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
1892   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
1893   Py_DECREF(__pyx_2); __pyx_2 = 0;
1894   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
1895   Py_INCREF(__pyx_kp_29);
1896   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_29);
1897   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
1898   Py_DECREF(__pyx_3); __pyx_3 = 0;
1899   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
1900   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
1901   Py_DECREF(__pyx_4); __pyx_4 = 0;
1902   if (__pyx_1) {
1903
1904     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":186
1905  * 
1906  *     if account_cbs.has_key("request-authorize"):
1907  *         (<object> account_cbs["request-authorize"])( \             # <<<<<<<<<<<<<<
1908  *                 (<char *> remote_user, remote_alias), \
1909  *                 (username, protocol_id), \
1910  */
1911     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
1912     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_30); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
1913     Py_DECREF(__pyx_3); __pyx_3 = 0;
1914
1915     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":187
1916  *     if account_cbs.has_key("request-authorize"):
1917  *         (<object> account_cbs["request-authorize"])( \
1918  *                 (<char *> remote_user, remote_alias), \             # <<<<<<<<<<<<<<
1919  *                 (username, protocol_id), \
1920  *                 message, on_list, \
1921  */
1922     __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_remote_user)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1;}
1923     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1;}
1924     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
1925     Py_INCREF(__pyx_v_remote_alias);
1926     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_remote_alias);
1927     __pyx_4 = 0;
1928
1929     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":188
1930  *         (<object> account_cbs["request-authorize"])( \
1931  *                 (<char *> remote_user, remote_alias), \
1932  *                 (username, protocol_id), \             # <<<<<<<<<<<<<<
1933  *                 message, on_list, \
1934  *                 call_authorize_cb, call_deny_cb)
1935  */
1936     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1;}
1937     Py_INCREF(__pyx_v_username);
1938     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
1939     Py_INCREF(__pyx_v_protocol_id);
1940     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
1941
1942     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":189
1943  *                 (<char *> remote_user, remote_alias), \
1944  *                 (username, protocol_id), \
1945  *                 message, on_list, \             # <<<<<<<<<<<<<<
1946  *                 call_authorize_cb, call_deny_cb)
1947  * 
1948  */
1949     __pyx_5 = PyInt_FromLong(__pyx_v_on_list); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1;}
1950
1951     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":190
1952  *                 (username, protocol_id), \
1953  *                 message, on_list, \
1954  *                 call_authorize_cb, call_deny_cb)             # <<<<<<<<<<<<<<
1955  * 
1956  * cdef void close_account_request (void *ui_handle):
1957  */
1958     __pyx_6 = __Pyx_GetName(__pyx_m, __pyx_kp_call_authorize_cb); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1;}
1959     __pyx_7 = __Pyx_GetName(__pyx_m, __pyx_kp_call_deny_cb); if (unlikely(!__pyx_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1;}
1960     __pyx_8 = PyTuple_New(6); if (unlikely(!__pyx_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
1961     PyTuple_SET_ITEM(__pyx_8, 0, ((PyObject *)__pyx_3));
1962     PyTuple_SET_ITEM(__pyx_8, 1, ((PyObject *)__pyx_4));
1963     Py_INCREF(__pyx_v_message);
1964     PyTuple_SET_ITEM(__pyx_8, 2, __pyx_v_message);
1965     PyTuple_SET_ITEM(__pyx_8, 3, __pyx_5);
1966     PyTuple_SET_ITEM(__pyx_8, 4, __pyx_6);
1967     PyTuple_SET_ITEM(__pyx_8, 5, __pyx_7);
1968     __pyx_3 = 0;
1969     __pyx_4 = 0;
1970     __pyx_5 = 0;
1971     __pyx_6 = 0;
1972     __pyx_7 = 0;
1973     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_8), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
1974     Py_DECREF(__pyx_2); __pyx_2 = 0;
1975     Py_DECREF(((PyObject *)__pyx_8)); __pyx_8 = 0;
1976     Py_DECREF(__pyx_3); __pyx_3 = 0;
1977     goto __pyx_L5;
1978   }
1979   __pyx_L5:;
1980
1981   __pyx_r = 0;
1982   goto __pyx_L0;
1983   __pyx_L1:;
1984   Py_XDECREF(__pyx_2);
1985   Py_XDECREF(__pyx_3);
1986   Py_XDECREF(__pyx_4);
1987   Py_XDECREF(__pyx_5);
1988   Py_XDECREF(__pyx_6);
1989   Py_XDECREF(__pyx_7);
1990   Py_XDECREF(__pyx_8);
1991   __Pyx_WriteUnraisable("purple.request_authorize");
1992   __pyx_r = 0;
1993   __pyx_L0:;
1994   Py_DECREF(__pyx_v_remote_alias);
1995   Py_DECREF(__pyx_v_username);
1996   Py_DECREF(__pyx_v_protocol_id);
1997   Py_DECREF(__pyx_v_message);
1998   return __pyx_r;
1999 }
2000
2001 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":192
2002  *                 call_authorize_cb, call_deny_cb)
2003  * 
2004  * cdef void close_account_request (void *ui_handle):             # <<<<<<<<<<<<<<
2005  *     """
2006  *     Close a pending request for authorization. ui_handle is a handle as
2007  */
2008
2009 static PyObject *__pyx_kp_34;
2010 static PyObject *__pyx_kp_35;
2011
2012 static char __pyx_k_31[] = "account";
2013 static char __pyx_k_32[] = "%s";
2014 static char __pyx_k_33[] = "close-account-request\n";
2015 static char __pyx_k_34[] = "close-account-request";
2016 static char __pyx_k_35[] = "close-account-request";
2017
2018 static  void __pyx_f_6purple_close_account_request(void *__pyx_v_ui_handle) {
2019   PyObject *__pyx_1 = 0;
2020   PyObject *__pyx_2 = 0;
2021   PyObject *__pyx_3 = 0;
2022   int __pyx_4;
2023
2024   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":197
2025  *     returned by request_authorize.
2026  *     """
2027  *     debug.purple_debug_info("account", "%s", "close-account-request\n")             # <<<<<<<<<<<<<<
2028  * 
2029  *     request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)
2030  */
2031   purple_debug_info(__pyx_k_31, __pyx_k_32, __pyx_k_33);
2032
2033   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":199
2034  *     debug.purple_debug_info("account", "%s", "close-account-request\n")
2035  * 
2036  *     request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)             # <<<<<<<<<<<<<<
2037  * 
2038  *     if account_cbs.has_key("close-account-request"):
2039  */
2040   purple_request_close(PURPLE_REQUEST_ACTION, __pyx_v_ui_handle);
2041
2042   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":201
2043  *     request.purple_request_close(request.PURPLE_REQUEST_ACTION, ui_handle)
2044  * 
2045  *     if account_cbs.has_key("close-account-request"):             # <<<<<<<<<<<<<<
2046  *         (<object> account_cbs["close-account-request"])()
2047  */
2048   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
2049   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
2050   Py_DECREF(__pyx_1); __pyx_1 = 0;
2051   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
2052   Py_INCREF(__pyx_kp_34);
2053   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_34);
2054   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
2055   Py_DECREF(__pyx_2); __pyx_2 = 0;
2056   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
2057   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
2058   Py_DECREF(__pyx_3); __pyx_3 = 0;
2059   if (__pyx_4) {
2060
2061     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":202
2062  * 
2063  *     if account_cbs.has_key("close-account-request"):
2064  *         (<object> account_cbs["close-account-request"])()             # <<<<<<<<<<<<<<
2065  */
2066     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
2067     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_35); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
2068     Py_DECREF(__pyx_2); __pyx_2 = 0;
2069     __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
2070     Py_DECREF(__pyx_1); __pyx_1 = 0;
2071     Py_DECREF(__pyx_3); __pyx_3 = 0;
2072     goto __pyx_L2;
2073   }
2074   __pyx_L2:;
2075
2076   goto __pyx_L0;
2077   __pyx_L1:;
2078   Py_XDECREF(__pyx_1);
2079   Py_XDECREF(__pyx_2);
2080   Py_XDECREF(__pyx_3);
2081   __Pyx_WriteUnraisable("purple.close_account_request");
2082   __pyx_L0:;
2083 }
2084
2085 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":27
2086  * blist_cbs = {}
2087  * 
2088  * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
2089  *     cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
2090  *     cdef char *c_name = NULL
2091  */
2092
2093 static  void __pyx_f_6purple___group_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2094   PurpleGroup *__pyx_v_group;
2095   char *__pyx_v_c_name;
2096   PyObject *__pyx_v_name;
2097   PyObject *__pyx_v_currentsize;
2098   PyObject *__pyx_v_totalsize;
2099   PyObject *__pyx_v_online;
2100   int __pyx_1;
2101   PyObject *__pyx_2 = 0;
2102   PyObject *__pyx_3 = 0;
2103   __pyx_v_name = Py_None; Py_INCREF(Py_None);
2104   __pyx_v_currentsize = Py_None; Py_INCREF(Py_None);
2105   __pyx_v_totalsize = Py_None; Py_INCREF(Py_None);
2106   __pyx_v_online = Py_None; Py_INCREF(Py_None);
2107
2108   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":28
2109  * 
2110  * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
2111  *     cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node             # <<<<<<<<<<<<<<
2112  *     cdef char *c_name = NULL
2113  * 
2114  */
2115   __pyx_v_group = ((PurpleGroup *)__pyx_v_node);
2116
2117
2118   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":29
2119  * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
2120  *     cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
2121  *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
2122  * 
2123  *     c_name = <char *> blist.purple_group_get_name(group)
2124  */
2125   __pyx_v_c_name = NULL;
2126
2127
2128   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":31
2129  *     cdef char *c_name = NULL
2130  * 
2131  *     c_name = <char *> blist.purple_group_get_name(group)             # <<<<<<<<<<<<<<
2132  *     if c_name == NULL:
2133  *         name = None
2134  */
2135   __pyx_v_c_name = ((char *)purple_group_get_name(__pyx_v_group));
2136
2137   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":32
2138  * 
2139  *     c_name = <char *> blist.purple_group_get_name(group)
2140  *     if c_name == NULL:             # <<<<<<<<<<<<<<
2141  *         name = None
2142  *     else:
2143  */
2144   __pyx_1 = (__pyx_v_c_name == NULL);
2145   if (__pyx_1) {
2146
2147     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":33
2148  *     c_name = <char *> blist.purple_group_get_name(group)
2149  *     if c_name == NULL:
2150  *         name = None             # <<<<<<<<<<<<<<
2151  *     else:
2152  *         name = c_name
2153  */
2154     Py_INCREF(Py_None);
2155     Py_DECREF(__pyx_v_name);
2156     __pyx_v_name = Py_None;
2157     goto __pyx_L2;
2158   }
2159   /*else*/ {
2160
2161     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":35
2162  *         name = None
2163  *     else:
2164  *         name = c_name             # <<<<<<<<<<<<<<
2165  * 
2166  *     currentsize = blist.purple_blist_get_group_size(group, False)
2167  */
2168     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
2169     Py_DECREF(__pyx_v_name);
2170     __pyx_v_name = __pyx_2;
2171     __pyx_2 = 0;
2172   }
2173   __pyx_L2:;
2174
2175   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":37
2176  *         name = c_name
2177  * 
2178  *     currentsize = blist.purple_blist_get_group_size(group, False)             # <<<<<<<<<<<<<<
2179  *     totalsize = blist.purple_blist_get_group_size(group, True)
2180  *     online = blist.purple_blist_get_group_online_count(group)
2181  */
2182   __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 0)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1;}
2183   Py_DECREF(__pyx_v_currentsize);
2184   __pyx_v_currentsize = __pyx_2;
2185   __pyx_2 = 0;
2186
2187   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":38
2188  * 
2189  *     currentsize = blist.purple_blist_get_group_size(group, False)
2190  *     totalsize = blist.purple_blist_get_group_size(group, True)             # <<<<<<<<<<<<<<
2191  *     online = blist.purple_blist_get_group_online_count(group)
2192  * 
2193  */
2194   __pyx_2 = PyInt_FromLong(purple_blist_get_group_size(__pyx_v_group, 1)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
2195   Py_DECREF(__pyx_v_totalsize);
2196   __pyx_v_totalsize = __pyx_2;
2197   __pyx_2 = 0;
2198
2199   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":39
2200  *     currentsize = blist.purple_blist_get_group_size(group, False)
2201  *     totalsize = blist.purple_blist_get_group_size(group, True)
2202  *     online = blist.purple_blist_get_group_online_count(group)             # <<<<<<<<<<<<<<
2203  * 
2204  *     callback(node.type, name, totalsize, currentsize, online)
2205  */
2206   __pyx_2 = PyInt_FromLong(purple_blist_get_group_online_count(__pyx_v_group)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
2207   Py_DECREF(__pyx_v_online);
2208   __pyx_v_online = __pyx_2;
2209   __pyx_2 = 0;
2210
2211   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":41
2212  *     online = blist.purple_blist_get_group_online_count(group)
2213  * 
2214  *     callback(node.type, name, totalsize, currentsize, online)             # <<<<<<<<<<<<<<
2215  * 
2216  * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
2217  */
2218   __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
2219   __pyx_3 = PyTuple_New(5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
2220   PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
2221   Py_INCREF(__pyx_v_name);
2222   PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
2223   Py_INCREF(__pyx_v_totalsize);
2224   PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_totalsize);
2225   Py_INCREF(__pyx_v_currentsize);
2226   PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_currentsize);
2227   Py_INCREF(__pyx_v_online);
2228   PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_online);
2229   __pyx_2 = 0;
2230   __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
2231   Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
2232   Py_DECREF(__pyx_2); __pyx_2 = 0;
2233
2234   goto __pyx_L0;
2235   __pyx_L1:;
2236   Py_XDECREF(__pyx_2);
2237   Py_XDECREF(__pyx_3);
2238   __Pyx_WriteUnraisable("purple.__group_node_cb");
2239   __pyx_L0:;
2240   Py_DECREF(__pyx_v_name);
2241   Py_DECREF(__pyx_v_currentsize);
2242   Py_DECREF(__pyx_v_totalsize);
2243   Py_DECREF(__pyx_v_online);
2244 }
2245
2246 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":43
2247  *     callback(node.type, name, totalsize, currentsize, online)
2248  * 
2249  * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
2250  *     cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
2251  *     cdef char *c_alias = NULL
2252  */
2253
2254 static  void __pyx_f_6purple___contact_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2255   PurpleContact *__pyx_v_contact;
2256   char *__pyx_v_c_alias;
2257   PyObject *__pyx_v_alias;
2258   int __pyx_1;
2259   PyObject *__pyx_2 = 0;
2260   PyObject *__pyx_3 = 0;
2261   PyObject *__pyx_4 = 0;
2262   PyObject *__pyx_5 = 0;
2263   PyObject *__pyx_6 = 0;
2264   __pyx_v_alias = Py_None; Py_INCREF(Py_None);
2265
2266   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":44
2267  * 
2268  * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
2269  *     cdef blist.PurpleContact *contact = <blist.PurpleContact *>node             # <<<<<<<<<<<<<<
2270  *     cdef char *c_alias = NULL
2271  * 
2272  */
2273   __pyx_v_contact = ((PurpleContact *)__pyx_v_node);
2274
2275
2276   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":45
2277  * cdef void __contact_node_cb(blist.PurpleBlistNode *node, object callback):
2278  *     cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
2279  *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
2280  * 
2281  *     c_alias = <char *> blist.purple_contact_get_alias(contact)
2282  */
2283   __pyx_v_c_alias = NULL;
2284
2285
2286   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":47
2287  *     cdef char *c_alias = NULL
2288  * 
2289  *     c_alias = <char *> blist.purple_contact_get_alias(contact)             # <<<<<<<<<<<<<<
2290  *     if c_alias == NULL:
2291  *         alias = None
2292  */
2293   __pyx_v_c_alias = ((char *)purple_contact_get_alias(__pyx_v_contact));
2294
2295   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":48
2296  * 
2297  *     c_alias = <char *> blist.purple_contact_get_alias(contact)
2298  *     if c_alias == NULL:             # <<<<<<<<<<<<<<
2299  *         alias = None
2300  *     else:
2301  */
2302   __pyx_1 = (__pyx_v_c_alias == NULL);
2303   if (__pyx_1) {
2304
2305     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":49
2306  *     c_alias = <char *> blist.purple_contact_get_alias(contact)
2307  *     if c_alias == NULL:
2308  *         alias = None             # <<<<<<<<<<<<<<
2309  *     else:
2310  *         alias = c_alias
2311  */
2312     Py_INCREF(Py_None);
2313     Py_DECREF(__pyx_v_alias);
2314     __pyx_v_alias = Py_None;
2315     goto __pyx_L2;
2316   }
2317   /*else*/ {
2318
2319     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":51
2320  *         alias = None
2321  *     else:
2322  *         alias = c_alias             # <<<<<<<<<<<<<<
2323  * 
2324  *     callback(node.type, alias, contact.totalsize, contact.currentsize, \
2325  */
2326     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1;}
2327     Py_DECREF(__pyx_v_alias);
2328     __pyx_v_alias = __pyx_2;
2329     __pyx_2 = 0;
2330   }
2331   __pyx_L2:;
2332
2333   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":53
2334  *         alias = c_alias
2335  * 
2336  *     callback(node.type, alias, contact.totalsize, contact.currentsize, \             # <<<<<<<<<<<<<<
2337  *              contact.online)
2338  * 
2339  */
2340   __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
2341   __pyx_3 = PyInt_FromLong(__pyx_v_contact->totalsize); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
2342   __pyx_4 = PyInt_FromLong(__pyx_v_contact->currentsize); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
2343
2344   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":54
2345  * 
2346  *     callback(node.type, alias, contact.totalsize, contact.currentsize, \
2347  *              contact.online)             # <<<<<<<<<<<<<<
2348  * 
2349  * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
2350  */
2351   __pyx_5 = PyInt_FromLong(__pyx_v_contact->online); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
2352   __pyx_6 = PyTuple_New(5); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
2353   PyTuple_SET_ITEM(__pyx_6, 0, __pyx_2);
2354   Py_INCREF(__pyx_v_alias);
2355   PyTuple_SET_ITEM(__pyx_6, 1, __pyx_v_alias);
2356   PyTuple_SET_ITEM(__pyx_6, 2, __pyx_3);
2357   PyTuple_SET_ITEM(__pyx_6, 3, __pyx_4);
2358   PyTuple_SET_ITEM(__pyx_6, 4, __pyx_5);
2359   __pyx_2 = 0;
2360   __pyx_3 = 0;
2361   __pyx_4 = 0;
2362   __pyx_5 = 0;
2363   __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
2364   Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0;
2365   Py_DECREF(__pyx_2); __pyx_2 = 0;
2366
2367   goto __pyx_L0;
2368   __pyx_L1:;
2369   Py_XDECREF(__pyx_2);
2370   Py_XDECREF(__pyx_3);
2371   Py_XDECREF(__pyx_4);
2372   Py_XDECREF(__pyx_5);
2373   Py_XDECREF(__pyx_6);
2374   __Pyx_WriteUnraisable("purple.__contact_node_cb");
2375   __pyx_L0:;
2376   Py_DECREF(__pyx_v_alias);
2377 }
2378
2379 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":56
2380  *              contact.online)
2381  * 
2382  * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
2383  *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
2384  *     cdef char *c_name = NULL
2385  */
2386
2387 static  void __pyx_f_6purple___buddy_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2388   PurpleBuddy *__pyx_v_buddy;
2389   char *__pyx_v_c_name;
2390   char *__pyx_v_c_alias;
2391   PyObject *__pyx_v_name;
2392   PyObject *__pyx_v_alias;
2393   int __pyx_1;
2394   PyObject *__pyx_2 = 0;
2395   PyObject *__pyx_3 = 0;
2396   __pyx_v_name = Py_None; Py_INCREF(Py_None);
2397   __pyx_v_alias = Py_None; Py_INCREF(Py_None);
2398
2399   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":57
2400  * 
2401  * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
2402  *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node             # <<<<<<<<<<<<<<
2403  *     cdef char *c_name = NULL
2404  *     cdef char *c_alias = NULL
2405  */
2406   __pyx_v_buddy = ((PurpleBuddy *)__pyx_v_node);
2407
2408
2409   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":58
2410  * cdef void __buddy_node_cb(blist.PurpleBlistNode *node, object callback):
2411  *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
2412  *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
2413  *     cdef char *c_alias = NULL
2414  * 
2415  */
2416   __pyx_v_c_name = NULL;
2417
2418
2419   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":59
2420  *     cdef blist.PurpleBuddy *buddy = <blist.PurpleBuddy *>node
2421  *     cdef char *c_name = NULL
2422  *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
2423  * 
2424  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
2425  */
2426   __pyx_v_c_alias = NULL;
2427
2428
2429   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":61
2430  *     cdef char *c_alias = NULL
2431  * 
2432  *     c_name = <char *> blist.purple_buddy_get_name(buddy)             # <<<<<<<<<<<<<<
2433  *     if c_name == NULL:
2434  *         name = None
2435  */
2436   __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
2437
2438   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":62
2439  * 
2440  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
2441  *     if c_name == NULL:             # <<<<<<<<<<<<<<
2442  *         name = None
2443  *     else:
2444  */
2445   __pyx_1 = (__pyx_v_c_name == NULL);
2446   if (__pyx_1) {
2447
2448     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":63
2449  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
2450  *     if c_name == NULL:
2451  *         name = None             # <<<<<<<<<<<<<<
2452  *     else:
2453  *         name = c_name
2454  */
2455     Py_INCREF(Py_None);
2456     Py_DECREF(__pyx_v_name);
2457     __pyx_v_name = Py_None;
2458     goto __pyx_L2;
2459   }
2460   /*else*/ {
2461
2462     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":65
2463  *         name = None
2464  *     else:
2465  *         name = c_name             # <<<<<<<<<<<<<<
2466  * 
2467  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
2468  */
2469     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
2470     Py_DECREF(__pyx_v_name);
2471     __pyx_v_name = __pyx_2;
2472     __pyx_2 = 0;
2473   }
2474   __pyx_L2:;
2475
2476   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":67
2477  *         name = c_name
2478  * 
2479  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
2480  *     if c_alias == NULL:
2481  *         alias = None
2482  */
2483   __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
2484
2485   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":68
2486  * 
2487  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
2488  *     if c_alias == NULL:             # <<<<<<<<<<<<<<
2489  *         alias = None
2490  *     else:
2491  */
2492   __pyx_1 = (__pyx_v_c_alias == NULL);
2493   if (__pyx_1) {
2494
2495     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":69
2496  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
2497  *     if c_alias == NULL:
2498  *         alias = None             # <<<<<<<<<<<<<<
2499  *     else:
2500  *         alias = c_alias
2501  */
2502     Py_INCREF(Py_None);
2503     Py_DECREF(__pyx_v_alias);
2504     __pyx_v_alias = Py_None;
2505     goto __pyx_L3;
2506   }
2507   /*else*/ {
2508
2509     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":71
2510  *         alias = None
2511  *     else:
2512  *         alias = c_alias             # <<<<<<<<<<<<<<
2513  * 
2514  *     callback(node.type, name, alias)
2515  */
2516     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1;}
2517     Py_DECREF(__pyx_v_alias);
2518     __pyx_v_alias = __pyx_2;
2519     __pyx_2 = 0;
2520   }
2521   __pyx_L3:;
2522
2523   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":73
2524  *         alias = c_alias
2525  * 
2526  *     callback(node.type, name, alias)             # <<<<<<<<<<<<<<
2527  * 
2528  * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
2529  */
2530   __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
2531   __pyx_3 = PyTuple_New(3); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
2532   PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
2533   Py_INCREF(__pyx_v_name);
2534   PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
2535   Py_INCREF(__pyx_v_alias);
2536   PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_alias);
2537   __pyx_2 = 0;
2538   __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
2539   Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
2540   Py_DECREF(__pyx_2); __pyx_2 = 0;
2541
2542   goto __pyx_L0;
2543   __pyx_L1:;
2544   Py_XDECREF(__pyx_2);
2545   Py_XDECREF(__pyx_3);
2546   __Pyx_WriteUnraisable("purple.__buddy_node_cb");
2547   __pyx_L0:;
2548   Py_DECREF(__pyx_v_name);
2549   Py_DECREF(__pyx_v_alias);
2550 }
2551
2552 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":75
2553  *     callback(node.type, name, alias)
2554  * 
2555  * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
2556  *     cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
2557  *     cdef char *c_name = NULL
2558  */
2559
2560 static  void __pyx_f_6purple___chat_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2561   PurpleChat *__pyx_v_chat;
2562   char *__pyx_v_c_name;
2563   PyObject *__pyx_v_name;
2564   int __pyx_1;
2565   PyObject *__pyx_2 = 0;
2566   PyObject *__pyx_3 = 0;
2567   __pyx_v_name = Py_None; Py_INCREF(Py_None);
2568
2569   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":76
2570  * 
2571  * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
2572  *     cdef blist.PurpleChat *chat = <blist.PurpleChat *>node             # <<<<<<<<<<<<<<
2573  *     cdef char *c_name = NULL
2574  * 
2575  */
2576   __pyx_v_chat = ((PurpleChat *)__pyx_v_node);
2577
2578
2579   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":77
2580  * cdef void __chat_node_cb(blist.PurpleBlistNode *node, object callback):
2581  *     cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
2582  *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
2583  * 
2584  *     c_name = <char *> blist.purple_chat_get_name(chat)
2585  */
2586   __pyx_v_c_name = NULL;
2587
2588
2589   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":79
2590  *     cdef char *c_name = NULL
2591  * 
2592  *     c_name = <char *> blist.purple_chat_get_name(chat)             # <<<<<<<<<<<<<<
2593  *     if c_name == NULL:
2594  *         name = None
2595  */
2596   __pyx_v_c_name = ((char *)purple_chat_get_name(__pyx_v_chat));
2597
2598   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":80
2599  * 
2600  *     c_name = <char *> blist.purple_chat_get_name(chat)
2601  *     if c_name == NULL:             # <<<<<<<<<<<<<<
2602  *         name = None
2603  *     else:
2604  */
2605   __pyx_1 = (__pyx_v_c_name == NULL);
2606   if (__pyx_1) {
2607
2608     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":81
2609  *     c_name = <char *> blist.purple_chat_get_name(chat)
2610  *     if c_name == NULL:
2611  *         name = None             # <<<<<<<<<<<<<<
2612  *     else:
2613  *         name = c_name
2614  */
2615     Py_INCREF(Py_None);
2616     Py_DECREF(__pyx_v_name);
2617     __pyx_v_name = Py_None;
2618     goto __pyx_L2;
2619   }
2620   /*else*/ {
2621
2622     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":83
2623  *         name = None
2624  *     else:
2625  *         name = c_name             # <<<<<<<<<<<<<<
2626  * 
2627  *     callback(node.type, name)
2628  */
2629     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
2630     Py_DECREF(__pyx_v_name);
2631     __pyx_v_name = __pyx_2;
2632     __pyx_2 = 0;
2633   }
2634   __pyx_L2:;
2635
2636   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":85
2637  *         name = c_name
2638  * 
2639  *     callback(node.type, name)             # <<<<<<<<<<<<<<
2640  * 
2641  * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
2642  */
2643   __pyx_2 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
2644   __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
2645   PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
2646   Py_INCREF(__pyx_v_name);
2647   PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_name);
2648   __pyx_2 = 0;
2649   __pyx_2 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
2650   Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
2651   Py_DECREF(__pyx_2); __pyx_2 = 0;
2652
2653   goto __pyx_L0;
2654   __pyx_L1:;
2655   Py_XDECREF(__pyx_2);
2656   Py_XDECREF(__pyx_3);
2657   __Pyx_WriteUnraisable("purple.__chat_node_cb");
2658   __pyx_L0:;
2659   Py_DECREF(__pyx_v_name);
2660 }
2661
2662 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":87
2663  *     callback(node.type, name)
2664  * 
2665  * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):             # <<<<<<<<<<<<<<
2666  *     callback(node.type)
2667  * 
2668  */
2669
2670 static  void __pyx_f_6purple___other_node_cb(PurpleBlistNode *__pyx_v_node, PyObject *__pyx_v_callback) {
2671   PyObject *__pyx_1 = 0;
2672   PyObject *__pyx_2 = 0;
2673
2674   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":88
2675  * 
2676  * cdef void __other_node_cb(blist.PurpleBlistNode *node, object callback):
2677  *     callback(node.type)             # <<<<<<<<<<<<<<
2678  * 
2679  * cdef void new_list(blist.PurpleBuddyList *list):
2680  */
2681   __pyx_1 = PyInt_FromLong(__pyx_v_node->type); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
2682   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
2683   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
2684   __pyx_1 = 0;
2685   __pyx_1 = PyObject_Call(__pyx_v_callback, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
2686   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
2687   Py_DECREF(__pyx_1); __pyx_1 = 0;
2688
2689   goto __pyx_L0;
2690   __pyx_L1:;
2691   Py_XDECREF(__pyx_1);
2692   Py_XDECREF(__pyx_2);
2693   __Pyx_WriteUnraisable("purple.__other_node_cb");
2694   __pyx_L0:;
2695 }
2696
2697 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":90
2698  *     callback(node.type)
2699  * 
2700  * cdef void new_list(blist.PurpleBuddyList *list):             # <<<<<<<<<<<<<<
2701  *     """
2702  *     Sets UI-specific data on a buddy list.
2703  */
2704
2705 static PyObject *__pyx_kp_39;
2706 static PyObject *__pyx_kp_40;
2707 static PyObject *__pyx_kp_41;
2708
2709 static char __pyx_k_36[] = "blist";
2710 static char __pyx_k_37[] = "%s";
2711 static char __pyx_k_38[] = "new-list\n";
2712 static char __pyx_k_39[] = "new-list";
2713 static char __pyx_k_40[] = "new-list";
2714 static char __pyx_k_41[] = "new-list: TODO";
2715
2716 static  void __pyx_f_6purple_new_list(PurpleBuddyList *__pyx_v_list) {
2717   PyObject *__pyx_1 = 0;
2718   PyObject *__pyx_2 = 0;
2719   PyObject *__pyx_3 = 0;
2720   int __pyx_4;
2721
2722   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":94
2723  *     Sets UI-specific data on a buddy list.
2724  *     """
2725  *     debug.purple_debug_info("blist", "%s", "new-list\n")             # <<<<<<<<<<<<<<
2726  *     if blist_cbs.has_key("new-list"):
2727  *         (<object> blist_cbs["new-list"])("new-list: TODO")
2728  */
2729   purple_debug_info(__pyx_k_36, __pyx_k_37, __pyx_k_38);
2730
2731   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":95
2732  *     """
2733  *     debug.purple_debug_info("blist", "%s", "new-list\n")
2734  *     if blist_cbs.has_key("new-list"):             # <<<<<<<<<<<<<<
2735  *         (<object> blist_cbs["new-list"])("new-list: TODO")
2736  * 
2737  */
2738   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
2739   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
2740   Py_DECREF(__pyx_1); __pyx_1 = 0;
2741   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
2742   Py_INCREF(__pyx_kp_39);
2743   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_39);
2744   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
2745   Py_DECREF(__pyx_2); __pyx_2 = 0;
2746   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
2747   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
2748   Py_DECREF(__pyx_3); __pyx_3 = 0;
2749   if (__pyx_4) {
2750
2751     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":96
2752  *     debug.purple_debug_info("blist", "%s", "new-list\n")
2753  *     if blist_cbs.has_key("new-list"):
2754  *         (<object> blist_cbs["new-list"])("new-list: TODO")             # <<<<<<<<<<<<<<
2755  * 
2756  * cdef void new_node(blist.PurpleBlistNode *node):
2757  */
2758     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
2759     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_40); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
2760     Py_DECREF(__pyx_2); __pyx_2 = 0;
2761     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
2762     Py_INCREF(__pyx_kp_41);
2763     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_41);
2764     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
2765     Py_DECREF(__pyx_1); __pyx_1 = 0;
2766     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
2767     Py_DECREF(__pyx_2); __pyx_2 = 0;
2768     goto __pyx_L2;
2769   }
2770   __pyx_L2:;
2771
2772   goto __pyx_L0;
2773   __pyx_L1:;
2774   Py_XDECREF(__pyx_1);
2775   Py_XDECREF(__pyx_2);
2776   Py_XDECREF(__pyx_3);
2777   __Pyx_WriteUnraisable("purple.new_list");
2778   __pyx_L0:;
2779 }
2780
2781 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":98
2782  *         (<object> blist_cbs["new-list"])("new-list: TODO")
2783  * 
2784  * cdef void new_node(blist.PurpleBlistNode *node):             # <<<<<<<<<<<<<<
2785  *     """
2786  *     Sets UI-specific data on a node.
2787  */
2788
2789 static PyObject *__pyx_kp_45;
2790 static PyObject *__pyx_kp_46;
2791 static PyObject *__pyx_kp_47;
2792 static PyObject *__pyx_kp_48;
2793 static PyObject *__pyx_kp_49;
2794 static PyObject *__pyx_kp_50;
2795
2796 static char __pyx_k_42[] = "blist";
2797 static char __pyx_k_43[] = "%s";
2798 static char __pyx_k_44[] = "new-node\n";
2799 static char __pyx_k_45[] = "new-node";
2800 static char __pyx_k_46[] = "new-node";
2801 static char __pyx_k_47[] = "new-node";
2802 static char __pyx_k_48[] = "new-node";
2803 static char __pyx_k_49[] = "new-node";
2804 static char __pyx_k_50[] = "new-node";
2805
2806 static  void __pyx_f_6purple_new_node(PurpleBlistNode *__pyx_v_node) {
2807   PyObject *__pyx_1 = 0;
2808   PyObject *__pyx_2 = 0;
2809   PyObject *__pyx_3 = 0;
2810   int __pyx_4;
2811
2812   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":102
2813  *     Sets UI-specific data on a node.
2814  *     """
2815  *     debug.purple_debug_info("blist", "%s", "new-node\n")             # <<<<<<<<<<<<<<
2816  *     if blist_cbs.has_key("new-node"):
2817  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
2818  */
2819   purple_debug_info(__pyx_k_42, __pyx_k_43, __pyx_k_44);
2820
2821   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":103
2822  *     """
2823  *     debug.purple_debug_info("blist", "%s", "new-node\n")
2824  *     if blist_cbs.has_key("new-node"):             # <<<<<<<<<<<<<<
2825  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
2826  *             __group_node_cb(node, blist_cbs["new-node"])
2827  */
2828   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
2829   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
2830   Py_DECREF(__pyx_1); __pyx_1 = 0;
2831   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
2832   Py_INCREF(__pyx_kp_45);
2833   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_45);
2834   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
2835   Py_DECREF(__pyx_2); __pyx_2 = 0;
2836   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
2837   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1;}
2838   Py_DECREF(__pyx_3); __pyx_3 = 0;
2839   if (__pyx_4) {
2840
2841     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":104
2842  *     debug.purple_debug_info("blist", "%s", "new-node\n")
2843  *     if blist_cbs.has_key("new-node"):
2844  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:             # <<<<<<<<<<<<<<
2845  *             __group_node_cb(node, blist_cbs["new-node"])
2846  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
2847  */
2848     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
2849     if (__pyx_4) {
2850
2851       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":105
2852  *     if blist_cbs.has_key("new-node"):
2853  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
2854  *             __group_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
2855  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
2856  *             __contact_node_cb(node, blist_cbs["new-node"])
2857  */
2858       __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1;}
2859       __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_46); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1;}
2860       Py_DECREF(__pyx_2); __pyx_2 = 0;
2861       __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
2862       Py_DECREF(__pyx_1); __pyx_1 = 0;
2863       goto __pyx_L3;
2864     }
2865
2866     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":106
2867  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
2868  *             __group_node_cb(node, blist_cbs["new-node"])
2869  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:             # <<<<<<<<<<<<<<
2870  *             __contact_node_cb(node, blist_cbs["new-node"])
2871  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
2872  */
2873     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
2874     if (__pyx_4) {
2875
2876       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":107
2877  *             __group_node_cb(node, blist_cbs["new-node"])
2878  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
2879  *             __contact_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
2880  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
2881  *             __buddy_node_cb(node, blist_cbs["new-node"])
2882  */
2883       __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
2884       __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_47); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
2885       Py_DECREF(__pyx_3); __pyx_3 = 0;
2886       __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
2887       Py_DECREF(__pyx_2); __pyx_2 = 0;
2888       goto __pyx_L3;
2889     }
2890
2891     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":108
2892  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
2893  *             __contact_node_cb(node, blist_cbs["new-node"])
2894  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:             # <<<<<<<<<<<<<<
2895  *             __buddy_node_cb(node, blist_cbs["new-node"])
2896  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
2897  */
2898     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
2899     if (__pyx_4) {
2900
2901       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":109
2902  *             __contact_node_cb(node, blist_cbs["new-node"])
2903  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
2904  *             __buddy_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
2905  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
2906  *             __chat_node_cb(node, blist_cbs["new-node"])
2907  */
2908       __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
2909       __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_48); if (!__pyx_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
2910       Py_DECREF(__pyx_1); __pyx_1 = 0;
2911       __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
2912       Py_DECREF(__pyx_3); __pyx_3 = 0;
2913       goto __pyx_L3;
2914     }
2915
2916     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":110
2917  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
2918  *             __buddy_node_cb(node, blist_cbs["new-node"])
2919  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:             # <<<<<<<<<<<<<<
2920  *             __chat_node_cb(node, blist_cbs["new-node"])
2921  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
2922  */
2923     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
2924     if (__pyx_4) {
2925
2926       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":111
2927  *             __buddy_node_cb(node, blist_cbs["new-node"])
2928  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
2929  *             __chat_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
2930  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
2931  *             __other_node_cb(node, blist_cbs["new-node"])
2932  */
2933       __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1;}
2934       __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_49); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1;}
2935       Py_DECREF(__pyx_2); __pyx_2 = 0;
2936       __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
2937       Py_DECREF(__pyx_1); __pyx_1 = 0;
2938       goto __pyx_L3;
2939     }
2940
2941     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":112
2942  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
2943  *             __chat_node_cb(node, blist_cbs["new-node"])
2944  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:             # <<<<<<<<<<<<<<
2945  *             __other_node_cb(node, blist_cbs["new-node"])
2946  * 
2947  */
2948     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
2949     if (__pyx_4) {
2950
2951       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":113
2952  *             __chat_node_cb(node, blist_cbs["new-node"])
2953  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
2954  *             __other_node_cb(node, blist_cbs["new-node"])             # <<<<<<<<<<<<<<
2955  * 
2956  * cdef void show(blist.PurpleBuddyList *list):
2957  */
2958       __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
2959       __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_50); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
2960       Py_DECREF(__pyx_3); __pyx_3 = 0;
2961       __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
2962       Py_DECREF(__pyx_2); __pyx_2 = 0;
2963       goto __pyx_L3;
2964     }
2965     __pyx_L3:;
2966     goto __pyx_L2;
2967   }
2968   __pyx_L2:;
2969
2970   goto __pyx_L0;
2971   __pyx_L1:;
2972   Py_XDECREF(__pyx_1);
2973   Py_XDECREF(__pyx_2);
2974   Py_XDECREF(__pyx_3);
2975   __Pyx_WriteUnraisable("purple.new_node");
2976   __pyx_L0:;
2977 }
2978
2979 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":115
2980  *             __other_node_cb(node, blist_cbs["new-node"])
2981  * 
2982  * cdef void show(blist.PurpleBuddyList *list):             # <<<<<<<<<<<<<<
2983  *     """
2984  *     The core will call this when it's finished doing its core stuff.
2985  */
2986
2987 static char __pyx_k_54[] = "show";
2988 static char __pyx_k_55[] = "show";
2989
2990 static PyObject *__pyx_kp_54;
2991 static PyObject *__pyx_kp_55;
2992
2993 static PyObject *__pyx_kp_56;
2994
2995 static char __pyx_k_51[] = "blist";
2996 static char __pyx_k_52[] = "%s";
2997 static char __pyx_k_53[] = "show\n";
2998 static char __pyx_k_56[] = "show: TODO";
2999
3000 static  void __pyx_f_6purple_show(PurpleBuddyList *__pyx_v_list) {
3001   PyObject *__pyx_1 = 0;
3002   PyObject *__pyx_2 = 0;
3003   PyObject *__pyx_3 = 0;
3004   int __pyx_4;
3005
3006   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":119
3007  *     The core will call this when it's finished doing its core stuff.
3008  *     """
3009  *     debug.purple_debug_info("blist", "%s", "show\n")             # <<<<<<<<<<<<<<
3010  *     if blist_cbs.has_key("show"):
3011  *         (<object> blist_cbs["show"])("show: TODO")
3012  */
3013   purple_debug_info(__pyx_k_51, __pyx_k_52, __pyx_k_53);
3014
3015   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":120
3016  *     """
3017  *     debug.purple_debug_info("blist", "%s", "show\n")
3018  *     if blist_cbs.has_key("show"):             # <<<<<<<<<<<<<<
3019  *         (<object> blist_cbs["show"])("show: TODO")
3020  * 
3021  */
3022   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
3023   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
3024   Py_DECREF(__pyx_1); __pyx_1 = 0;
3025   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
3026   Py_INCREF(__pyx_kp_54);
3027   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_54);
3028   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
3029   Py_DECREF(__pyx_2); __pyx_2 = 0;
3030   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3031   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
3032   Py_DECREF(__pyx_3); __pyx_3 = 0;
3033   if (__pyx_4) {
3034
3035     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":121
3036  *     debug.purple_debug_info("blist", "%s", "show\n")
3037  *     if blist_cbs.has_key("show"):
3038  *         (<object> blist_cbs["show"])("show: TODO")             # <<<<<<<<<<<<<<
3039  * 
3040  * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):
3041  */
3042     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
3043     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_55); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
3044     Py_DECREF(__pyx_2); __pyx_2 = 0;
3045     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
3046     Py_INCREF(__pyx_kp_56);
3047     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_56);
3048     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
3049     Py_DECREF(__pyx_1); __pyx_1 = 0;
3050     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3051     Py_DECREF(__pyx_2); __pyx_2 = 0;
3052     goto __pyx_L2;
3053   }
3054   __pyx_L2:;
3055
3056   goto __pyx_L0;
3057   __pyx_L1:;
3058   Py_XDECREF(__pyx_1);
3059   Py_XDECREF(__pyx_2);
3060   Py_XDECREF(__pyx_3);
3061   __Pyx_WriteUnraisable("purple.show");
3062   __pyx_L0:;
3063 }
3064
3065 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":123
3066  *         (<object> blist_cbs["show"])("show: TODO")
3067  * 
3068  * cdef void update(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):             # <<<<<<<<<<<<<<
3069  *     """
3070  *     This will update a node in the buddy list.
3071  */
3072
3073 static char __pyx_k_60[] = "update";
3074 static char __pyx_k_61[] = "update";
3075 static char __pyx_k_62[] = "update";
3076 static char __pyx_k_63[] = "update";
3077 static char __pyx_k_64[] = "update";
3078 static char __pyx_k_65[] = "update";
3079
3080 static PyObject *__pyx_kp_60;
3081 static PyObject *__pyx_kp_61;
3082 static PyObject *__pyx_kp_62;
3083 static PyObject *__pyx_kp_63;
3084 static PyObject *__pyx_kp_64;
3085 static PyObject *__pyx_kp_65;
3086
3087
3088 static char __pyx_k_57[] = "blist";
3089 static char __pyx_k_58[] = "%s";
3090 static char __pyx_k_59[] = "update\n";
3091
3092 static  void __pyx_f_6purple_update(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) {
3093   PyObject *__pyx_1 = 0;
3094   PyObject *__pyx_2 = 0;
3095   PyObject *__pyx_3 = 0;
3096   int __pyx_4;
3097
3098   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":127
3099  *     This will update a node in the buddy list.
3100  *     """
3101  *     debug.purple_debug_info("blist", "%s", "update\n")             # <<<<<<<<<<<<<<
3102  *     if blist_cbs.has_key("update"):
3103  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3104  */
3105   purple_debug_info(__pyx_k_57, __pyx_k_58, __pyx_k_59);
3106
3107   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":128
3108  *     """
3109  *     debug.purple_debug_info("blist", "%s", "update\n")
3110  *     if blist_cbs.has_key("update"):             # <<<<<<<<<<<<<<
3111  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3112  *             __group_node_cb(node, blist_cbs["update"])
3113  */
3114   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
3115   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
3116   Py_DECREF(__pyx_1); __pyx_1 = 0;
3117   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
3118   Py_INCREF(__pyx_kp_60);
3119   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_60);
3120   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
3121   Py_DECREF(__pyx_2); __pyx_2 = 0;
3122   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3123   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
3124   Py_DECREF(__pyx_3); __pyx_3 = 0;
3125   if (__pyx_4) {
3126
3127     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":129
3128  *     debug.purple_debug_info("blist", "%s", "update\n")
3129  *     if blist_cbs.has_key("update"):
3130  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:             # <<<<<<<<<<<<<<
3131  *             __group_node_cb(node, blist_cbs["update"])
3132  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3133  */
3134     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
3135     if (__pyx_4) {
3136
3137       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":130
3138  *     if blist_cbs.has_key("update"):
3139  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3140  *             __group_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
3141  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3142  *             __contact_node_cb(node, blist_cbs["update"])
3143  */
3144       __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
3145       __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_61); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
3146       Py_DECREF(__pyx_2); __pyx_2 = 0;
3147       __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
3148       Py_DECREF(__pyx_1); __pyx_1 = 0;
3149       goto __pyx_L3;
3150     }
3151
3152     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":131
3153  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3154  *             __group_node_cb(node, blist_cbs["update"])
3155  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:             # <<<<<<<<<<<<<<
3156  *             __contact_node_cb(node, blist_cbs["update"])
3157  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3158  */
3159     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
3160     if (__pyx_4) {
3161
3162       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":132
3163  *             __group_node_cb(node, blist_cbs["update"])
3164  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3165  *             __contact_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
3166  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3167  *             __buddy_node_cb(node, blist_cbs["update"])
3168  */
3169       __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
3170       __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_62); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
3171       Py_DECREF(__pyx_3); __pyx_3 = 0;
3172       __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
3173       Py_DECREF(__pyx_2); __pyx_2 = 0;
3174       goto __pyx_L3;
3175     }
3176
3177     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":133
3178  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3179  *             __contact_node_cb(node, blist_cbs["update"])
3180  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:             # <<<<<<<<<<<<<<
3181  *             __buddy_node_cb(node, blist_cbs["update"])
3182  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3183  */
3184     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
3185     if (__pyx_4) {
3186
3187       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":134
3188  *             __contact_node_cb(node, blist_cbs["update"])
3189  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3190  *             __buddy_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
3191  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3192  *             __chat_node_cb(node, blist_cbs["update"])
3193  */
3194       __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1;}
3195       __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_63); if (!__pyx_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1;}
3196       Py_DECREF(__pyx_1); __pyx_1 = 0;
3197       __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
3198       Py_DECREF(__pyx_3); __pyx_3 = 0;
3199       goto __pyx_L3;
3200     }
3201
3202     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":135
3203  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3204  *             __buddy_node_cb(node, blist_cbs["update"])
3205  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:             # <<<<<<<<<<<<<<
3206  *             __chat_node_cb(node, blist_cbs["update"])
3207  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3208  */
3209     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
3210     if (__pyx_4) {
3211
3212       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":136
3213  *             __buddy_node_cb(node, blist_cbs["update"])
3214  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3215  *             __chat_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
3216  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3217  *             __other_node_cb(node, blist_cbs["update"])
3218  */
3219       __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
3220       __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_64); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
3221       Py_DECREF(__pyx_2); __pyx_2 = 0;
3222       __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
3223       Py_DECREF(__pyx_1); __pyx_1 = 0;
3224       goto __pyx_L3;
3225     }
3226
3227     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":137
3228  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3229  *             __chat_node_cb(node, blist_cbs["update"])
3230  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:             # <<<<<<<<<<<<<<
3231  *             __other_node_cb(node, blist_cbs["update"])
3232  * 
3233  */
3234     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
3235     if (__pyx_4) {
3236
3237       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":138
3238  *             __chat_node_cb(node, blist_cbs["update"])
3239  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3240  *             __other_node_cb(node, blist_cbs["update"])             # <<<<<<<<<<<<<<
3241  * 
3242  * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):
3243  */
3244       __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
3245       __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_65); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1;}
3246       Py_DECREF(__pyx_3); __pyx_3 = 0;
3247       __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
3248       Py_DECREF(__pyx_2); __pyx_2 = 0;
3249       goto __pyx_L3;
3250     }
3251     __pyx_L3:;
3252     goto __pyx_L2;
3253   }
3254   __pyx_L2:;
3255
3256   goto __pyx_L0;
3257   __pyx_L1:;
3258   Py_XDECREF(__pyx_1);
3259   Py_XDECREF(__pyx_2);
3260   Py_XDECREF(__pyx_3);
3261   __Pyx_WriteUnraisable("purple.update");
3262   __pyx_L0:;
3263 }
3264
3265 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":140
3266  *             __other_node_cb(node, blist_cbs["update"])
3267  * 
3268  * cdef void remove(blist.PurpleBuddyList *list, blist.PurpleBlistNode *node):             # <<<<<<<<<<<<<<
3269  *     """
3270  *     This removes a node from the list.
3271  */
3272
3273 static char __pyx_k_69[] = "remove";
3274 static char __pyx_k_70[] = "remove";
3275 static char __pyx_k_71[] = "remove";
3276 static char __pyx_k_72[] = "remove";
3277 static char __pyx_k_73[] = "remove";
3278 static char __pyx_k_74[] = "remove";
3279
3280 static PyObject *__pyx_kp_69;
3281 static PyObject *__pyx_kp_70;
3282 static PyObject *__pyx_kp_71;
3283 static PyObject *__pyx_kp_72;
3284 static PyObject *__pyx_kp_73;
3285 static PyObject *__pyx_kp_74;
3286
3287
3288 static char __pyx_k_66[] = "blist";
3289 static char __pyx_k_67[] = "%s";
3290 static char __pyx_k_68[] = "remove\n";
3291
3292 static  void __pyx_f_6purple_remove(PurpleBuddyList *__pyx_v_list, PurpleBlistNode *__pyx_v_node) {
3293   PyObject *__pyx_1 = 0;
3294   PyObject *__pyx_2 = 0;
3295   PyObject *__pyx_3 = 0;
3296   int __pyx_4;
3297
3298   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":144
3299  *     This removes a node from the list.
3300  *     """
3301  *     debug.purple_debug_info("blist", "%s", "remove\n")             # <<<<<<<<<<<<<<
3302  *     if blist_cbs.has_key("remove"):
3303  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3304  */
3305   purple_debug_info(__pyx_k_66, __pyx_k_67, __pyx_k_68);
3306
3307   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":145
3308  *     """
3309  *     debug.purple_debug_info("blist", "%s", "remove\n")
3310  *     if blist_cbs.has_key("remove"):             # <<<<<<<<<<<<<<
3311  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3312  *             __group_node_cb(node, blist_cbs["remove"])
3313  */
3314   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
3315   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
3316   Py_DECREF(__pyx_1); __pyx_1 = 0;
3317   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
3318   Py_INCREF(__pyx_kp_69);
3319   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_69);
3320   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
3321   Py_DECREF(__pyx_2); __pyx_2 = 0;
3322   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3323   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
3324   Py_DECREF(__pyx_3); __pyx_3 = 0;
3325   if (__pyx_4) {
3326
3327     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":146
3328  *     debug.purple_debug_info("blist", "%s", "remove\n")
3329  *     if blist_cbs.has_key("remove"):
3330  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:             # <<<<<<<<<<<<<<
3331  *             __group_node_cb(node, blist_cbs["remove"])
3332  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3333  */
3334     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_GROUP_NODE);
3335     if (__pyx_4) {
3336
3337       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":147
3338  *     if blist_cbs.has_key("remove"):
3339  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3340  *             __group_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
3341  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3342  *             __contact_node_cb(node, blist_cbs["remove"])
3343  */
3344       __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1;}
3345       __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_70); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1;}
3346       Py_DECREF(__pyx_2); __pyx_2 = 0;
3347       __pyx_f_6purple___group_node_cb(__pyx_v_node, __pyx_1);
3348       Py_DECREF(__pyx_1); __pyx_1 = 0;
3349       goto __pyx_L3;
3350     }
3351
3352     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":148
3353  *         if node.type == blist.PURPLE_BLIST_GROUP_NODE:
3354  *             __group_node_cb(node, blist_cbs["remove"])
3355  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:             # <<<<<<<<<<<<<<
3356  *             __contact_node_cb(node, blist_cbs["remove"])
3357  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3358  */
3359     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CONTACT_NODE);
3360     if (__pyx_4) {
3361
3362       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":149
3363  *             __group_node_cb(node, blist_cbs["remove"])
3364  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3365  *             __contact_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
3366  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3367  *             __buddy_node_cb(node, blist_cbs["remove"])
3368  */
3369       __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
3370       __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_71); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
3371       Py_DECREF(__pyx_3); __pyx_3 = 0;
3372       __pyx_f_6purple___contact_node_cb(__pyx_v_node, __pyx_2);
3373       Py_DECREF(__pyx_2); __pyx_2 = 0;
3374       goto __pyx_L3;
3375     }
3376
3377     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":150
3378  *         elif node.type == blist.PURPLE_BLIST_CONTACT_NODE:
3379  *             __contact_node_cb(node, blist_cbs["remove"])
3380  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:             # <<<<<<<<<<<<<<
3381  *             __buddy_node_cb(node, blist_cbs["remove"])
3382  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3383  */
3384     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_BUDDY_NODE);
3385     if (__pyx_4) {
3386
3387       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":151
3388  *             __contact_node_cb(node, blist_cbs["remove"])
3389  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3390  *             __buddy_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
3391  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3392  *             __chat_node_cb(node, blist_cbs["remove"])
3393  */
3394       __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1;}
3395       __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_kp_72); if (!__pyx_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1;}
3396       Py_DECREF(__pyx_1); __pyx_1 = 0;
3397       __pyx_f_6purple___buddy_node_cb(__pyx_v_node, __pyx_3);
3398       Py_DECREF(__pyx_3); __pyx_3 = 0;
3399       goto __pyx_L3;
3400     }
3401
3402     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":152
3403  *         elif node.type == blist.PURPLE_BLIST_BUDDY_NODE:
3404  *             __buddy_node_cb(node, blist_cbs["remove"])
3405  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:             # <<<<<<<<<<<<<<
3406  *             __chat_node_cb(node, blist_cbs["remove"])
3407  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3408  */
3409     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_CHAT_NODE);
3410     if (__pyx_4) {
3411
3412       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":153
3413  *             __buddy_node_cb(node, blist_cbs["remove"])
3414  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3415  *             __chat_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
3416  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3417  *             __other_node_cb(node, blist_cbs["remove"])
3418  */
3419       __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1;}
3420       __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_73); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1;}
3421       Py_DECREF(__pyx_2); __pyx_2 = 0;
3422       __pyx_f_6purple___chat_node_cb(__pyx_v_node, __pyx_1);
3423       Py_DECREF(__pyx_1); __pyx_1 = 0;
3424       goto __pyx_L3;
3425     }
3426
3427     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":154
3428  *         elif node.type == blist.PURPLE_BLIST_CHAT_NODE:
3429  *             __chat_node_cb(node, blist_cbs["remove"])
3430  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:             # <<<<<<<<<<<<<<
3431  *             __other_node_cb(node, blist_cbs["remove"])
3432  * 
3433  */
3434     __pyx_4 = (__pyx_v_node->type == PURPLE_BLIST_OTHER_NODE);
3435     if (__pyx_4) {
3436
3437       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":155
3438  *             __chat_node_cb(node, blist_cbs["remove"])
3439  *         elif node.type == blist.PURPLE_BLIST_OTHER_NODE:
3440  *             __other_node_cb(node, blist_cbs["remove"])             # <<<<<<<<<<<<<<
3441  * 
3442  * cdef void destroy(blist.PurpleBuddyList *list):
3443  */
3444       __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
3445       __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_74); if (!__pyx_2) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
3446       Py_DECREF(__pyx_3); __pyx_3 = 0;
3447       __pyx_f_6purple___other_node_cb(__pyx_v_node, __pyx_2);
3448       Py_DECREF(__pyx_2); __pyx_2 = 0;
3449       goto __pyx_L3;
3450     }
3451     __pyx_L3:;
3452     goto __pyx_L2;
3453   }
3454   __pyx_L2:;
3455
3456   goto __pyx_L0;
3457   __pyx_L1:;
3458   Py_XDECREF(__pyx_1);
3459   Py_XDECREF(__pyx_2);
3460   Py_XDECREF(__pyx_3);
3461   __Pyx_WriteUnraisable("purple.remove");
3462   __pyx_L0:;
3463 }
3464
3465 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":157
3466  *             __other_node_cb(node, blist_cbs["remove"])
3467  * 
3468  * cdef void destroy(blist.PurpleBuddyList *list):             # <<<<<<<<<<<<<<
3469  *     """
3470  *     When the list gets destroyed, this gets called to destroy the UI.
3471  */
3472
3473 static char __pyx_k_78[] = "destroy";
3474 static char __pyx_k_79[] = "destroy";
3475
3476 static PyObject *__pyx_kp_78;
3477 static PyObject *__pyx_kp_79;
3478
3479 static PyObject *__pyx_kp_80;
3480
3481 static char __pyx_k_75[] = "blist";
3482 static char __pyx_k_76[] = "%s";
3483 static char __pyx_k_77[] = "destroy\n";
3484 static char __pyx_k_80[] = "destroy: TODO";
3485
3486 static  void __pyx_f_6purple_destroy(PurpleBuddyList *__pyx_v_list) {
3487   PyObject *__pyx_1 = 0;
3488   PyObject *__pyx_2 = 0;
3489   PyObject *__pyx_3 = 0;
3490   int __pyx_4;
3491
3492   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":161
3493  *     When the list gets destroyed, this gets called to destroy the UI.
3494  *     """
3495  *     debug.purple_debug_info("blist", "%s", "destroy\n")             # <<<<<<<<<<<<<<
3496  *     if blist_cbs.has_key("destroy"):
3497  *         (<object> blist_cbs["destroy"])("destroy: TODO")
3498  */
3499   purple_debug_info(__pyx_k_75, __pyx_k_76, __pyx_k_77);
3500
3501   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":162
3502  *     """
3503  *     debug.purple_debug_info("blist", "%s", "destroy\n")
3504  *     if blist_cbs.has_key("destroy"):             # <<<<<<<<<<<<<<
3505  *         (<object> blist_cbs["destroy"])("destroy: TODO")
3506  * 
3507  */
3508   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
3509   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
3510   Py_DECREF(__pyx_1); __pyx_1 = 0;
3511   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
3512   Py_INCREF(__pyx_kp_78);
3513   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_78);
3514   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
3515   Py_DECREF(__pyx_2); __pyx_2 = 0;
3516   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3517   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1;}
3518   Py_DECREF(__pyx_3); __pyx_3 = 0;
3519   if (__pyx_4) {
3520
3521     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":163
3522  *     debug.purple_debug_info("blist", "%s", "destroy\n")
3523  *     if blist_cbs.has_key("destroy"):
3524  *         (<object> blist_cbs["destroy"])("destroy: TODO")             # <<<<<<<<<<<<<<
3525  * 
3526  * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show):
3527  */
3528     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
3529     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_79); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
3530     Py_DECREF(__pyx_2); __pyx_2 = 0;
3531     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
3532     Py_INCREF(__pyx_kp_80);
3533     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_80);
3534     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
3535     Py_DECREF(__pyx_1); __pyx_1 = 0;
3536     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3537     Py_DECREF(__pyx_2); __pyx_2 = 0;
3538     goto __pyx_L2;
3539   }
3540   __pyx_L2:;
3541
3542   goto __pyx_L0;
3543   __pyx_L1:;
3544   Py_XDECREF(__pyx_1);
3545   Py_XDECREF(__pyx_2);
3546   Py_XDECREF(__pyx_3);
3547   __Pyx_WriteUnraisable("purple.destroy");
3548   __pyx_L0:;
3549 }
3550
3551 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":165
3552  *         (<object> blist_cbs["destroy"])("destroy: TODO")
3553  * 
3554  * cdef void set_visible(blist.PurpleBuddyList *list, glib.gboolean show):             # <<<<<<<<<<<<<<
3555  *     """
3556  *     Hides or unhides the buddy list.
3557  */
3558
3559 static PyObject *__pyx_kp_84;
3560 static PyObject *__pyx_kp_85;
3561 static PyObject *__pyx_kp_86;
3562
3563 static char __pyx_k_81[] = "blist";
3564 static char __pyx_k_82[] = "%s";
3565 static char __pyx_k_83[] = "set-visible\n";
3566 static char __pyx_k_84[] = "set-visible";
3567 static char __pyx_k_85[] = "set-visible";
3568 static char __pyx_k_86[] = "set-visible: TODO";
3569
3570 static  void __pyx_f_6purple_set_visible(PurpleBuddyList *__pyx_v_list, gboolean __pyx_v_show) {
3571   PyObject *__pyx_1 = 0;
3572   PyObject *__pyx_2 = 0;
3573   PyObject *__pyx_3 = 0;
3574   int __pyx_4;
3575
3576   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":169
3577  *     Hides or unhides the buddy list.
3578  *     """
3579  *     debug.purple_debug_info("blist", "%s", "set-visible\n")             # <<<<<<<<<<<<<<
3580  *     if blist_cbs.has_key("set-visible"):
3581  *         (<object> blist_cbs["set-visible"])("set-visible: TODO")
3582  */
3583   purple_debug_info(__pyx_k_81, __pyx_k_82, __pyx_k_83);
3584
3585   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":170
3586  *     """
3587  *     debug.purple_debug_info("blist", "%s", "set-visible\n")
3588  *     if blist_cbs.has_key("set-visible"):             # <<<<<<<<<<<<<<
3589  *         (<object> blist_cbs["set-visible"])("set-visible: TODO")
3590  * 
3591  */
3592   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
3593   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
3594   Py_DECREF(__pyx_1); __pyx_1 = 0;
3595   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
3596   Py_INCREF(__pyx_kp_84);
3597   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_84);
3598   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
3599   Py_DECREF(__pyx_2); __pyx_2 = 0;
3600   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3601   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
3602   Py_DECREF(__pyx_3); __pyx_3 = 0;
3603   if (__pyx_4) {
3604
3605     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":171
3606  *     debug.purple_debug_info("blist", "%s", "set-visible\n")
3607  *     if blist_cbs.has_key("set-visible"):
3608  *         (<object> blist_cbs["set-visible"])("set-visible: TODO")             # <<<<<<<<<<<<<<
3609  * 
3610  * cdef void request_add_buddy(account.PurpleAccount *c_account, \
3611  */
3612     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
3613     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_85); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
3614     Py_DECREF(__pyx_2); __pyx_2 = 0;
3615     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
3616     Py_INCREF(__pyx_kp_86);
3617     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_86);
3618     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1;}
3619     Py_DECREF(__pyx_1); __pyx_1 = 0;
3620     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3621     Py_DECREF(__pyx_2); __pyx_2 = 0;
3622     goto __pyx_L2;
3623   }
3624   __pyx_L2:;
3625
3626   goto __pyx_L0;
3627   __pyx_L1:;
3628   Py_XDECREF(__pyx_1);
3629   Py_XDECREF(__pyx_2);
3630   Py_XDECREF(__pyx_3);
3631   __Pyx_WriteUnraisable("purple.set_visible");
3632   __pyx_L0:;
3633 }
3634
3635 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":173
3636  *         (<object> blist_cbs["set-visible"])("set-visible: TODO")
3637  * 
3638  * cdef void request_add_buddy(account.PurpleAccount *c_account, \             # <<<<<<<<<<<<<<
3639  *         const_char *c_buddy_username, const_char *c_buddy_group, \
3640  *         const_char *c_buddy_alias):
3641  */
3642
3643 static PyObject *__pyx_kp_90;
3644 static PyObject *__pyx_kp_91;
3645
3646 static char __pyx_k_87[] = "blist";
3647 static char __pyx_k_88[] = "%s";
3648 static char __pyx_k_89[] = "request-add-buddy\n";
3649 static char __pyx_k_90[] = "request-add-buddy";
3650 static char __pyx_k_91[] = "request-add-buddy";
3651
3652 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) {
3653   PyObject *__pyx_v_username;
3654   PyObject *__pyx_v_protocol_id;
3655   PyObject *__pyx_v_buddy_username;
3656   PyObject *__pyx_v_buddy_group;
3657   PyObject *__pyx_v_buddy_alias;
3658   PyObject *__pyx_1 = 0;
3659   int __pyx_2;
3660   PyObject *__pyx_3 = 0;
3661   PyObject *__pyx_4 = 0;
3662   __pyx_v_username = Py_None; Py_INCREF(Py_None);
3663   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
3664   __pyx_v_buddy_username = Py_None; Py_INCREF(Py_None);
3665   __pyx_v_buddy_group = Py_None; Py_INCREF(Py_None);
3666   __pyx_v_buddy_alias = Py_None; Py_INCREF(Py_None);
3667
3668   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":180
3669  *     list.
3670  *     """
3671  *     debug.purple_debug_info("blist", "%s", "request-add-buddy\n")             # <<<<<<<<<<<<<<
3672  * 
3673  *     username = account.purple_account_get_username(c_account)
3674  */
3675   purple_debug_info(__pyx_k_87, __pyx_k_88, __pyx_k_89);
3676
3677   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":182
3678  *     debug.purple_debug_info("blist", "%s", "request-add-buddy\n")
3679  * 
3680  *     username = account.purple_account_get_username(c_account)             # <<<<<<<<<<<<<<
3681  *     protocol_id = account.purple_account_get_protocol_id(c_account)
3682  * 
3683  */
3684   __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_username(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1;}
3685   Py_DECREF(__pyx_v_username);
3686   __pyx_v_username = __pyx_1;
3687   __pyx_1 = 0;
3688
3689   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":183
3690  * 
3691  *     username = account.purple_account_get_username(c_account)
3692  *     protocol_id = account.purple_account_get_protocol_id(c_account)             # <<<<<<<<<<<<<<
3693  * 
3694  *     if c_buddy_username:
3695  */
3696   __pyx_1 = __Pyx_PyBytes_FromString(purple_account_get_protocol_id(__pyx_v_c_account)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1;}
3697   Py_DECREF(__pyx_v_protocol_id);
3698   __pyx_v_protocol_id = __pyx_1;
3699   __pyx_1 = 0;
3700
3701   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":185
3702  *     protocol_id = account.purple_account_get_protocol_id(c_account)
3703  * 
3704  *     if c_buddy_username:             # <<<<<<<<<<<<<<
3705  *         buddy_username = <char *> c_buddy_username
3706  *     else:
3707  */
3708   __pyx_2 = (__pyx_v_c_buddy_username != 0);
3709   if (__pyx_2) {
3710
3711     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":186
3712  * 
3713  *     if c_buddy_username:
3714  *         buddy_username = <char *> c_buddy_username             # <<<<<<<<<<<<<<
3715  *     else:
3716  *         buddy_username = None
3717  */
3718     __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_username)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1;}
3719     Py_DECREF(__pyx_v_buddy_username);
3720     __pyx_v_buddy_username = __pyx_1;
3721     __pyx_1 = 0;
3722     goto __pyx_L2;
3723   }
3724   /*else*/ {
3725
3726     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":188
3727  *         buddy_username = <char *> c_buddy_username
3728  *     else:
3729  *         buddy_username = None             # <<<<<<<<<<<<<<
3730  * 
3731  *     if c_buddy_group:
3732  */
3733     Py_INCREF(Py_None);
3734     Py_DECREF(__pyx_v_buddy_username);
3735     __pyx_v_buddy_username = Py_None;
3736   }
3737   __pyx_L2:;
3738
3739   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":190
3740  *         buddy_username = None
3741  * 
3742  *     if c_buddy_group:             # <<<<<<<<<<<<<<
3743  *         buddy_group = <char *> c_buddy_group
3744  *     else:
3745  */
3746   __pyx_2 = (__pyx_v_c_buddy_group != 0);
3747   if (__pyx_2) {
3748
3749     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":191
3750  * 
3751  *     if c_buddy_group:
3752  *         buddy_group = <char *> c_buddy_group             # <<<<<<<<<<<<<<
3753  *     else:
3754  *         buddy_group = None
3755  */
3756     __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_group)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1;}
3757     Py_DECREF(__pyx_v_buddy_group);
3758     __pyx_v_buddy_group = __pyx_1;
3759     __pyx_1 = 0;
3760     goto __pyx_L3;
3761   }
3762   /*else*/ {
3763
3764     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":193
3765  *         buddy_group = <char *> c_buddy_group
3766  *     else:
3767  *         buddy_group = None             # <<<<<<<<<<<<<<
3768  * 
3769  *     if c_buddy_alias:
3770  */
3771     Py_INCREF(Py_None);
3772     Py_DECREF(__pyx_v_buddy_group);
3773     __pyx_v_buddy_group = Py_None;
3774   }
3775   __pyx_L3:;
3776
3777   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":195
3778  *         buddy_group = None
3779  * 
3780  *     if c_buddy_alias:             # <<<<<<<<<<<<<<
3781  *         buddy_alias = <char *> c_buddy_alias
3782  *     else:
3783  */
3784   __pyx_2 = (__pyx_v_c_buddy_alias != 0);
3785   if (__pyx_2) {
3786
3787     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":196
3788  * 
3789  *     if c_buddy_alias:
3790  *         buddy_alias = <char *> c_buddy_alias             # <<<<<<<<<<<<<<
3791  *     else:
3792  *         buddy_alias = None
3793  */
3794     __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_buddy_alias)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1;}
3795     Py_DECREF(__pyx_v_buddy_alias);
3796     __pyx_v_buddy_alias = __pyx_1;
3797     __pyx_1 = 0;
3798     goto __pyx_L4;
3799   }
3800   /*else*/ {
3801
3802     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":198
3803  *         buddy_alias = <char *> c_buddy_alias
3804  *     else:
3805  *         buddy_alias = None             # <<<<<<<<<<<<<<
3806  * 
3807  *     if blist_cbs.has_key("request-add-buddy"):
3808  */
3809     Py_INCREF(Py_None);
3810     Py_DECREF(__pyx_v_buddy_alias);
3811     __pyx_v_buddy_alias = Py_None;
3812   }
3813   __pyx_L4:;
3814
3815   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":200
3816  *         buddy_alias = None
3817  * 
3818  *     if blist_cbs.has_key("request-add-buddy"):             # <<<<<<<<<<<<<<
3819  *         (<object> blist_cbs["request-add-buddy"])( \
3820  *                 (username, protocol_id), \
3821  */
3822   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
3823   __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
3824   Py_DECREF(__pyx_1); __pyx_1 = 0;
3825   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
3826   Py_INCREF(__pyx_kp_90);
3827   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_90);
3828   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
3829   Py_DECREF(__pyx_3); __pyx_3 = 0;
3830   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3831   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1;}
3832   Py_DECREF(__pyx_4); __pyx_4 = 0;
3833   if (__pyx_2) {
3834
3835     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":201
3836  * 
3837  *     if blist_cbs.has_key("request-add-buddy"):
3838  *         (<object> blist_cbs["request-add-buddy"])( \             # <<<<<<<<<<<<<<
3839  *                 (username, protocol_id), \
3840  *                 buddy_username, buddy_group, buddy_alias)
3841  */
3842     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
3843     __pyx_1 = PyObject_GetItem(__pyx_3, __pyx_kp_91); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
3844     Py_DECREF(__pyx_3); __pyx_3 = 0;
3845
3846     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":202
3847  *     if blist_cbs.has_key("request-add-buddy"):
3848  *         (<object> blist_cbs["request-add-buddy"])( \
3849  *                 (username, protocol_id), \             # <<<<<<<<<<<<<<
3850  *                 buddy_username, buddy_group, buddy_alias)
3851  * 
3852  */
3853     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
3854     Py_INCREF(__pyx_v_username);
3855     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
3856     Py_INCREF(__pyx_v_protocol_id);
3857     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
3858
3859     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":203
3860  *         (<object> blist_cbs["request-add-buddy"])( \
3861  *                 (username, protocol_id), \
3862  *                 buddy_username, buddy_group, buddy_alias)             # <<<<<<<<<<<<<<
3863  * 
3864  * cdef void request_add_chat(account.PurpleAccount *acc, \
3865  */
3866     __pyx_3 = PyTuple_New(4); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
3867     PyTuple_SET_ITEM(__pyx_3, 0, ((PyObject *)__pyx_4));
3868     Py_INCREF(__pyx_v_buddy_username);
3869     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_buddy_username);
3870     Py_INCREF(__pyx_v_buddy_group);
3871     PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_buddy_group);
3872     Py_INCREF(__pyx_v_buddy_alias);
3873     PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_buddy_alias);
3874     __pyx_4 = 0;
3875     __pyx_4 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
3876     Py_DECREF(__pyx_1); __pyx_1 = 0;
3877     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3878     Py_DECREF(__pyx_4); __pyx_4 = 0;
3879     goto __pyx_L5;
3880   }
3881   __pyx_L5:;
3882
3883   goto __pyx_L0;
3884   __pyx_L1:;
3885   Py_XDECREF(__pyx_1);
3886   Py_XDECREF(__pyx_3);
3887   Py_XDECREF(__pyx_4);
3888   __Pyx_WriteUnraisable("purple.request_add_buddy");
3889   __pyx_L0:;
3890   Py_DECREF(__pyx_v_username);
3891   Py_DECREF(__pyx_v_protocol_id);
3892   Py_DECREF(__pyx_v_buddy_username);
3893   Py_DECREF(__pyx_v_buddy_group);
3894   Py_DECREF(__pyx_v_buddy_alias);
3895 }
3896
3897 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":205
3898  *                 buddy_username, buddy_group, buddy_alias)
3899  * 
3900  * cdef void request_add_chat(account.PurpleAccount *acc, \             # <<<<<<<<<<<<<<
3901  *         blist.PurpleGroup *group, const_char *alias, const_char *name):
3902  *     """
3903  */
3904
3905 static PyObject *__pyx_kp_95;
3906 static PyObject *__pyx_kp_96;
3907 static PyObject *__pyx_kp_97;
3908
3909 static char __pyx_k_92[] = "blist";
3910 static char __pyx_k_93[] = "%s";
3911 static char __pyx_k_94[] = "request-add-chat\n";
3912 static char __pyx_k_95[] = "request-add-chat";
3913 static char __pyx_k_96[] = "request-add-chat";
3914 static char __pyx_k_97[] = "request-add-chat: TODO";
3915
3916 static  void __pyx_f_6purple_request_add_chat(PurpleAccount *__pyx_v_acc, PurpleGroup *__pyx_v_group, const char *__pyx_v_alias, const char *__pyx_v_name) {
3917   PyObject *__pyx_1 = 0;
3918   PyObject *__pyx_2 = 0;
3919   PyObject *__pyx_3 = 0;
3920   int __pyx_4;
3921
3922   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":210
3923  *     TODO
3924  *     """
3925  *     debug.purple_debug_info("blist", "%s", "request-add-chat\n")             # <<<<<<<<<<<<<<
3926  *     if blist_cbs.has_key("request-add-chat"):
3927  *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")
3928  */
3929   purple_debug_info(__pyx_k_92, __pyx_k_93, __pyx_k_94);
3930
3931   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":211
3932  *     """
3933  *     debug.purple_debug_info("blist", "%s", "request-add-chat\n")
3934  *     if blist_cbs.has_key("request-add-chat"):             # <<<<<<<<<<<<<<
3935  *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")
3936  * 
3937  */
3938   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
3939   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
3940   Py_DECREF(__pyx_1); __pyx_1 = 0;
3941   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
3942   Py_INCREF(__pyx_kp_95);
3943   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_95);
3944   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
3945   Py_DECREF(__pyx_2); __pyx_2 = 0;
3946   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
3947   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
3948   Py_DECREF(__pyx_3); __pyx_3 = 0;
3949   if (__pyx_4) {
3950
3951     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":212
3952  *     debug.purple_debug_info("blist", "%s", "request-add-chat\n")
3953  *     if blist_cbs.has_key("request-add-chat"):
3954  *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")             # <<<<<<<<<<<<<<
3955  * 
3956  * cdef void request_add_group():
3957  */
3958     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
3959     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_96); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
3960     Py_DECREF(__pyx_2); __pyx_2 = 0;
3961     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
3962     Py_INCREF(__pyx_kp_97);
3963     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_97);
3964     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
3965     Py_DECREF(__pyx_1); __pyx_1 = 0;
3966     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
3967     Py_DECREF(__pyx_2); __pyx_2 = 0;
3968     goto __pyx_L2;
3969   }
3970   __pyx_L2:;
3971
3972   goto __pyx_L0;
3973   __pyx_L1:;
3974   Py_XDECREF(__pyx_1);
3975   Py_XDECREF(__pyx_2);
3976   Py_XDECREF(__pyx_3);
3977   __Pyx_WriteUnraisable("purple.request_add_chat");
3978   __pyx_L0:;
3979 }
3980
3981 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":214
3982  *         (<object> blist_cbs["request-add-chat"])("request-add-chat: TODO")
3983  * 
3984  * cdef void request_add_group():             # <<<<<<<<<<<<<<
3985  *     """
3986  *     TODO
3987  */
3988
3989 static PyObject *__pyx_kp_101;
3990 static PyObject *__pyx_kp_102;
3991 static PyObject *__pyx_kp_103;
3992
3993 static char __pyx_k_98[] = "blist";
3994 static char __pyx_k_99[] = "%s";
3995 static char __pyx_k_100[] = "request-add-group\n";
3996 static char __pyx_k_101[] = "request-add-chat";
3997 static char __pyx_k_102[] = "request-add-chat";
3998 static char __pyx_k_103[] = "request-add-group: TODO";
3999
4000 static  void __pyx_f_6purple_request_add_group(void) {
4001   PyObject *__pyx_1 = 0;
4002   PyObject *__pyx_2 = 0;
4003   PyObject *__pyx_3 = 0;
4004   int __pyx_4;
4005
4006   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":218
4007  *     TODO
4008  *     """
4009  *     debug.purple_debug_info("blist", "%s", "request-add-group\n")             # <<<<<<<<<<<<<<
4010  *     if blist_cbs.has_key("request-add-chat"):
4011  *         (<object>blist_cbs["request-add-chat"])("request-add-group: TODO")
4012  */
4013   purple_debug_info(__pyx_k_98, __pyx_k_99, __pyx_k_100);
4014
4015   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":219
4016  *     """
4017  *     debug.purple_debug_info("blist", "%s", "request-add-group\n")
4018  *     if blist_cbs.has_key("request-add-chat"):             # <<<<<<<<<<<<<<
4019  *         (<object>blist_cbs["request-add-chat"])("request-add-group: TODO")
4020  */
4021   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
4022   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
4023   Py_DECREF(__pyx_1); __pyx_1 = 0;
4024   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
4025   Py_INCREF(__pyx_kp_101);
4026   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_101);
4027   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
4028   Py_DECREF(__pyx_2); __pyx_2 = 0;
4029   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4030   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
4031   Py_DECREF(__pyx_3); __pyx_3 = 0;
4032   if (__pyx_4) {
4033
4034     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":220
4035  *     debug.purple_debug_info("blist", "%s", "request-add-group\n")
4036  *     if blist_cbs.has_key("request-add-chat"):
4037  *         (<object>blist_cbs["request-add-chat"])("request-add-group: TODO")             # <<<<<<<<<<<<<<
4038  */
4039     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
4040     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_102); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
4041     Py_DECREF(__pyx_2); __pyx_2 = 0;
4042     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
4043     Py_INCREF(__pyx_kp_103);
4044     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_103);
4045     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
4046     Py_DECREF(__pyx_1); __pyx_1 = 0;
4047     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4048     Py_DECREF(__pyx_2); __pyx_2 = 0;
4049     goto __pyx_L2;
4050   }
4051   __pyx_L2:;
4052
4053   goto __pyx_L0;
4054   __pyx_L1:;
4055   Py_XDECREF(__pyx_1);
4056   Py_XDECREF(__pyx_2);
4057   Py_XDECREF(__pyx_3);
4058   __Pyx_WriteUnraisable("purple.request_add_group");
4059   __pyx_L0:;
4060 }
4061
4062 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":30
4063  *     ctypedef int size_t
4064  * 
4065  * cdef void connect_progress(connection.PurpleConnection *gc, const_char *text, \             # <<<<<<<<<<<<<<
4066  *         size_t step, size_t step_count):
4067  *     """
4068  */
4069
4070 static PyObject *__pyx_kp_107;
4071 static PyObject *__pyx_kp_108;
4072
4073 static char __pyx_k_104[] = "connection";
4074 static char __pyx_k_105[] = "%s";
4075 static char __pyx_k_106[] = "connect-progress\n";
4076 static char __pyx_k_107[] = "connect-progress";
4077 static char __pyx_k_108[] = "connect-progress";
4078
4079 static  void __pyx_f_6purple_connect_progress(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text, size_t __pyx_v_step, size_t __pyx_v_step_count) {
4080   PyObject *__pyx_1 = 0;
4081   PyObject *__pyx_2 = 0;
4082   PyObject *__pyx_3 = 0;
4083   int __pyx_4;
4084   PyObject *__pyx_5 = 0;
4085   PyObject *__pyx_6 = 0;
4086
4087   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":37
4088  *     reached (which might be displayed as a progress bar).
4089  *     """
4090  *     debug.purple_debug_info("connection", "%s", "connect-progress\n")             # <<<<<<<<<<<<<<
4091  *     if connection_cbs.has_key("connect-progress"):
4092  *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)
4093  */
4094   purple_debug_info(__pyx_k_104, __pyx_k_105, __pyx_k_106);
4095
4096   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":38
4097  *     """
4098  *     debug.purple_debug_info("connection", "%s", "connect-progress\n")
4099  *     if connection_cbs.has_key("connect-progress"):             # <<<<<<<<<<<<<<
4100  *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)
4101  * 
4102  */
4103   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
4104   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
4105   Py_DECREF(__pyx_1); __pyx_1 = 0;
4106   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
4107   Py_INCREF(__pyx_kp_107);
4108   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_107);
4109   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
4110   Py_DECREF(__pyx_2); __pyx_2 = 0;
4111   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4112   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
4113   Py_DECREF(__pyx_3); __pyx_3 = 0;
4114   if (__pyx_4) {
4115
4116     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":39
4117  *     debug.purple_debug_info("connection", "%s", "connect-progress\n")
4118  *     if connection_cbs.has_key("connect-progress"):
4119  *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)             # <<<<<<<<<<<<<<
4120  * 
4121  * cdef void connected(connection.PurpleConnection *gc):
4122  */
4123     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4124     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_108); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4125     Py_DECREF(__pyx_2); __pyx_2 = 0;
4126     __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_text)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4127     __pyx_2 = PyInt_FromLong(__pyx_v_step); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4128     __pyx_5 = PyInt_FromLong(__pyx_v_step_count); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4129     __pyx_6 = PyTuple_New(3); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4130     PyTuple_SET_ITEM(__pyx_6, 0, __pyx_3);
4131     PyTuple_SET_ITEM(__pyx_6, 1, __pyx_2);
4132     PyTuple_SET_ITEM(__pyx_6, 2, __pyx_5);
4133     __pyx_3 = 0;
4134     __pyx_2 = 0;
4135     __pyx_5 = 0;
4136     __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
4137     Py_DECREF(__pyx_1); __pyx_1 = 0;
4138     Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0;
4139     Py_DECREF(__pyx_3); __pyx_3 = 0;
4140     goto __pyx_L2;
4141   }
4142   __pyx_L2:;
4143
4144   goto __pyx_L0;
4145   __pyx_L1:;
4146   Py_XDECREF(__pyx_1);
4147   Py_XDECREF(__pyx_2);
4148   Py_XDECREF(__pyx_3);
4149   Py_XDECREF(__pyx_5);
4150   Py_XDECREF(__pyx_6);
4151   __Pyx_WriteUnraisable("purple.connect_progress");
4152   __pyx_L0:;
4153 }
4154
4155 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":41
4156  *         (<object> connection_cbs["connect-progress"])(<char *> text, step, step_count)
4157  * 
4158  * cdef void connected(connection.PurpleConnection *gc):             # <<<<<<<<<<<<<<
4159  *     """
4160  *     Called when a connection is established (just before the signed-on signal).
4161  */
4162
4163 static char __pyx_k_112[] = "connected";
4164 static char __pyx_k_113[] = "connected";
4165
4166 static PyObject *__pyx_kp_112;
4167 static PyObject *__pyx_kp_113;
4168
4169 static PyObject *__pyx_kp_114;
4170
4171 static char __pyx_k_109[] = "connection";
4172 static char __pyx_k_110[] = "%s";
4173 static char __pyx_k_111[] = "connected\n";
4174 static char __pyx_k_114[] = "connected: TODO";
4175
4176 static  void __pyx_f_6purple_connected(PurpleConnection *__pyx_v_gc) {
4177   PyObject *__pyx_1 = 0;
4178   PyObject *__pyx_2 = 0;
4179   PyObject *__pyx_3 = 0;
4180   int __pyx_4;
4181
4182   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":45
4183  *     Called when a connection is established (just before the signed-on signal).
4184  *     """
4185  *     debug.purple_debug_info("connection", "%s", "connected\n")             # <<<<<<<<<<<<<<
4186  *     if connection_cbs.has_key("connected"):
4187  *         (<object> connection_cbs["connected"])("connected: TODO")
4188  */
4189   purple_debug_info(__pyx_k_109, __pyx_k_110, __pyx_k_111);
4190
4191   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":46
4192  *     """
4193  *     debug.purple_debug_info("connection", "%s", "connected\n")
4194  *     if connection_cbs.has_key("connected"):             # <<<<<<<<<<<<<<
4195  *         (<object> connection_cbs["connected"])("connected: TODO")
4196  * 
4197  */
4198   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
4199   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
4200   Py_DECREF(__pyx_1); __pyx_1 = 0;
4201   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
4202   Py_INCREF(__pyx_kp_112);
4203   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_112);
4204   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
4205   Py_DECREF(__pyx_2); __pyx_2 = 0;
4206   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4207   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
4208   Py_DECREF(__pyx_3); __pyx_3 = 0;
4209   if (__pyx_4) {
4210
4211     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":47
4212  *     debug.purple_debug_info("connection", "%s", "connected\n")
4213  *     if connection_cbs.has_key("connected"):
4214  *         (<object> connection_cbs["connected"])("connected: TODO")             # <<<<<<<<<<<<<<
4215  * 
4216  * cdef void disconnected(connection.PurpleConnection *gc):
4217  */
4218     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
4219     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_113); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
4220     Py_DECREF(__pyx_2); __pyx_2 = 0;
4221     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
4222     Py_INCREF(__pyx_kp_114);
4223     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_114);
4224     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
4225     Py_DECREF(__pyx_1); __pyx_1 = 0;
4226     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4227     Py_DECREF(__pyx_2); __pyx_2 = 0;
4228     goto __pyx_L2;
4229   }
4230   __pyx_L2:;
4231
4232   goto __pyx_L0;
4233   __pyx_L1:;
4234   Py_XDECREF(__pyx_1);
4235   Py_XDECREF(__pyx_2);
4236   Py_XDECREF(__pyx_3);
4237   __Pyx_WriteUnraisable("purple.connected");
4238   __pyx_L0:;
4239 }
4240
4241 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":49
4242  *         (<object> connection_cbs["connected"])("connected: TODO")
4243  * 
4244  * cdef void disconnected(connection.PurpleConnection *gc):             # <<<<<<<<<<<<<<
4245  *     """
4246  *     Called when a connection is ended (between the signing-off and signed-off
4247  */
4248
4249 static char __pyx_k_118[] = "disconnected";
4250 static char __pyx_k_119[] = "disconnected";
4251
4252 static PyObject *__pyx_kp_118;
4253 static PyObject *__pyx_kp_119;
4254
4255 static PyObject *__pyx_kp_120;
4256
4257 static char __pyx_k_115[] = "connection";
4258 static char __pyx_k_116[] = "%s";
4259 static char __pyx_k_117[] = "disconnected\n";
4260 static char __pyx_k_120[] = "disconnected: TODO";
4261
4262 static  void __pyx_f_6purple_disconnected(PurpleConnection *__pyx_v_gc) {
4263   PyObject *__pyx_1 = 0;
4264   PyObject *__pyx_2 = 0;
4265   PyObject *__pyx_3 = 0;
4266   int __pyx_4;
4267
4268   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":54
4269  *     signal).
4270  *     """
4271  *     debug.purple_debug_info("connection", "%s", "disconnected\n")             # <<<<<<<<<<<<<<
4272  *     if connection_cbs.has_key("disconnected"):
4273  *         (<object> connection_cbs["disconnected"])("disconnected: TODO")
4274  */
4275   purple_debug_info(__pyx_k_115, __pyx_k_116, __pyx_k_117);
4276
4277   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":55
4278  *     """
4279  *     debug.purple_debug_info("connection", "%s", "disconnected\n")
4280  *     if connection_cbs.has_key("disconnected"):             # <<<<<<<<<<<<<<
4281  *         (<object> connection_cbs["disconnected"])("disconnected: TODO")
4282  * 
4283  */
4284   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
4285   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
4286   Py_DECREF(__pyx_1); __pyx_1 = 0;
4287   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
4288   Py_INCREF(__pyx_kp_118);
4289   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_118);
4290   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
4291   Py_DECREF(__pyx_2); __pyx_2 = 0;
4292   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4293   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
4294   Py_DECREF(__pyx_3); __pyx_3 = 0;
4295   if (__pyx_4) {
4296
4297     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":56
4298  *     debug.purple_debug_info("connection", "%s", "disconnected\n")
4299  *     if connection_cbs.has_key("disconnected"):
4300  *         (<object> connection_cbs["disconnected"])("disconnected: TODO")             # <<<<<<<<<<<<<<
4301  * 
4302  * cdef void notice(connection.PurpleConnection *gc, const_char *text):
4303  */
4304     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
4305     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_119); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
4306     Py_DECREF(__pyx_2); __pyx_2 = 0;
4307     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
4308     Py_INCREF(__pyx_kp_120);
4309     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_120);
4310     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
4311     Py_DECREF(__pyx_1); __pyx_1 = 0;
4312     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4313     Py_DECREF(__pyx_2); __pyx_2 = 0;
4314     goto __pyx_L2;
4315   }
4316   __pyx_L2:;
4317
4318   goto __pyx_L0;
4319   __pyx_L1:;
4320   Py_XDECREF(__pyx_1);
4321   Py_XDECREF(__pyx_2);
4322   Py_XDECREF(__pyx_3);
4323   __Pyx_WriteUnraisable("purple.disconnected");
4324   __pyx_L0:;
4325 }
4326
4327 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":58
4328  *         (<object> connection_cbs["disconnected"])("disconnected: TODO")
4329  * 
4330  * cdef void notice(connection.PurpleConnection *gc, const_char *text):             # <<<<<<<<<<<<<<
4331  *     """
4332  *     Used to display connection-specific notices. (Pidgin's Gtk user interface
4333  */
4334
4335 static char __pyx_k_124[] = "notice";
4336 static char __pyx_k_125[] = "notice";
4337
4338 static PyObject *__pyx_kp_124;
4339 static PyObject *__pyx_kp_125;
4340
4341 static PyObject *__pyx_kp_126;
4342
4343 static char __pyx_k_121[] = "connection";
4344 static char __pyx_k_122[] = "%s";
4345 static char __pyx_k_123[] = "notice\n";
4346 static char __pyx_k_126[] = "notice: TODO";
4347
4348 static  void __pyx_f_6purple_notice(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text) {
4349   PyObject *__pyx_1 = 0;
4350   PyObject *__pyx_2 = 0;
4351   PyObject *__pyx_3 = 0;
4352   int __pyx_4;
4353
4354   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":64
4355  *     operation, is not used by any of the protocols shipped with libpurple.)
4356  *     """
4357  *     debug.purple_debug_info("connection", "%s", "notice\n")             # <<<<<<<<<<<<<<
4358  *     if connection_cbs.has_key("notice"):
4359  *         (<object> connection_cbs["notice"])("notice: TODO")
4360  */
4361   purple_debug_info(__pyx_k_121, __pyx_k_122, __pyx_k_123);
4362
4363   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":65
4364  *     """
4365  *     debug.purple_debug_info("connection", "%s", "notice\n")
4366  *     if connection_cbs.has_key("notice"):             # <<<<<<<<<<<<<<
4367  *         (<object> connection_cbs["notice"])("notice: TODO")
4368  * 
4369  */
4370   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
4371   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
4372   Py_DECREF(__pyx_1); __pyx_1 = 0;
4373   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
4374   Py_INCREF(__pyx_kp_124);
4375   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_124);
4376   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
4377   Py_DECREF(__pyx_2); __pyx_2 = 0;
4378   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4379   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
4380   Py_DECREF(__pyx_3); __pyx_3 = 0;
4381   if (__pyx_4) {
4382
4383     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":66
4384  *     debug.purple_debug_info("connection", "%s", "notice\n")
4385  *     if connection_cbs.has_key("notice"):
4386  *         (<object> connection_cbs["notice"])("notice: TODO")             # <<<<<<<<<<<<<<
4387  * 
4388  * cdef void report_disconnect(connection.PurpleConnection *gc, const_char *text):
4389  */
4390     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
4391     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_125); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
4392     Py_DECREF(__pyx_2); __pyx_2 = 0;
4393     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
4394     Py_INCREF(__pyx_kp_126);
4395     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_126);
4396     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
4397     Py_DECREF(__pyx_1); __pyx_1 = 0;
4398     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4399     Py_DECREF(__pyx_2); __pyx_2 = 0;
4400     goto __pyx_L2;
4401   }
4402   __pyx_L2:;
4403
4404   goto __pyx_L0;
4405   __pyx_L1:;
4406   Py_XDECREF(__pyx_1);
4407   Py_XDECREF(__pyx_2);
4408   Py_XDECREF(__pyx_3);
4409   __Pyx_WriteUnraisable("purple.notice");
4410   __pyx_L0:;
4411 }
4412
4413 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":68
4414  *         (<object> connection_cbs["notice"])("notice: TODO")
4415  * 
4416  * cdef void report_disconnect(connection.PurpleConnection *gc, const_char *text):             # <<<<<<<<<<<<<<
4417  *     """
4418  *     Called when an error causes a connection to be disconnected.
4419  */
4420
4421 static PyObject *__pyx_kp_130;
4422 static PyObject *__pyx_kp_131;
4423
4424 static char __pyx_k_127[] = "connection";
4425 static char __pyx_k_128[] = "%s";
4426 static char __pyx_k_129[] = "report-disconnect\n";
4427 static char __pyx_k_130[] = "report-disconnect";
4428 static char __pyx_k_131[] = "report-disconnect";
4429
4430 static  void __pyx_f_6purple_report_disconnect(PurpleConnection *__pyx_v_gc, const char *__pyx_v_text) {
4431   PyObject *__pyx_1 = 0;
4432   PyObject *__pyx_2 = 0;
4433   PyObject *__pyx_3 = 0;
4434   int __pyx_4;
4435
4436   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":77
4437  *                 PurpleConnectionUiOps.report_disconnect_reason.
4438  *     """
4439  *     debug.purple_debug_info("connection", "%s", "report-disconnect\n")             # <<<<<<<<<<<<<<
4440  *     if connection_cbs.has_key("report-disconnect"):
4441  *         (<object> connection_cbs["report-disconnect"])(<char *> text)
4442  */
4443   purple_debug_info(__pyx_k_127, __pyx_k_128, __pyx_k_129);
4444
4445   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":78
4446  *     """
4447  *     debug.purple_debug_info("connection", "%s", "report-disconnect\n")
4448  *     if connection_cbs.has_key("report-disconnect"):             # <<<<<<<<<<<<<<
4449  *         (<object> connection_cbs["report-disconnect"])(<char *> text)
4450  * 
4451  */
4452   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
4453   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
4454   Py_DECREF(__pyx_1); __pyx_1 = 0;
4455   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
4456   Py_INCREF(__pyx_kp_130);
4457   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_130);
4458   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
4459   Py_DECREF(__pyx_2); __pyx_2 = 0;
4460   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4461   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
4462   Py_DECREF(__pyx_3); __pyx_3 = 0;
4463   if (__pyx_4) {
4464
4465     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":79
4466  *     debug.purple_debug_info("connection", "%s", "report-disconnect\n")
4467  *     if connection_cbs.has_key("report-disconnect"):
4468  *         (<object> connection_cbs["report-disconnect"])(<char *> text)             # <<<<<<<<<<<<<<
4469  * 
4470  * cdef void network_connected():
4471  */
4472     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
4473     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_131); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
4474     Py_DECREF(__pyx_2); __pyx_2 = 0;
4475     __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_text)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
4476     __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
4477     PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
4478     __pyx_3 = 0;
4479     __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
4480     Py_DECREF(__pyx_1); __pyx_1 = 0;
4481     Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
4482     Py_DECREF(__pyx_3); __pyx_3 = 0;
4483     goto __pyx_L2;
4484   }
4485   __pyx_L2:;
4486
4487   goto __pyx_L0;
4488   __pyx_L1:;
4489   Py_XDECREF(__pyx_1);
4490   Py_XDECREF(__pyx_2);
4491   Py_XDECREF(__pyx_3);
4492   __Pyx_WriteUnraisable("purple.report_disconnect");
4493   __pyx_L0:;
4494 }
4495
4496 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":81
4497  *         (<object> connection_cbs["report-disconnect"])(<char *> text)
4498  * 
4499  * cdef void network_connected():             # <<<<<<<<<<<<<<
4500  *     """
4501  *     Called when libpurple discovers that the computer's network connection
4502  */
4503
4504 static PyObject *__pyx_kp_135;
4505 static PyObject *__pyx_kp_136;
4506
4507 static char __pyx_k_132[] = "connection";
4508 static char __pyx_k_133[] = "%s";
4509 static char __pyx_k_134[] = "network-connected\n";
4510 static char __pyx_k_135[] = "network-connected";
4511 static char __pyx_k_136[] = "network-connected";
4512
4513 static  void __pyx_f_6purple_network_connected(void) {
4514   PyObject *__pyx_1 = 0;
4515   PyObject *__pyx_2 = 0;
4516   PyObject *__pyx_3 = 0;
4517   int __pyx_4;
4518
4519   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":87
4520  *     it uses Win32's network change notification infrastructure.
4521  *     """
4522  *     debug.purple_debug_info("connection", "%s", "network-connected\n")             # <<<<<<<<<<<<<<
4523  *     if connection_cbs.has_key("network-connected"):
4524  *         (<object> connection_cbs["network-connected"])()
4525  */
4526   purple_debug_info(__pyx_k_132, __pyx_k_133, __pyx_k_134);
4527
4528   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":88
4529  *     """
4530  *     debug.purple_debug_info("connection", "%s", "network-connected\n")
4531  *     if connection_cbs.has_key("network-connected"):             # <<<<<<<<<<<<<<
4532  *         (<object> connection_cbs["network-connected"])()
4533  * 
4534  */
4535   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
4536   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
4537   Py_DECREF(__pyx_1); __pyx_1 = 0;
4538   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
4539   Py_INCREF(__pyx_kp_135);
4540   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_135);
4541   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
4542   Py_DECREF(__pyx_2); __pyx_2 = 0;
4543   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4544   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
4545   Py_DECREF(__pyx_3); __pyx_3 = 0;
4546   if (__pyx_4) {
4547
4548     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":89
4549  *     debug.purple_debug_info("connection", "%s", "network-connected\n")
4550  *     if connection_cbs.has_key("network-connected"):
4551  *         (<object> connection_cbs["network-connected"])()             # <<<<<<<<<<<<<<
4552  * 
4553  * cdef void network_disconnected():
4554  */
4555     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
4556     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_136); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
4557     Py_DECREF(__pyx_2); __pyx_2 = 0;
4558     __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
4559     Py_DECREF(__pyx_1); __pyx_1 = 0;
4560     Py_DECREF(__pyx_3); __pyx_3 = 0;
4561     goto __pyx_L2;
4562   }
4563   __pyx_L2:;
4564
4565   goto __pyx_L0;
4566   __pyx_L1:;
4567   Py_XDECREF(__pyx_1);
4568   Py_XDECREF(__pyx_2);
4569   Py_XDECREF(__pyx_3);
4570   __Pyx_WriteUnraisable("purple.network_connected");
4571   __pyx_L0:;
4572 }
4573
4574 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":91
4575  *         (<object> connection_cbs["network-connected"])()
4576  * 
4577  * cdef void network_disconnected():             # <<<<<<<<<<<<<<
4578  *     """
4579  *     Called when libpurple discovers that the computer's network connection
4580  */
4581
4582 static PyObject *__pyx_kp_140;
4583 static PyObject *__pyx_kp_141;
4584
4585 static char __pyx_k_137[] = "connection";
4586 static char __pyx_k_138[] = "%s";
4587 static char __pyx_k_139[] = "network-disconnected\n";
4588 static char __pyx_k_140[] = "network-disconnected";
4589 static char __pyx_k_141[] = "network-disconnected";
4590
4591 static  void __pyx_f_6purple_network_disconnected(void) {
4592   PyObject *__pyx_1 = 0;
4593   PyObject *__pyx_2 = 0;
4594   PyObject *__pyx_3 = 0;
4595   int __pyx_4;
4596
4597   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":96
4598  *     has gone away.
4599  *     """
4600  *     debug.purple_debug_info("connection", "%s", "network-disconnected\n")             # <<<<<<<<<<<<<<
4601  *     if connection_cbs.has_key("network-disconnected"):
4602  *         (<object> connection_cbs["network-disconnected"])()
4603  */
4604   purple_debug_info(__pyx_k_137, __pyx_k_138, __pyx_k_139);
4605
4606   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":97
4607  *     """
4608  *     debug.purple_debug_info("connection", "%s", "network-disconnected\n")
4609  *     if connection_cbs.has_key("network-disconnected"):             # <<<<<<<<<<<<<<
4610  *         (<object> connection_cbs["network-disconnected"])()
4611  * 
4612  */
4613   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
4614   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
4615   Py_DECREF(__pyx_1); __pyx_1 = 0;
4616   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
4617   Py_INCREF(__pyx_kp_140);
4618   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_140);
4619   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
4620   Py_DECREF(__pyx_2); __pyx_2 = 0;
4621   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4622   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
4623   Py_DECREF(__pyx_3); __pyx_3 = 0;
4624   if (__pyx_4) {
4625
4626     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":98
4627  *     debug.purple_debug_info("connection", "%s", "network-disconnected\n")
4628  *     if connection_cbs.has_key("network-disconnected"):
4629  *         (<object> connection_cbs["network-disconnected"])()             # <<<<<<<<<<<<<<
4630  * 
4631  * cdef void report_disconnect_reason(connection.PurpleConnection *gc, \
4632  */
4633     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
4634     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_141); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
4635     Py_DECREF(__pyx_2); __pyx_2 = 0;
4636     __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
4637     Py_DECREF(__pyx_1); __pyx_1 = 0;
4638     Py_DECREF(__pyx_3); __pyx_3 = 0;
4639     goto __pyx_L2;
4640   }
4641   __pyx_L2:;
4642
4643   goto __pyx_L0;
4644   __pyx_L1:;
4645   Py_XDECREF(__pyx_1);
4646   Py_XDECREF(__pyx_2);
4647   Py_XDECREF(__pyx_3);
4648   __Pyx_WriteUnraisable("purple.network_disconnected");
4649   __pyx_L0:;
4650 }
4651
4652 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":100
4653  *         (<object> connection_cbs["network-disconnected"])()
4654  * 
4655  * cdef void report_disconnect_reason(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
4656  *         connection.PurpleConnectionError reason, const_char *c_text):
4657  *     """
4658  */
4659
4660 static PyObject *__pyx_int_0;
4661 static PyObject *__pyx_int_1;
4662 static PyObject *__pyx_int_2;
4663 static PyObject *__pyx_int_3;
4664 static PyObject *__pyx_int_4;
4665 static PyObject *__pyx_int_5;
4666 static PyObject *__pyx_int_6;
4667 static PyObject *__pyx_int_7;
4668 static PyObject *__pyx_int_8;
4669 static PyObject *__pyx_int_9;
4670 static PyObject *__pyx_int_10;
4671 static PyObject *__pyx_int_11;
4672 static PyObject *__pyx_int_12;
4673 static PyObject *__pyx_int_13;
4674 static PyObject *__pyx_int_14;
4675 static PyObject *__pyx_int_15;
4676 static PyObject *__pyx_int_16;
4677
4678 static PyObject *__pyx_kp_145;
4679 static PyObject *__pyx_kp_146;
4680 static PyObject *__pyx_kp_147;
4681 static PyObject *__pyx_kp_148;
4682 static PyObject *__pyx_kp_149;
4683 static PyObject *__pyx_kp_150;
4684 static PyObject *__pyx_kp_151;
4685 static PyObject *__pyx_kp_152;
4686 static PyObject *__pyx_kp_153;
4687 static PyObject *__pyx_kp_154;
4688 static PyObject *__pyx_kp_155;
4689 static PyObject *__pyx_kp_156;
4690 static PyObject *__pyx_kp_157;
4691 static PyObject *__pyx_kp_158;
4692 static PyObject *__pyx_kp_159;
4693 static PyObject *__pyx_kp_160;
4694 static PyObject *__pyx_kp_161;
4695 static PyObject *__pyx_kp_162;
4696 static PyObject *__pyx_kp_163;
4697
4698 static char __pyx_k_142[] = "connection";
4699 static char __pyx_k_143[] = "%s";
4700 static char __pyx_k_144[] = "report-disconnect-reason\n";
4701 static char __pyx_k_145[] = "Network error";
4702 static char __pyx_k_146[] = "Invalid username";
4703 static char __pyx_k_147[] = "Authentication failed";
4704 static char __pyx_k_148[] = "Authentication impossible";
4705 static char __pyx_k_149[] = "No SSL support";
4706 static char __pyx_k_150[] = "Encryption error";
4707 static char __pyx_k_151[] = "Name in use";
4708 static char __pyx_k_152[] = "Invalid settings";
4709 static char __pyx_k_153[] = "Certificate not provided";
4710 static char __pyx_k_154[] = "Certificate untrusted";
4711 static char __pyx_k_155[] = "Certificate expired";
4712 static char __pyx_k_156[] = "Certificate not activated";
4713 static char __pyx_k_157[] = "Certificate hostname mismatch";
4714 static char __pyx_k_158[] = "Certificate fingerprint mismatch";
4715 static char __pyx_k_159[] = "Certificate self signed";
4716 static char __pyx_k_160[] = "Certificate error (other)";
4717 static char __pyx_k_161[] = "Other error";
4718 static char __pyx_k_162[] = "report-disconnect-reason";
4719 static char __pyx_k_163[] = "report-disconnect-reason";
4720
4721 static  void __pyx_f_6purple_report_disconnect_reason(PurpleConnection *__pyx_v_gc, PurpleConnectionError __pyx_v_reason, const char *__pyx_v_c_text) {
4722   PyObject *__pyx_v_reason_string;
4723   PyObject *__pyx_v_text;
4724   PyObject *__pyx_1 = 0;
4725   PyObject *__pyx_2 = 0;
4726   PyObject *__pyx_3 = 0;
4727   int __pyx_4;
4728   char *__pyx_5;
4729   __pyx_v_reason_string = Py_None; Py_INCREF(Py_None);
4730   __pyx_v_text = Py_None; Py_INCREF(Py_None);
4731
4732   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":114
4733  *     @since 2.3.0
4734  *     """
4735  *     debug.purple_debug_info("connection", "%s", "report-disconnect-reason\n")             # <<<<<<<<<<<<<<
4736  * 
4737  *     reason_string = {
4738  */
4739   purple_debug_info(__pyx_k_142, __pyx_k_143, __pyx_k_144);
4740
4741   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":133
4742  *         14: 'Certificate self signed',
4743  *         15: 'Certificate error (other)',
4744  *         16: 'Other error' }[reason]             # <<<<<<<<<<<<<<
4745  * 
4746  *     if c_text:
4747  */
4748   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4749
4750   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":117
4751  * 
4752  *     reason_string = {
4753  *         0: 'Network error',             # <<<<<<<<<<<<<<
4754  *         1: 'Invalid username',
4755  *         2: 'Authentication failed',
4756  */
4757   if (PyDict_SetItem(__pyx_1, __pyx_int_0, __pyx_kp_145) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4758
4759   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":118
4760  *     reason_string = {
4761  *         0: 'Network error',
4762  *         1: 'Invalid username',             # <<<<<<<<<<<<<<
4763  *         2: 'Authentication failed',
4764  *         3: 'Authentication impossible',
4765  */
4766   if (PyDict_SetItem(__pyx_1, __pyx_int_1, __pyx_kp_146) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4767
4768   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":119
4769  *         0: 'Network error',
4770  *         1: 'Invalid username',
4771  *         2: 'Authentication failed',             # <<<<<<<<<<<<<<
4772  *         3: 'Authentication impossible',
4773  *         4: 'No SSL support',
4774  */
4775   if (PyDict_SetItem(__pyx_1, __pyx_int_2, __pyx_kp_147) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4776
4777   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":120
4778  *         1: 'Invalid username',
4779  *         2: 'Authentication failed',
4780  *         3: 'Authentication impossible',             # <<<<<<<<<<<<<<
4781  *         4: 'No SSL support',
4782  *         5: 'Encryption error',
4783  */
4784   if (PyDict_SetItem(__pyx_1, __pyx_int_3, __pyx_kp_148) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4785
4786   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":121
4787  *         2: 'Authentication failed',
4788  *         3: 'Authentication impossible',
4789  *         4: 'No SSL support',             # <<<<<<<<<<<<<<
4790  *         5: 'Encryption error',
4791  *         6: 'Name in use',
4792  */
4793   if (PyDict_SetItem(__pyx_1, __pyx_int_4, __pyx_kp_149) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4794
4795   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":122
4796  *         3: 'Authentication impossible',
4797  *         4: 'No SSL support',
4798  *         5: 'Encryption error',             # <<<<<<<<<<<<<<
4799  *         6: 'Name in use',
4800  *         7: 'Invalid settings',
4801  */
4802   if (PyDict_SetItem(__pyx_1, __pyx_int_5, __pyx_kp_150) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4803
4804   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":123
4805  *         4: 'No SSL support',
4806  *         5: 'Encryption error',
4807  *         6: 'Name in use',             # <<<<<<<<<<<<<<
4808  *         7: 'Invalid settings',
4809  *         8: 'Certificate not provided',
4810  */
4811   if (PyDict_SetItem(__pyx_1, __pyx_int_6, __pyx_kp_151) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4812
4813   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":124
4814  *         5: 'Encryption error',
4815  *         6: 'Name in use',
4816  *         7: 'Invalid settings',             # <<<<<<<<<<<<<<
4817  *         8: 'Certificate not provided',
4818  *         9: 'Certificate untrusted',
4819  */
4820   if (PyDict_SetItem(__pyx_1, __pyx_int_7, __pyx_kp_152) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4821
4822   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":125
4823  *         6: 'Name in use',
4824  *         7: 'Invalid settings',
4825  *         8: 'Certificate not provided',             # <<<<<<<<<<<<<<
4826  *         9: 'Certificate untrusted',
4827  *         10: 'Certificate expired',
4828  */
4829   if (PyDict_SetItem(__pyx_1, __pyx_int_8, __pyx_kp_153) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4830
4831   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":126
4832  *         7: 'Invalid settings',
4833  *         8: 'Certificate not provided',
4834  *         9: 'Certificate untrusted',             # <<<<<<<<<<<<<<
4835  *         10: 'Certificate expired',
4836  *         11: 'Certificate not activated',
4837  */
4838   if (PyDict_SetItem(__pyx_1, __pyx_int_9, __pyx_kp_154) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4839
4840   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":127
4841  *         8: 'Certificate not provided',
4842  *         9: 'Certificate untrusted',
4843  *         10: 'Certificate expired',             # <<<<<<<<<<<<<<
4844  *         11: 'Certificate not activated',
4845  *         12: 'Certificate hostname mismatch',
4846  */
4847   if (PyDict_SetItem(__pyx_1, __pyx_int_10, __pyx_kp_155) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4848
4849   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":128
4850  *         9: 'Certificate untrusted',
4851  *         10: 'Certificate expired',
4852  *         11: 'Certificate not activated',             # <<<<<<<<<<<<<<
4853  *         12: 'Certificate hostname mismatch',
4854  *         13: 'Certificate fingerprint mismatch',
4855  */
4856   if (PyDict_SetItem(__pyx_1, __pyx_int_11, __pyx_kp_156) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4857
4858   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":129
4859  *         10: 'Certificate expired',
4860  *         11: 'Certificate not activated',
4861  *         12: 'Certificate hostname mismatch',             # <<<<<<<<<<<<<<
4862  *         13: 'Certificate fingerprint mismatch',
4863  *         14: 'Certificate self signed',
4864  */
4865   if (PyDict_SetItem(__pyx_1, __pyx_int_12, __pyx_kp_157) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4866
4867   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":130
4868  *         11: 'Certificate not activated',
4869  *         12: 'Certificate hostname mismatch',
4870  *         13: 'Certificate fingerprint mismatch',             # <<<<<<<<<<<<<<
4871  *         14: 'Certificate self signed',
4872  *         15: 'Certificate error (other)',
4873  */
4874   if (PyDict_SetItem(__pyx_1, __pyx_int_13, __pyx_kp_158) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4875
4876   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":131
4877  *         12: 'Certificate hostname mismatch',
4878  *         13: 'Certificate fingerprint mismatch',
4879  *         14: 'Certificate self signed',             # <<<<<<<<<<<<<<
4880  *         15: 'Certificate error (other)',
4881  *         16: 'Other error' }[reason]
4882  */
4883   if (PyDict_SetItem(__pyx_1, __pyx_int_14, __pyx_kp_159) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4884
4885   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":132
4886  *         13: 'Certificate fingerprint mismatch',
4887  *         14: 'Certificate self signed',
4888  *         15: 'Certificate error (other)',             # <<<<<<<<<<<<<<
4889  *         16: 'Other error' }[reason]
4890  * 
4891  */
4892   if (PyDict_SetItem(__pyx_1, __pyx_int_15, __pyx_kp_160) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4893
4894   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":133
4895  *         14: 'Certificate self signed',
4896  *         15: 'Certificate error (other)',
4897  *         16: 'Other error' }[reason]             # <<<<<<<<<<<<<<
4898  * 
4899  *     if c_text:
4900  */
4901   if (PyDict_SetItem(__pyx_1, __pyx_int_16, __pyx_kp_161) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
4902   __pyx_2 = PyInt_FromLong(__pyx_v_reason); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1;}
4903   __pyx_3 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1;}
4904   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4905   Py_DECREF(__pyx_2); __pyx_2 = 0;
4906   Py_DECREF(__pyx_v_reason_string);
4907   __pyx_v_reason_string = __pyx_3;
4908   __pyx_3 = 0;
4909
4910   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":135
4911  *         16: 'Other error' }[reason]
4912  * 
4913  *     if c_text:             # <<<<<<<<<<<<<<
4914  *         text = <char *> c_text
4915  *     else:
4916  */
4917   __pyx_4 = (__pyx_v_c_text != 0);
4918   if (__pyx_4) {
4919
4920     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":136
4921  * 
4922  *     if c_text:
4923  *         text = <char *> c_text             # <<<<<<<<<<<<<<
4924  *     else:
4925  *         text = None
4926  */
4927     __pyx_1 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_text)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
4928     Py_DECREF(__pyx_v_text);
4929     __pyx_v_text = __pyx_1;
4930     __pyx_1 = 0;
4931     goto __pyx_L2;
4932   }
4933   /*else*/ {
4934
4935     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":138
4936  *         text = <char *> c_text
4937  *     else:
4938  *         text = None             # <<<<<<<<<<<<<<
4939  * 
4940  *     if connection_cbs.has_key("report-disconnect-reason"):
4941  */
4942     Py_INCREF(Py_None);
4943     Py_DECREF(__pyx_v_text);
4944     __pyx_v_text = Py_None;
4945   }
4946   __pyx_L2:;
4947
4948   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":140
4949  *         text = None
4950  * 
4951  *     if connection_cbs.has_key("report-disconnect-reason"):             # <<<<<<<<<<<<<<
4952  *         (<object> connection_cbs["report-disconnect-reason"])(reason_string, <char *> text)
4953  */
4954   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
4955   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
4956   Py_DECREF(__pyx_2); __pyx_2 = 0;
4957   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
4958   Py_INCREF(__pyx_kp_162);
4959   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_162);
4960   __pyx_2 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
4961   Py_DECREF(__pyx_3); __pyx_3 = 0;
4962   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
4963   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
4964   Py_DECREF(__pyx_2); __pyx_2 = 0;
4965   if (__pyx_4) {
4966
4967     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":141
4968  * 
4969  *     if connection_cbs.has_key("report-disconnect-reason"):
4970  *         (<object> connection_cbs["report-disconnect-reason"])(reason_string, <char *> text)             # <<<<<<<<<<<<<<
4971  */
4972     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
4973     __pyx_1 = PyObject_GetItem(__pyx_3, __pyx_kp_163); if (!__pyx_1) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
4974     Py_DECREF(__pyx_3); __pyx_3 = 0;
4975     __pyx_5 = __Pyx_PyBytes_AsString(__pyx_v_text); if (unlikely((!__pyx_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
4976     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_5)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
4977     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
4978     Py_INCREF(__pyx_v_reason_string);
4979     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_reason_string);
4980     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
4981     __pyx_2 = 0;
4982     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
4983     Py_DECREF(__pyx_1); __pyx_1 = 0;
4984     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
4985     Py_DECREF(__pyx_2); __pyx_2 = 0;
4986     goto __pyx_L3;
4987   }
4988   __pyx_L3:;
4989
4990   goto __pyx_L0;
4991   __pyx_L1:;
4992   Py_XDECREF(__pyx_1);
4993   Py_XDECREF(__pyx_2);
4994   Py_XDECREF(__pyx_3);
4995   __Pyx_WriteUnraisable("purple.report_disconnect_reason");
4996   __pyx_L0:;
4997   Py_DECREF(__pyx_v_reason_string);
4998   Py_DECREF(__pyx_v_text);
4999 }
5000
5001 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":29
5002  * conversation_cbs = {}
5003  * 
5004  * cdef void create_conversation(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
5005  *     """
5006  *     Called when a conv is created (but before the conversation-created
5007  */
5008
5009 static PyObject *__pyx_kp_167;
5010 static PyObject *__pyx_kp_168;
5011
5012 static char __pyx_k_164[] = "conversation";
5013 static char __pyx_k_165[] = "%s";
5014 static char __pyx_k_166[] = "create-conversation\n";
5015 static char __pyx_k_167[] = "create-conversation";
5016 static char __pyx_k_168[] = "create-conversation";
5017
5018 static  void __pyx_f_6purple_create_conversation(PurpleConversation *__pyx_v_conv) {
5019   char *__pyx_v_c_name;
5020   PyObject *__pyx_v_name;
5021   PyObject *__pyx_v_type;
5022   int __pyx_1;
5023   PyObject *__pyx_2 = 0;
5024   PyObject *__pyx_3 = 0;
5025   PyObject *__pyx_4 = 0;
5026   __pyx_v_name = Py_None; Py_INCREF(Py_None);
5027   __pyx_v_type = Py_None; Py_INCREF(Py_None);
5028
5029   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":34
5030  *     signal is emitted).
5031  *     """
5032  *     debug.purple_debug_info("conversation", "%s", "create-conversation\n")             # <<<<<<<<<<<<<<
5033  *     cdef char *c_name = NULL
5034  * 
5035  */
5036   purple_debug_info(__pyx_k_164, __pyx_k_165, __pyx_k_166);
5037
5038   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":35
5039  *     """
5040  *     debug.purple_debug_info("conversation", "%s", "create-conversation\n")
5041  *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
5042  * 
5043  *     c_name = <char *> conversation.purple_conversation_get_name(conv)
5044  */
5045   __pyx_v_c_name = NULL;
5046
5047
5048   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":37
5049  *     cdef char *c_name = NULL
5050  * 
5051  *     c_name = <char *> conversation.purple_conversation_get_name(conv)             # <<<<<<<<<<<<<<
5052  *     if c_name == NULL:
5053  *         name = None
5054  */
5055   __pyx_v_c_name = ((char *)purple_conversation_get_name(__pyx_v_conv));
5056
5057   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":38
5058  * 
5059  *     c_name = <char *> conversation.purple_conversation_get_name(conv)
5060  *     if c_name == NULL:             # <<<<<<<<<<<<<<
5061  *         name = None
5062  *     else:
5063  */
5064   __pyx_1 = (__pyx_v_c_name == NULL);
5065   if (__pyx_1) {
5066
5067     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":39
5068  *     c_name = <char *> conversation.purple_conversation_get_name(conv)
5069  *     if c_name == NULL:
5070  *         name = None             # <<<<<<<<<<<<<<
5071  *     else:
5072  *         name = c_name
5073  */
5074     Py_INCREF(Py_None);
5075     Py_DECREF(__pyx_v_name);
5076     __pyx_v_name = Py_None;
5077     goto __pyx_L2;
5078   }
5079   /*else*/ {
5080
5081     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":41
5082  *         name = None
5083  *     else:
5084  *         name = c_name             # <<<<<<<<<<<<<<
5085  * 
5086  *     type = conversation.purple_conversation_get_type(conv)
5087  */
5088     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
5089     Py_DECREF(__pyx_v_name);
5090     __pyx_v_name = __pyx_2;
5091     __pyx_2 = 0;
5092   }
5093   __pyx_L2:;
5094
5095   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":43
5096  *         name = c_name
5097  * 
5098  *     type = conversation.purple_conversation_get_type(conv)             # <<<<<<<<<<<<<<
5099  * 
5100  *     if conversation_cbs.has_key("create-conversation"):
5101  */
5102   __pyx_2 = PyInt_FromLong(purple_conversation_get_type(__pyx_v_conv)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1;}
5103   Py_DECREF(__pyx_v_type);
5104   __pyx_v_type = __pyx_2;
5105   __pyx_2 = 0;
5106
5107   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":45
5108  *     type = conversation.purple_conversation_get_type(conv)
5109  * 
5110  *     if conversation_cbs.has_key("create-conversation"):             # <<<<<<<<<<<<<<
5111  *         (<object> conversation_cbs["create-conversation"])(name, type)
5112  * 
5113  */
5114   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
5115   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
5116   Py_DECREF(__pyx_2); __pyx_2 = 0;
5117   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
5118   Py_INCREF(__pyx_kp_167);
5119   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_167);
5120   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
5121   Py_DECREF(__pyx_3); __pyx_3 = 0;
5122   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
5123   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
5124   Py_DECREF(__pyx_4); __pyx_4 = 0;
5125   if (__pyx_1) {
5126
5127     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":46
5128  * 
5129  *     if conversation_cbs.has_key("create-conversation"):
5130  *         (<object> conversation_cbs["create-conversation"])(name, type)             # <<<<<<<<<<<<<<
5131  * 
5132  * cdef void destroy_conversation(conversation.PurpleConversation *conv):
5133  */
5134     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
5135     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_168); if (!__pyx_2) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
5136     Py_DECREF(__pyx_3); __pyx_3 = 0;
5137     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
5138     Py_INCREF(__pyx_v_name);
5139     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name);
5140     Py_INCREF(__pyx_v_type);
5141     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_type);
5142     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
5143     Py_DECREF(__pyx_2); __pyx_2 = 0;
5144     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
5145     Py_DECREF(__pyx_3); __pyx_3 = 0;
5146     goto __pyx_L3;
5147   }
5148   __pyx_L3:;
5149
5150   goto __pyx_L0;
5151   __pyx_L1:;
5152   Py_XDECREF(__pyx_2);
5153   Py_XDECREF(__pyx_3);
5154   Py_XDECREF(__pyx_4);
5155   __Pyx_WriteUnraisable("purple.create_conversation");
5156   __pyx_L0:;
5157   Py_DECREF(__pyx_v_name);
5158   Py_DECREF(__pyx_v_type);
5159 }
5160
5161 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":48
5162  *         (<object> conversation_cbs["create-conversation"])(name, type)
5163  * 
5164  * cdef void destroy_conversation(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
5165  *     """
5166  *     Called just before a conv is freed.
5167  */
5168
5169 static PyObject *__pyx_kp_172;
5170 static PyObject *__pyx_kp_173;
5171 static PyObject *__pyx_kp_174;
5172
5173 static char __pyx_k_169[] = "conversation";
5174 static char __pyx_k_170[] = "%s";
5175 static char __pyx_k_171[] = "destroy-conversation\n";
5176 static char __pyx_k_172[] = "destroy-conversation";
5177 static char __pyx_k_173[] = "destroy-conversation";
5178 static char __pyx_k_174[] = "destroy-conversation: TODO";
5179
5180 static  void __pyx_f_6purple_destroy_conversation(PurpleConversation *__pyx_v_conv) {
5181   PyObject *__pyx_1 = 0;
5182   PyObject *__pyx_2 = 0;
5183   PyObject *__pyx_3 = 0;
5184   int __pyx_4;
5185
5186   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":52
5187  *     Called just before a conv is freed.
5188  *     """
5189  *     debug.purple_debug_info("conversation", "%s", "destroy-conversation\n")             # <<<<<<<<<<<<<<
5190  *     if conversation_cbs.has_key("destroy-conversation"):
5191  *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")
5192  */
5193   purple_debug_info(__pyx_k_169, __pyx_k_170, __pyx_k_171);
5194
5195   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":53
5196  *     """
5197  *     debug.purple_debug_info("conversation", "%s", "destroy-conversation\n")
5198  *     if conversation_cbs.has_key("destroy-conversation"):             # <<<<<<<<<<<<<<
5199  *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")
5200  * 
5201  */
5202   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
5203   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
5204   Py_DECREF(__pyx_1); __pyx_1 = 0;
5205   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
5206   Py_INCREF(__pyx_kp_172);
5207   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_172);
5208   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
5209   Py_DECREF(__pyx_2); __pyx_2 = 0;
5210   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
5211   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
5212   Py_DECREF(__pyx_3); __pyx_3 = 0;
5213   if (__pyx_4) {
5214
5215     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":54
5216  *     debug.purple_debug_info("conversation", "%s", "destroy-conversation\n")
5217  *     if conversation_cbs.has_key("destroy-conversation"):
5218  *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")             # <<<<<<<<<<<<<<
5219  * 
5220  * cdef void write_chat(conversation.PurpleConversation *conv, const_char *who, \
5221  */
5222     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
5223     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_173); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
5224     Py_DECREF(__pyx_2); __pyx_2 = 0;
5225     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
5226     Py_INCREF(__pyx_kp_174);
5227     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_174);
5228     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
5229     Py_DECREF(__pyx_1); __pyx_1 = 0;
5230     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
5231     Py_DECREF(__pyx_2); __pyx_2 = 0;
5232     goto __pyx_L2;
5233   }
5234   __pyx_L2:;
5235
5236   goto __pyx_L0;
5237   __pyx_L1:;
5238   Py_XDECREF(__pyx_1);
5239   Py_XDECREF(__pyx_2);
5240   Py_XDECREF(__pyx_3);
5241   __Pyx_WriteUnraisable("purple.destroy_conversation");
5242   __pyx_L0:;
5243 }
5244
5245 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":56
5246  *         (<object> conversation_cbs["destroy-conversation"])("destroy-conversation: TODO")
5247  * 
5248  * cdef void write_chat(conversation.PurpleConversation *conv, const_char *who, \             # <<<<<<<<<<<<<<
5249  *         const_char *message, conversation.PurpleMessageFlags flags, \
5250  *         time_t mtime):
5251  */
5252
5253 static PyObject *__pyx_kp_178;
5254 static PyObject *__pyx_kp_179;
5255 static PyObject *__pyx_kp_180;
5256
5257 static char __pyx_k_175[] = "conversation";
5258 static char __pyx_k_176[] = "%s";
5259 static char __pyx_k_177[] = "write-chat\n";
5260 static char __pyx_k_178[] = "write-chat";
5261 static char __pyx_k_179[] = "write-chat";
5262 static char __pyx_k_180[] = "write-chat: TODO";
5263
5264 static  void __pyx_f_6purple_write_chat(PurpleConversation *__pyx_v_conv, const char *__pyx_v_who, const char *__pyx_v_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) {
5265   PyObject *__pyx_1 = 0;
5266   PyObject *__pyx_2 = 0;
5267   PyObject *__pyx_3 = 0;
5268   int __pyx_4;
5269
5270   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":64
5271  *     @see purple_conv_chat_write()
5272  *     """
5273  *     debug.purple_debug_info("conversation", "%s", "write-chat\n")             # <<<<<<<<<<<<<<
5274  *     if conversation_cbs.has_key("write-chat"):
5275  *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")
5276  */
5277   purple_debug_info(__pyx_k_175, __pyx_k_176, __pyx_k_177);
5278
5279   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":65
5280  *     """
5281  *     debug.purple_debug_info("conversation", "%s", "write-chat\n")
5282  *     if conversation_cbs.has_key("write-chat"):             # <<<<<<<<<<<<<<
5283  *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")
5284  * 
5285  */
5286   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
5287   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
5288   Py_DECREF(__pyx_1); __pyx_1 = 0;
5289   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
5290   Py_INCREF(__pyx_kp_178);
5291   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_178);
5292   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
5293   Py_DECREF(__pyx_2); __pyx_2 = 0;
5294   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
5295   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
5296   Py_DECREF(__pyx_3); __pyx_3 = 0;
5297   if (__pyx_4) {
5298
5299     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":66
5300  *     debug.purple_debug_info("conversation", "%s", "write-chat\n")
5301  *     if conversation_cbs.has_key("write-chat"):
5302  *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")             # <<<<<<<<<<<<<<
5303  * 
5304  * cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \
5305  */
5306     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
5307     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_179); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
5308     Py_DECREF(__pyx_2); __pyx_2 = 0;
5309     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
5310     Py_INCREF(__pyx_kp_180);
5311     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_180);
5312     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
5313     Py_DECREF(__pyx_1); __pyx_1 = 0;
5314     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
5315     Py_DECREF(__pyx_2); __pyx_2 = 0;
5316     goto __pyx_L2;
5317   }
5318   __pyx_L2:;
5319
5320   goto __pyx_L0;
5321   __pyx_L1:;
5322   Py_XDECREF(__pyx_1);
5323   Py_XDECREF(__pyx_2);
5324   Py_XDECREF(__pyx_3);
5325   __Pyx_WriteUnraisable("purple.write_chat");
5326   __pyx_L0:;
5327 }
5328
5329 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":68
5330  *         (<object> conversation_cbs["write-chat"])("write-chat: TODO")
5331  * 
5332  * cdef void write_im(conversation.PurpleConversation *conv, const_char *who, \             # <<<<<<<<<<<<<<
5333  *         const_char *c_message, conversation.PurpleMessageFlags flags, \
5334  *         time_t mtime):
5335  */
5336
5337 static char __pyx_k_185[] = "SEND";
5338 static char __pyx_k_186[] = "RECV";
5339
5340 static PyObject *__pyx_kp_185;
5341 static PyObject *__pyx_kp_186;
5342
5343 static PyObject *__pyx_kp_184;
5344 static PyObject *__pyx_kp_187;
5345 static PyObject *__pyx_kp_188;
5346
5347 static char __pyx_k_181[] = "conversation";
5348 static char __pyx_k_182[] = "%s";
5349 static char __pyx_k_183[] = "write-im\n";
5350 static char __pyx_k_184[] = "utf-8";
5351 static char __pyx_k_187[] = "write-im";
5352 static char __pyx_k_188[] = "write-im";
5353
5354 static  void __pyx_f_6purple_write_im(PurpleConversation *__pyx_v_conv, const char *__pyx_v_who, const char *__pyx_v_c_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) {
5355   PurpleAccount *__pyx_v_acc;
5356   PurpleBuddy *__pyx_v_buddy;
5357   char *__pyx_v_c_username;
5358   char *__pyx_v_c_sender_alias;
5359   PyObject *__pyx_v_username;
5360   PyObject *__pyx_v_sender;
5361   PyObject *__pyx_v_sender_alias;
5362   PyObject *__pyx_v_message;
5363   PyObject *__pyx_v_flag;
5364   int __pyx_1;
5365   PyObject *__pyx_2 = 0;
5366   PyObject *__pyx_3 = 0;
5367   int __pyx_4;
5368   PyObject *__pyx_5 = 0;
5369   __pyx_v_username = Py_None; Py_INCREF(Py_None);
5370   __pyx_v_sender = Py_None; Py_INCREF(Py_None);
5371   __pyx_v_sender_alias = Py_None; Py_INCREF(Py_None);
5372   __pyx_v_message = Py_None; Py_INCREF(Py_None);
5373   __pyx_v_flag = Py_None; Py_INCREF(Py_None);
5374
5375   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":76
5376  *     @see purple_conv_im_write()
5377  *     """
5378  *     debug.purple_debug_info("conversation", "%s", "write-im\n")             # <<<<<<<<<<<<<<
5379  *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
5380  *     cdef blist.PurpleBuddy *buddy = NULL
5381  */
5382   purple_debug_info(__pyx_k_181, __pyx_k_182, __pyx_k_183);
5383
5384   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":77
5385  *     """
5386  *     debug.purple_debug_info("conversation", "%s", "write-im\n")
5387  *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)             # <<<<<<<<<<<<<<
5388  *     cdef blist.PurpleBuddy *buddy = NULL
5389  *     cdef char *c_username = NULL
5390  */
5391   __pyx_v_acc = purple_conversation_get_account(__pyx_v_conv);
5392
5393
5394   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":78
5395  *     debug.purple_debug_info("conversation", "%s", "write-im\n")
5396  *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
5397  *     cdef blist.PurpleBuddy *buddy = NULL             # <<<<<<<<<<<<<<
5398  *     cdef char *c_username = NULL
5399  *     cdef char *c_sender_alias = NULL
5400  */
5401   __pyx_v_buddy = NULL;
5402
5403
5404   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":79
5405  *     cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
5406  *     cdef blist.PurpleBuddy *buddy = NULL
5407  *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
5408  *     cdef char *c_sender_alias = NULL
5409  * 
5410  */
5411   __pyx_v_c_username = NULL;
5412
5413
5414   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":80
5415  *     cdef blist.PurpleBuddy *buddy = NULL
5416  *     cdef char *c_username = NULL
5417  *     cdef char *c_sender_alias = NULL             # <<<<<<<<<<<<<<
5418  * 
5419  *     c_username = <char *> account.purple_account_get_username(acc)
5420  */
5421   __pyx_v_c_sender_alias = NULL;
5422
5423
5424   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":82
5425  *     cdef char *c_sender_alias = NULL
5426  * 
5427  *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
5428  *     if c_username:
5429  *         username = c_username
5430  */
5431   __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
5432
5433   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":83
5434  * 
5435  *     c_username = <char *> account.purple_account_get_username(acc)
5436  *     if c_username:             # <<<<<<<<<<<<<<
5437  *         username = c_username
5438  *     else:
5439  */
5440   __pyx_1 = (__pyx_v_c_username != 0);
5441   if (__pyx_1) {
5442
5443     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":84
5444  *     c_username = <char *> account.purple_account_get_username(acc)
5445  *     if c_username:
5446  *         username = c_username             # <<<<<<<<<<<<<<
5447  *     else:
5448  *         username = None
5449  */
5450     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
5451     Py_DECREF(__pyx_v_username);
5452     __pyx_v_username = __pyx_2;
5453     __pyx_2 = 0;
5454     goto __pyx_L2;
5455   }
5456   /*else*/ {
5457
5458     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":86
5459  *         username = c_username
5460  *     else:
5461  *         username = None             # <<<<<<<<<<<<<<
5462  * 
5463  *     if who == NULL:
5464  */
5465     Py_INCREF(Py_None);
5466     Py_DECREF(__pyx_v_username);
5467     __pyx_v_username = Py_None;
5468   }
5469   __pyx_L2:;
5470
5471   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":88
5472  *         username = None
5473  * 
5474  *     if who == NULL:             # <<<<<<<<<<<<<<
5475  *         who = conversation.purple_conversation_get_name(conv)
5476  * 
5477  */
5478   __pyx_1 = (__pyx_v_who == NULL);
5479   if (__pyx_1) {
5480
5481     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":89
5482  * 
5483  *     if who == NULL:
5484  *         who = conversation.purple_conversation_get_name(conv)             # <<<<<<<<<<<<<<
5485  * 
5486  *     sender = <char *> who
5487  */
5488     __pyx_v_who = purple_conversation_get_name(__pyx_v_conv);
5489     goto __pyx_L3;
5490   }
5491   __pyx_L3:;
5492
5493   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":91
5494  *         who = conversation.purple_conversation_get_name(conv)
5495  * 
5496  *     sender = <char *> who             # <<<<<<<<<<<<<<
5497  *     buddy = blist.purple_find_buddy(acc, <char *> who)
5498  *     if buddy:
5499  */
5500   __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_who)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
5501   Py_DECREF(__pyx_v_sender);
5502   __pyx_v_sender = __pyx_2;
5503   __pyx_2 = 0;
5504
5505   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":92
5506  * 
5507  *     sender = <char *> who
5508  *     buddy = blist.purple_find_buddy(acc, <char *> who)             # <<<<<<<<<<<<<<
5509  *     if buddy:
5510  *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
5511  */
5512   __pyx_v_buddy = purple_find_buddy(__pyx_v_acc, ((char *)__pyx_v_who));
5513
5514   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":93
5515  *     sender = <char *> who
5516  *     buddy = blist.purple_find_buddy(acc, <char *> who)
5517  *     if buddy:             # <<<<<<<<<<<<<<
5518  *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
5519  * 
5520  */
5521   __pyx_1 = (__pyx_v_buddy != 0);
5522   if (__pyx_1) {
5523
5524     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":94
5525  *     buddy = blist.purple_find_buddy(acc, <char *> who)
5526  *     if buddy:
5527  *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
5528  * 
5529  *     if c_sender_alias:
5530  */
5531     __pyx_v_c_sender_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
5532     goto __pyx_L4;
5533   }
5534   __pyx_L4:;
5535
5536   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":96
5537  *         c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
5538  * 
5539  *     if c_sender_alias:             # <<<<<<<<<<<<<<
5540  *         sender_alias = unicode(c_sender_alias, 'utf-8')
5541  *     else:
5542  */
5543   __pyx_1 = (__pyx_v_c_sender_alias != 0);
5544   if (__pyx_1) {
5545
5546     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":97
5547  * 
5548  *     if c_sender_alias:
5549  *         sender_alias = unicode(c_sender_alias, 'utf-8')             # <<<<<<<<<<<<<<
5550  *     else:
5551  *         sender_alias = None
5552  */
5553     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_sender_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
5554     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
5555     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
5556     Py_INCREF(__pyx_kp_184);
5557     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_kp_184);
5558     __pyx_2 = 0;
5559     __pyx_2 = PyObject_Call(((PyObject*)&PyUnicode_Type), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
5560     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
5561     Py_DECREF(__pyx_v_sender_alias);
5562     __pyx_v_sender_alias = __pyx_2;
5563     __pyx_2 = 0;
5564     goto __pyx_L5;
5565   }
5566   /*else*/ {
5567
5568     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":99
5569  *         sender_alias = unicode(c_sender_alias, 'utf-8')
5570  *     else:
5571  *         sender_alias = None             # <<<<<<<<<<<<<<
5572  * 
5573  *     if c_message:
5574  */
5575     Py_INCREF(Py_None);
5576     Py_DECREF(__pyx_v_sender_alias);
5577     __pyx_v_sender_alias = Py_None;
5578   }
5579   __pyx_L5:;
5580
5581   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":101
5582  *         sender_alias = None
5583  * 
5584  *     if c_message:             # <<<<<<<<<<<<<<
5585  *         message = <char *> c_message
5586  *     else:
5587  */
5588   __pyx_1 = (__pyx_v_c_message != 0);
5589   if (__pyx_1) {
5590
5591     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":102
5592  * 
5593  *     if c_message:
5594  *         message = <char *> c_message             # <<<<<<<<<<<<<<
5595  *     else:
5596  *         message = None
5597  */
5598     __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_message)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
5599     Py_DECREF(__pyx_v_message);
5600     __pyx_v_message = __pyx_3;
5601     __pyx_3 = 0;
5602     goto __pyx_L6;
5603   }
5604   /*else*/ {
5605
5606     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":104
5607  *         message = <char *> c_message
5608  *     else:
5609  *         message = None             # <<<<<<<<<<<<<<
5610  * 
5611  *     # FIXME: Maybe we need add more purple flags in the future
5612  */
5613     Py_INCREF(Py_None);
5614     Py_DECREF(__pyx_v_message);
5615     __pyx_v_message = Py_None;
5616   }
5617   __pyx_L6:;
5618
5619   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":107
5620  * 
5621  *     # FIXME: Maybe we need add more purple flags in the future
5622  *     if flags & conversation.PURPLE_MESSAGE_SEND:             # <<<<<<<<<<<<<<
5623  *         flag = "SEND"
5624  *     else:
5625  */
5626   __pyx_4 = (__pyx_v_flags & PURPLE_MESSAGE_SEND);
5627   if (__pyx_4) {
5628
5629     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":108
5630  *     # FIXME: Maybe we need add more purple flags in the future
5631  *     if flags & conversation.PURPLE_MESSAGE_SEND:
5632  *         flag = "SEND"             # <<<<<<<<<<<<<<
5633  *     else:
5634  *         flag = "RECV"
5635  */
5636     Py_INCREF(__pyx_kp_185);
5637     Py_DECREF(__pyx_v_flag);
5638     __pyx_v_flag = __pyx_kp_185;
5639     goto __pyx_L7;
5640   }
5641   /*else*/ {
5642
5643     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":110
5644  *         flag = "SEND"
5645  *     else:
5646  *         flag = "RECV"             # <<<<<<<<<<<<<<
5647  * 
5648  *     if conversation_cbs.has_key("write-im"):
5649  */
5650     Py_INCREF(__pyx_kp_186);
5651     Py_DECREF(__pyx_v_flag);
5652     __pyx_v_flag = __pyx_kp_186;
5653   }
5654   __pyx_L7:;
5655
5656   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":112
5657  *         flag = "RECV"
5658  * 
5659  *     if conversation_cbs.has_key("write-im"):             # <<<<<<<<<<<<<<
5660  *         (<object> conversation_cbs["write-im"])(username, sender, \
5661  *                              sender_alias, message, flag)
5662  */
5663   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
5664   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
5665   Py_DECREF(__pyx_2); __pyx_2 = 0;
5666   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
5667   Py_INCREF(__pyx_kp_187);
5668   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_187);
5669   __pyx_5 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
5670   Py_DECREF(__pyx_3); __pyx_3 = 0;
5671   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
5672   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
5673   Py_DECREF(__pyx_5); __pyx_5 = 0;
5674   if (__pyx_1) {
5675
5676     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":113
5677  * 
5678  *     if conversation_cbs.has_key("write-im"):
5679  *         (<object> conversation_cbs["write-im"])(username, sender, \             # <<<<<<<<<<<<<<
5680  *                              sender_alias, message, flag)
5681  * 
5682  */
5683     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
5684     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_188); if (!__pyx_2) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
5685     Py_DECREF(__pyx_3); __pyx_3 = 0;
5686
5687     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":114
5688  *     if conversation_cbs.has_key("write-im"):
5689  *         (<object> conversation_cbs["write-im"])(username, sender, \
5690  *                              sender_alias, message, flag)             # <<<<<<<<<<<<<<
5691  * 
5692  * cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \
5693  */
5694     __pyx_5 = PyTuple_New(5); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
5695     Py_INCREF(__pyx_v_username);
5696     PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_username);
5697     Py_INCREF(__pyx_v_sender);
5698     PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_sender);
5699     Py_INCREF(__pyx_v_sender_alias);
5700     PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_sender_alias);
5701     Py_INCREF(__pyx_v_message);
5702     PyTuple_SET_ITEM(__pyx_5, 3, __pyx_v_message);
5703     Py_INCREF(__pyx_v_flag);
5704     PyTuple_SET_ITEM(__pyx_5, 4, __pyx_v_flag);
5705     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
5706     Py_DECREF(__pyx_2); __pyx_2 = 0;
5707     Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
5708     Py_DECREF(__pyx_3); __pyx_3 = 0;
5709     goto __pyx_L8;
5710   }
5711   __pyx_L8:;
5712
5713   goto __pyx_L0;
5714   __pyx_L1:;
5715   Py_XDECREF(__pyx_2);
5716   Py_XDECREF(__pyx_3);
5717   Py_XDECREF(__pyx_5);
5718   __Pyx_WriteUnraisable("purple.write_im");
5719   __pyx_L0:;
5720   Py_DECREF(__pyx_v_username);
5721   Py_DECREF(__pyx_v_sender);
5722   Py_DECREF(__pyx_v_sender_alias);
5723   Py_DECREF(__pyx_v_message);
5724   Py_DECREF(__pyx_v_flag);
5725 }
5726
5727 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":116
5728  *                              sender_alias, message, flag)
5729  * 
5730  * cdef void write_conv(conversation.PurpleConversation *conv, const_char *name, \             # <<<<<<<<<<<<<<
5731  *         const_char *alias, const_char *message, \
5732  *         conversation.PurpleMessageFlags flags, time_t mtime):
5733  */
5734
5735 static PyObject *__pyx_kp_192;
5736 static PyObject *__pyx_kp_193;
5737 static PyObject *__pyx_kp_194;
5738
5739 static char __pyx_k_189[] = "conversation";
5740 static char __pyx_k_190[] = "%s";
5741 static char __pyx_k_191[] = "write-conv\n";
5742 static char __pyx_k_192[] = "write-conv";
5743 static char __pyx_k_193[] = "write-conv";
5744 static char __pyx_k_194[] = "write-conv: TODO";
5745
5746 static  void __pyx_f_6purple_write_conv(PurpleConversation *__pyx_v_conv, const char *__pyx_v_name, const char *__pyx_v_alias, const char *__pyx_v_message, PurpleMessageFlags __pyx_v_flags, time_t __pyx_v_mtime) {
5747   PyObject *__pyx_1 = 0;
5748   PyObject *__pyx_2 = 0;
5749   PyObject *__pyx_3 = 0;
5750   int __pyx_4;
5751
5752   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":127
5753  *     @see purple_conversation_write()
5754  *     """
5755  *     debug.purple_debug_info("conversation", "%s", "write-conv\n")             # <<<<<<<<<<<<<<
5756  *     if conversation_cbs.has_key("write-conv"):
5757  *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")
5758  */
5759   purple_debug_info(__pyx_k_189, __pyx_k_190, __pyx_k_191);
5760
5761   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":128
5762  *     """
5763  *     debug.purple_debug_info("conversation", "%s", "write-conv\n")
5764  *     if conversation_cbs.has_key("write-conv"):             # <<<<<<<<<<<<<<
5765  *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")
5766  * 
5767  */
5768   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
5769   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
5770   Py_DECREF(__pyx_1); __pyx_1 = 0;
5771   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
5772   Py_INCREF(__pyx_kp_192);
5773   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_192);
5774   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
5775   Py_DECREF(__pyx_2); __pyx_2 = 0;
5776   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
5777   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
5778   Py_DECREF(__pyx_3); __pyx_3 = 0;
5779   if (__pyx_4) {
5780
5781     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":129
5782  *     debug.purple_debug_info("conversation", "%s", "write-conv\n")
5783  *     if conversation_cbs.has_key("write-conv"):
5784  *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")             # <<<<<<<<<<<<<<
5785  * 
5786  * cdef void chat_add_users(conversation.PurpleConversation *conv, \
5787  */
5788     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
5789     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_193); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
5790     Py_DECREF(__pyx_2); __pyx_2 = 0;
5791     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
5792     Py_INCREF(__pyx_kp_194);
5793     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_194);
5794     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
5795     Py_DECREF(__pyx_1); __pyx_1 = 0;
5796     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
5797     Py_DECREF(__pyx_2); __pyx_2 = 0;
5798     goto __pyx_L2;
5799   }
5800   __pyx_L2:;
5801
5802   goto __pyx_L0;
5803   __pyx_L1:;
5804   Py_XDECREF(__pyx_1);
5805   Py_XDECREF(__pyx_2);
5806   Py_XDECREF(__pyx_3);
5807   __Pyx_WriteUnraisable("purple.write_conv");
5808   __pyx_L0:;
5809 }
5810
5811 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":131
5812  *         (<object> conversation_cbs["write-conv"])("write-conv: TODO")
5813  * 
5814  * cdef void chat_add_users(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
5815  *         glib.GList *cbuddies, glib.gboolean new_arrivals):
5816  *     """
5817  */
5818
5819 static PyObject *__pyx_kp_198;
5820 static PyObject *__pyx_kp_199;
5821 static PyObject *__pyx_kp_200;
5822
5823 static char __pyx_k_195[] = "conversation";
5824 static char __pyx_k_196[] = "%s";
5825 static char __pyx_k_197[] = "chat-add-users\n";
5826 static char __pyx_k_198[] = "chat-add-users";
5827 static char __pyx_k_199[] = "chat-add-users";
5828 static char __pyx_k_200[] = "chat-add-users: TODO";
5829
5830 static  void __pyx_f_6purple_chat_add_users(PurpleConversation *__pyx_v_conv, GList *__pyx_v_cbuddies, gboolean __pyx_v_new_arrivals) {
5831   PyObject *__pyx_1 = 0;
5832   PyObject *__pyx_2 = 0;
5833   PyObject *__pyx_3 = 0;
5834   int __pyx_4;
5835
5836   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":141
5837  *     @see purple_conv_chat_add_users()
5838  *     """
5839  *     debug.purple_debug_info("conversation", "%s", "chat-add-users\n")             # <<<<<<<<<<<<<<
5840  *     if conversation_cbs.has_key("chat-add-users"):
5841  *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")
5842  */
5843   purple_debug_info(__pyx_k_195, __pyx_k_196, __pyx_k_197);
5844
5845   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":142
5846  *     """
5847  *     debug.purple_debug_info("conversation", "%s", "chat-add-users\n")
5848  *     if conversation_cbs.has_key("chat-add-users"):             # <<<<<<<<<<<<<<
5849  *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")
5850  * 
5851  */
5852   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
5853   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
5854   Py_DECREF(__pyx_1); __pyx_1 = 0;
5855   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
5856   Py_INCREF(__pyx_kp_198);
5857   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_198);
5858   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
5859   Py_DECREF(__pyx_2); __pyx_2 = 0;
5860   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
5861   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
5862   Py_DECREF(__pyx_3); __pyx_3 = 0;
5863   if (__pyx_4) {
5864
5865     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":143
5866  *     debug.purple_debug_info("conversation", "%s", "chat-add-users\n")
5867  *     if conversation_cbs.has_key("chat-add-users"):
5868  *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")             # <<<<<<<<<<<<<<
5869  * 
5870  * cdef void chat_rename_user(conversation.PurpleConversation *conv, \
5871  */
5872     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
5873     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_199); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
5874     Py_DECREF(__pyx_2); __pyx_2 = 0;
5875     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
5876     Py_INCREF(__pyx_kp_200);
5877     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_200);
5878     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
5879     Py_DECREF(__pyx_1); __pyx_1 = 0;
5880     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
5881     Py_DECREF(__pyx_2); __pyx_2 = 0;
5882     goto __pyx_L2;
5883   }
5884   __pyx_L2:;
5885
5886   goto __pyx_L0;
5887   __pyx_L1:;
5888   Py_XDECREF(__pyx_1);
5889   Py_XDECREF(__pyx_2);
5890   Py_XDECREF(__pyx_3);
5891   __Pyx_WriteUnraisable("purple.chat_add_users");
5892   __pyx_L0:;
5893 }
5894
5895 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":145
5896  *         (<object> conversation_cbs["chat-add-users"])("chat-add-users: TODO")
5897  * 
5898  * cdef void chat_rename_user(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
5899  *         const_char *old_name, const_char *new_name,
5900  *         const_char *new_alias):
5901  */
5902
5903 static PyObject *__pyx_kp_204;
5904 static PyObject *__pyx_kp_205;
5905 static PyObject *__pyx_kp_206;
5906
5907 static char __pyx_k_201[] = "conversation";
5908 static char __pyx_k_202[] = "%s";
5909 static char __pyx_k_203[] = "chat-rename-user\n";
5910 static char __pyx_k_204[] = "chat-rename-user";
5911 static char __pyx_k_205[] = "chat-rename-user";
5912 static char __pyx_k_206[] = "chat-rename-user: TODO";
5913
5914 static  void __pyx_f_6purple_chat_rename_user(PurpleConversation *__pyx_v_conv, const char *__pyx_v_old_name, const char *__pyx_v_new_name, const char *__pyx_v_new_alias) {
5915   PyObject *__pyx_1 = 0;
5916   PyObject *__pyx_2 = 0;
5917   PyObject *__pyx_3 = 0;
5918   int __pyx_4;
5919
5920   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":154
5921  *     @see purple_conv_chat_rename_user()
5922  *     """
5923  *     debug.purple_debug_info("conversation", "%s", "chat-rename-user\n")             # <<<<<<<<<<<<<<
5924  *     if conversation_cbs.has_key("chat-rename-user"):
5925  *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")
5926  */
5927   purple_debug_info(__pyx_k_201, __pyx_k_202, __pyx_k_203);
5928
5929   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":155
5930  *     """
5931  *     debug.purple_debug_info("conversation", "%s", "chat-rename-user\n")
5932  *     if conversation_cbs.has_key("chat-rename-user"):             # <<<<<<<<<<<<<<
5933  *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")
5934  * 
5935  */
5936   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
5937   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
5938   Py_DECREF(__pyx_1); __pyx_1 = 0;
5939   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
5940   Py_INCREF(__pyx_kp_204);
5941   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_204);
5942   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
5943   Py_DECREF(__pyx_2); __pyx_2 = 0;
5944   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
5945   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
5946   Py_DECREF(__pyx_3); __pyx_3 = 0;
5947   if (__pyx_4) {
5948
5949     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":156
5950  *     debug.purple_debug_info("conversation", "%s", "chat-rename-user\n")
5951  *     if conversation_cbs.has_key("chat-rename-user"):
5952  *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")             # <<<<<<<<<<<<<<
5953  * 
5954  * cdef void chat_remove_users(conversation.PurpleConversation *conv, \
5955  */
5956     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
5957     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_205); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
5958     Py_DECREF(__pyx_2); __pyx_2 = 0;
5959     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
5960     Py_INCREF(__pyx_kp_206);
5961     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_206);
5962     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
5963     Py_DECREF(__pyx_1); __pyx_1 = 0;
5964     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
5965     Py_DECREF(__pyx_2); __pyx_2 = 0;
5966     goto __pyx_L2;
5967   }
5968   __pyx_L2:;
5969
5970   goto __pyx_L0;
5971   __pyx_L1:;
5972   Py_XDECREF(__pyx_1);
5973   Py_XDECREF(__pyx_2);
5974   Py_XDECREF(__pyx_3);
5975   __Pyx_WriteUnraisable("purple.chat_rename_user");
5976   __pyx_L0:;
5977 }
5978
5979 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":158
5980  *         (<object> conversation_cbs["chat-rename-user"])("chat-rename-user: TODO")
5981  * 
5982  * cdef void chat_remove_users(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
5983  *         glib.GList *users):
5984  *     """
5985  */
5986
5987 static PyObject *__pyx_kp_210;
5988 static PyObject *__pyx_kp_211;
5989 static PyObject *__pyx_kp_212;
5990
5991 static char __pyx_k_207[] = "conversation";
5992 static char __pyx_k_208[] = "%s";
5993 static char __pyx_k_209[] = "chat-remove-users\n";
5994 static char __pyx_k_210[] = "chat-remove-users";
5995 static char __pyx_k_211[] = "chat-remove-users";
5996 static char __pyx_k_212[] = "chat-remove-users: TODO";
5997
5998 static  void __pyx_f_6purple_chat_remove_users(PurpleConversation *__pyx_v_conv, GList *__pyx_v_users) {
5999   PyObject *__pyx_1 = 0;
6000   PyObject *__pyx_2 = 0;
6001   PyObject *__pyx_3 = 0;
6002   int __pyx_4;
6003
6004   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":164
6005  *     @param  users  A GList of const char *s.
6006  *     """
6007  *     debug.purple_debug_info("conversation", "%s", "chat-remove-users\n")             # <<<<<<<<<<<<<<
6008  *     if conversation_cbs.has_key("chat-remove-users"):
6009  *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")
6010  */
6011   purple_debug_info(__pyx_k_207, __pyx_k_208, __pyx_k_209);
6012
6013   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":165
6014  *     """
6015  *     debug.purple_debug_info("conversation", "%s", "chat-remove-users\n")
6016  *     if conversation_cbs.has_key("chat-remove-users"):             # <<<<<<<<<<<<<<
6017  *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")
6018  * 
6019  */
6020   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
6021   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
6022   Py_DECREF(__pyx_1); __pyx_1 = 0;
6023   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
6024   Py_INCREF(__pyx_kp_210);
6025   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_210);
6026   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
6027   Py_DECREF(__pyx_2); __pyx_2 = 0;
6028   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6029   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1;}
6030   Py_DECREF(__pyx_3); __pyx_3 = 0;
6031   if (__pyx_4) {
6032
6033     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":166
6034  *     debug.purple_debug_info("conversation", "%s", "chat-remove-users\n")
6035  *     if conversation_cbs.has_key("chat-remove-users"):
6036  *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")             # <<<<<<<<<<<<<<
6037  * 
6038  * cdef void chat_update_user(conversation.PurpleConversation *conv, \
6039  */
6040     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
6041     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_211); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
6042     Py_DECREF(__pyx_2); __pyx_2 = 0;
6043     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
6044     Py_INCREF(__pyx_kp_212);
6045     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_212);
6046     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1;}
6047     Py_DECREF(__pyx_1); __pyx_1 = 0;
6048     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6049     Py_DECREF(__pyx_2); __pyx_2 = 0;
6050     goto __pyx_L2;
6051   }
6052   __pyx_L2:;
6053
6054   goto __pyx_L0;
6055   __pyx_L1:;
6056   Py_XDECREF(__pyx_1);
6057   Py_XDECREF(__pyx_2);
6058   Py_XDECREF(__pyx_3);
6059   __Pyx_WriteUnraisable("purple.chat_remove_users");
6060   __pyx_L0:;
6061 }
6062
6063 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":168
6064  *         (<object> conversation_cbs["chat-remove-users"])("chat-remove-users: TODO")
6065  * 
6066  * cdef void chat_update_user(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
6067  *         const_char *user):
6068  *     """
6069  */
6070
6071 static PyObject *__pyx_kp_216;
6072 static PyObject *__pyx_kp_217;
6073 static PyObject *__pyx_kp_218;
6074
6075 static char __pyx_k_213[] = "conversation";
6076 static char __pyx_k_214[] = "%s";
6077 static char __pyx_k_215[] = "chat-update-user\n";
6078 static char __pyx_k_216[] = "chat-update-user";
6079 static char __pyx_k_217[] = "chat-update-user";
6080 static char __pyx_k_218[] = "chat-update-user: TODO";
6081
6082 static  void __pyx_f_6purple_chat_update_user(PurpleConversation *__pyx_v_conv, const char *__pyx_v_user) {
6083   PyObject *__pyx_1 = 0;
6084   PyObject *__pyx_2 = 0;
6085   PyObject *__pyx_3 = 0;
6086   int __pyx_4;
6087
6088   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":174
6089  *     @see purple_conv_chat_user_set_flags()
6090  *     """
6091  *     debug.purple_debug_info("conversation", "%s", "chat-update-user\n")             # <<<<<<<<<<<<<<
6092  *     if conversation_cbs.has_key("chat-update-user"):
6093  *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")
6094  */
6095   purple_debug_info(__pyx_k_213, __pyx_k_214, __pyx_k_215);
6096
6097   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":175
6098  *     """
6099  *     debug.purple_debug_info("conversation", "%s", "chat-update-user\n")
6100  *     if conversation_cbs.has_key("chat-update-user"):             # <<<<<<<<<<<<<<
6101  *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")
6102  * 
6103  */
6104   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
6105   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
6106   Py_DECREF(__pyx_1); __pyx_1 = 0;
6107   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
6108   Py_INCREF(__pyx_kp_216);
6109   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_216);
6110   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
6111   Py_DECREF(__pyx_2); __pyx_2 = 0;
6112   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6113   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
6114   Py_DECREF(__pyx_3); __pyx_3 = 0;
6115   if (__pyx_4) {
6116
6117     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":176
6118  *     debug.purple_debug_info("conversation", "%s", "chat-update-user\n")
6119  *     if conversation_cbs.has_key("chat-update-user"):
6120  *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")             # <<<<<<<<<<<<<<
6121  * 
6122  * cdef void present(conversation.PurpleConversation *conv):
6123  */
6124     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
6125     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_217); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
6126     Py_DECREF(__pyx_2); __pyx_2 = 0;
6127     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
6128     Py_INCREF(__pyx_kp_218);
6129     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_218);
6130     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1;}
6131     Py_DECREF(__pyx_1); __pyx_1 = 0;
6132     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6133     Py_DECREF(__pyx_2); __pyx_2 = 0;
6134     goto __pyx_L2;
6135   }
6136   __pyx_L2:;
6137
6138   goto __pyx_L0;
6139   __pyx_L1:;
6140   Py_XDECREF(__pyx_1);
6141   Py_XDECREF(__pyx_2);
6142   Py_XDECREF(__pyx_3);
6143   __Pyx_WriteUnraisable("purple.chat_update_user");
6144   __pyx_L0:;
6145 }
6146
6147 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":178
6148  *         (<object> conversation_cbs["chat-update-user"])("chat-update-user: TODO")
6149  * 
6150  * cdef void present(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
6151  *     """
6152  *     Present this conversation to the user; for example, by displaying the IM
6153  */
6154
6155 static char __pyx_k_222[] = "present";
6156 static char __pyx_k_223[] = "present";
6157
6158 static PyObject *__pyx_kp_222;
6159 static PyObject *__pyx_kp_223;
6160
6161 static PyObject *__pyx_kp_224;
6162
6163 static char __pyx_k_219[] = "conversation";
6164 static char __pyx_k_220[] = "%s";
6165 static char __pyx_k_221[] = "present\n";
6166 static char __pyx_k_224[] = "present: TODO";
6167
6168 static  void __pyx_f_6purple_present(PurpleConversation *__pyx_v_conv) {
6169   PyObject *__pyx_1 = 0;
6170   PyObject *__pyx_2 = 0;
6171   PyObject *__pyx_3 = 0;
6172   int __pyx_4;
6173
6174   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":183
6175  *     dialog.
6176  *     """
6177  *     debug.purple_debug_info("conversation", "%s", "present\n")             # <<<<<<<<<<<<<<
6178  *     if conversation_cbs.has_key("present"):
6179  *         (<object> conversation_cbs["present"])("present: TODO")
6180  */
6181   purple_debug_info(__pyx_k_219, __pyx_k_220, __pyx_k_221);
6182
6183   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":184
6184  *     """
6185  *     debug.purple_debug_info("conversation", "%s", "present\n")
6186  *     if conversation_cbs.has_key("present"):             # <<<<<<<<<<<<<<
6187  *         (<object> conversation_cbs["present"])("present: TODO")
6188  * 
6189  */
6190   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
6191   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
6192   Py_DECREF(__pyx_1); __pyx_1 = 0;
6193   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
6194   Py_INCREF(__pyx_kp_222);
6195   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_222);
6196   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
6197   Py_DECREF(__pyx_2); __pyx_2 = 0;
6198   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6199   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1;}
6200   Py_DECREF(__pyx_3); __pyx_3 = 0;
6201   if (__pyx_4) {
6202
6203     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":185
6204  *     debug.purple_debug_info("conversation", "%s", "present\n")
6205  *     if conversation_cbs.has_key("present"):
6206  *         (<object> conversation_cbs["present"])("present: TODO")             # <<<<<<<<<<<<<<
6207  * 
6208  * cdef glib.gboolean has_focus(conversation.PurpleConversation *conv):
6209  */
6210     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
6211     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_223); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
6212     Py_DECREF(__pyx_2); __pyx_2 = 0;
6213     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
6214     Py_INCREF(__pyx_kp_224);
6215     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_224);
6216     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1;}
6217     Py_DECREF(__pyx_1); __pyx_1 = 0;
6218     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6219     Py_DECREF(__pyx_2); __pyx_2 = 0;
6220     goto __pyx_L2;
6221   }
6222   __pyx_L2:;
6223
6224   goto __pyx_L0;
6225   __pyx_L1:;
6226   Py_XDECREF(__pyx_1);
6227   Py_XDECREF(__pyx_2);
6228   Py_XDECREF(__pyx_3);
6229   __Pyx_WriteUnraisable("purple.present");
6230   __pyx_L0:;
6231 }
6232
6233 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":187
6234  *         (<object> conversation_cbs["present"])("present: TODO")
6235  * 
6236  * cdef glib.gboolean has_focus(conversation.PurpleConversation *conv):             # <<<<<<<<<<<<<<
6237  *     """
6238  *     If this UI has a concept of focus (as in a windowing system) and this
6239  */
6240
6241 static PyObject *__pyx_kp_228;
6242 static PyObject *__pyx_kp_229;
6243 static PyObject *__pyx_kp_230;
6244
6245 static char __pyx_k_225[] = "conversation";
6246 static char __pyx_k_226[] = "%s";
6247 static char __pyx_k_227[] = "has-focus\n";
6248 static char __pyx_k_228[] = "has-focus";
6249 static char __pyx_k_229[] = "has-focus";
6250 static char __pyx_k_230[] = "has-focus: TODO";
6251
6252 static  gboolean __pyx_f_6purple_has_focus(PurpleConversation *__pyx_v_conv) {
6253   gboolean __pyx_r;
6254   PyObject *__pyx_1 = 0;
6255   PyObject *__pyx_2 = 0;
6256   PyObject *__pyx_3 = 0;
6257   int __pyx_4;
6258
6259   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":192
6260  *     conversation has the focus, return TRUE; otherwise, return FALSE.
6261  *     """
6262  *     debug.purple_debug_info("conversation", "%s", "has-focus\n")             # <<<<<<<<<<<<<<
6263  *     if conversation_cbs.has_key("has-focus"):
6264  *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")
6265  */
6266   purple_debug_info(__pyx_k_225, __pyx_k_226, __pyx_k_227);
6267
6268   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":193
6269  *     """
6270  *     debug.purple_debug_info("conversation", "%s", "has-focus\n")
6271  *     if conversation_cbs.has_key("has-focus"):             # <<<<<<<<<<<<<<
6272  *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")
6273  *     return False
6274  */
6275   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
6276   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
6277   Py_DECREF(__pyx_1); __pyx_1 = 0;
6278   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
6279   Py_INCREF(__pyx_kp_228);
6280   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_228);
6281   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
6282   Py_DECREF(__pyx_2); __pyx_2 = 0;
6283   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6284   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1;}
6285   Py_DECREF(__pyx_3); __pyx_3 = 0;
6286   if (__pyx_4) {
6287
6288     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":194
6289  *     debug.purple_debug_info("conversation", "%s", "has-focus\n")
6290  *     if conversation_cbs.has_key("has-focus"):
6291  *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")             # <<<<<<<<<<<<<<
6292  *     return False
6293  * 
6294  */
6295     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
6296     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_229); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
6297     Py_DECREF(__pyx_2); __pyx_2 = 0;
6298     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
6299     Py_INCREF(__pyx_kp_230);
6300     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_230);
6301     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1;}
6302     Py_DECREF(__pyx_1); __pyx_1 = 0;
6303     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6304     Py_DECREF(__pyx_2); __pyx_2 = 0;
6305     goto __pyx_L2;
6306   }
6307   __pyx_L2:;
6308
6309   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":195
6310  *     if conversation_cbs.has_key("has-focus"):
6311  *         (<object> conversation_cbs["has-focus"])("has-focus: TODO")
6312  *     return False             # <<<<<<<<<<<<<<
6313  * 
6314  * cdef glib.gboolean custom_smiley_add(conversation.PurpleConversation *conv, \
6315  */
6316   __pyx_r = 0;
6317   goto __pyx_L0;
6318
6319   __pyx_r = 0;
6320   goto __pyx_L0;
6321   __pyx_L1:;
6322   Py_XDECREF(__pyx_1);
6323   Py_XDECREF(__pyx_2);
6324   Py_XDECREF(__pyx_3);
6325   __Pyx_WriteUnraisable("purple.has_focus");
6326   __pyx_r = 0;
6327   __pyx_L0:;
6328   return __pyx_r;
6329 }
6330
6331 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":197
6332  *     return False
6333  * 
6334  * cdef glib.gboolean custom_smiley_add(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
6335  *         const_char *smile, glib.gboolean remote):
6336  *     """
6337  */
6338
6339 static PyObject *__pyx_kp_234;
6340 static PyObject *__pyx_kp_235;
6341 static PyObject *__pyx_kp_236;
6342
6343 static char __pyx_k_231[] = "conversation";
6344 static char __pyx_k_232[] = "%s";
6345 static char __pyx_k_233[] = "custom-smiley-add\n";
6346 static char __pyx_k_234[] = "custom-smiley-add";
6347 static char __pyx_k_235[] = "custom-smiley-add";
6348 static char __pyx_k_236[] = "custom-smiley-add: TODO";
6349
6350 static  gboolean __pyx_f_6purple_custom_smiley_add(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile, gboolean __pyx_v_remote) {
6351   gboolean __pyx_r;
6352   PyObject *__pyx_1 = 0;
6353   PyObject *__pyx_2 = 0;
6354   PyObject *__pyx_3 = 0;
6355   int __pyx_4;
6356
6357   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":202
6358  *     Custom smileys (add).
6359  *     """
6360  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n")             # <<<<<<<<<<<<<<
6361  *     if conversation_cbs.has_key("custom-smiley-add"):
6362  *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")
6363  */
6364   purple_debug_info(__pyx_k_231, __pyx_k_232, __pyx_k_233);
6365
6366   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":203
6367  *     """
6368  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n")
6369  *     if conversation_cbs.has_key("custom-smiley-add"):             # <<<<<<<<<<<<<<
6370  *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")
6371  *     return False
6372  */
6373   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
6374   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
6375   Py_DECREF(__pyx_1); __pyx_1 = 0;
6376   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
6377   Py_INCREF(__pyx_kp_234);
6378   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_234);
6379   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
6380   Py_DECREF(__pyx_2); __pyx_2 = 0;
6381   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6382   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1;}
6383   Py_DECREF(__pyx_3); __pyx_3 = 0;
6384   if (__pyx_4) {
6385
6386     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":204
6387  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-add\n")
6388  *     if conversation_cbs.has_key("custom-smiley-add"):
6389  *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")             # <<<<<<<<<<<<<<
6390  *     return False
6391  * 
6392  */
6393     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
6394     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_235); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
6395     Py_DECREF(__pyx_2); __pyx_2 = 0;
6396     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
6397     Py_INCREF(__pyx_kp_236);
6398     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_236);
6399     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1;}
6400     Py_DECREF(__pyx_1); __pyx_1 = 0;
6401     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6402     Py_DECREF(__pyx_2); __pyx_2 = 0;
6403     goto __pyx_L2;
6404   }
6405   __pyx_L2:;
6406
6407   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":205
6408  *     if conversation_cbs.has_key("custom-smiley-add"):
6409  *         (<object> conversation_cbs["custom-smiley-add"])("custom-smiley-add: TODO")
6410  *     return False             # <<<<<<<<<<<<<<
6411  * 
6412  * cdef void custom_smiley_write(conversation.PurpleConversation *conv, \
6413  */
6414   __pyx_r = 0;
6415   goto __pyx_L0;
6416
6417   __pyx_r = 0;
6418   goto __pyx_L0;
6419   __pyx_L1:;
6420   Py_XDECREF(__pyx_1);
6421   Py_XDECREF(__pyx_2);
6422   Py_XDECREF(__pyx_3);
6423   __Pyx_WriteUnraisable("purple.custom_smiley_add");
6424   __pyx_r = 0;
6425   __pyx_L0:;
6426   return __pyx_r;
6427 }
6428
6429 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":207
6430  *     return False
6431  * 
6432  * cdef void custom_smiley_write(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
6433  *         const_char *smile, const_guchar *data, glib.gsize size):
6434  *     """
6435  */
6436
6437 static PyObject *__pyx_kp_240;
6438 static PyObject *__pyx_kp_241;
6439 static PyObject *__pyx_kp_242;
6440
6441 static char __pyx_k_237[] = "conversation";
6442 static char __pyx_k_238[] = "%s";
6443 static char __pyx_k_239[] = "custom-smiley-write\n";
6444 static char __pyx_k_240[] = "custom-smiley-write";
6445 static char __pyx_k_241[] = "custom-smiley-write";
6446 static char __pyx_k_242[] = "custom-smiley-write: TODO";
6447
6448 static  void __pyx_f_6purple_custom_smiley_write(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile, const guchar *__pyx_v_data, gsize __pyx_v_size) {
6449   PyObject *__pyx_1 = 0;
6450   PyObject *__pyx_2 = 0;
6451   PyObject *__pyx_3 = 0;
6452   int __pyx_4;
6453
6454   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":212
6455  *     Custom smileys (write).
6456  *     """
6457  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n")             # <<<<<<<<<<<<<<
6458  *     if conversation_cbs.has_key("custom-smiley-write"):
6459  *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")
6460  */
6461   purple_debug_info(__pyx_k_237, __pyx_k_238, __pyx_k_239);
6462
6463   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":213
6464  *     """
6465  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n")
6466  *     if conversation_cbs.has_key("custom-smiley-write"):             # <<<<<<<<<<<<<<
6467  *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")
6468  * 
6469  */
6470   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
6471   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
6472   Py_DECREF(__pyx_1); __pyx_1 = 0;
6473   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
6474   Py_INCREF(__pyx_kp_240);
6475   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_240);
6476   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
6477   Py_DECREF(__pyx_2); __pyx_2 = 0;
6478   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6479   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1;}
6480   Py_DECREF(__pyx_3); __pyx_3 = 0;
6481   if (__pyx_4) {
6482
6483     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":214
6484  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-write\n")
6485  *     if conversation_cbs.has_key("custom-smiley-write"):
6486  *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")             # <<<<<<<<<<<<<<
6487  * 
6488  * cdef void custom_smiley_close(conversation.PurpleConversation *conv, \
6489  */
6490     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
6491     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_241); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
6492     Py_DECREF(__pyx_2); __pyx_2 = 0;
6493     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
6494     Py_INCREF(__pyx_kp_242);
6495     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_242);
6496     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1;}
6497     Py_DECREF(__pyx_1); __pyx_1 = 0;
6498     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6499     Py_DECREF(__pyx_2); __pyx_2 = 0;
6500     goto __pyx_L2;
6501   }
6502   __pyx_L2:;
6503
6504   goto __pyx_L0;
6505   __pyx_L1:;
6506   Py_XDECREF(__pyx_1);
6507   Py_XDECREF(__pyx_2);
6508   Py_XDECREF(__pyx_3);
6509   __Pyx_WriteUnraisable("purple.custom_smiley_write");
6510   __pyx_L0:;
6511 }
6512
6513 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":216
6514  *         (<object> conversation_cbs["custom-smiley-write"])("custom-smiley-write: TODO")
6515  * 
6516  * cdef void custom_smiley_close(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
6517  *         const_char *smile):
6518  *     """
6519  */
6520
6521 static PyObject *__pyx_kp_246;
6522 static PyObject *__pyx_kp_247;
6523 static PyObject *__pyx_kp_248;
6524
6525 static char __pyx_k_243[] = "conversation";
6526 static char __pyx_k_244[] = "%s";
6527 static char __pyx_k_245[] = "custom-smiley-close\n";
6528 static char __pyx_k_246[] = "custom-smiley-close";
6529 static char __pyx_k_247[] = "custom-smiley-close";
6530 static char __pyx_k_248[] = "custom-smiley-close: TODO";
6531
6532 static  void __pyx_f_6purple_custom_smiley_close(PurpleConversation *__pyx_v_conv, const char *__pyx_v_smile) {
6533   PyObject *__pyx_1 = 0;
6534   PyObject *__pyx_2 = 0;
6535   PyObject *__pyx_3 = 0;
6536   int __pyx_4;
6537
6538   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":221
6539  *     Custom smileys (close).
6540  *     """
6541  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n")             # <<<<<<<<<<<<<<
6542  *     if conversation_cbs.has_key("custom-smiley-close"):
6543  *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")
6544  */
6545   purple_debug_info(__pyx_k_243, __pyx_k_244, __pyx_k_245);
6546
6547   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":222
6548  *     """
6549  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n")
6550  *     if conversation_cbs.has_key("custom-smiley-close"):             # <<<<<<<<<<<<<<
6551  *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")
6552  * 
6553  */
6554   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
6555   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
6556   Py_DECREF(__pyx_1); __pyx_1 = 0;
6557   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
6558   Py_INCREF(__pyx_kp_246);
6559   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_246);
6560   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
6561   Py_DECREF(__pyx_2); __pyx_2 = 0;
6562   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6563   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1;}
6564   Py_DECREF(__pyx_3); __pyx_3 = 0;
6565   if (__pyx_4) {
6566
6567     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":223
6568  *     debug.purple_debug_info("conversation", "%s", "custom-smiley-close\n")
6569  *     if conversation_cbs.has_key("custom-smiley-close"):
6570  *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")             # <<<<<<<<<<<<<<
6571  * 
6572  * cdef void send_confirm(conversation.PurpleConversation *conv, \
6573  */
6574     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
6575     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_247); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
6576     Py_DECREF(__pyx_2); __pyx_2 = 0;
6577     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
6578     Py_INCREF(__pyx_kp_248);
6579     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_248);
6580     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
6581     Py_DECREF(__pyx_1); __pyx_1 = 0;
6582     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6583     Py_DECREF(__pyx_2); __pyx_2 = 0;
6584     goto __pyx_L2;
6585   }
6586   __pyx_L2:;
6587
6588   goto __pyx_L0;
6589   __pyx_L1:;
6590   Py_XDECREF(__pyx_1);
6591   Py_XDECREF(__pyx_2);
6592   Py_XDECREF(__pyx_3);
6593   __Pyx_WriteUnraisable("purple.custom_smiley_close");
6594   __pyx_L0:;
6595 }
6596
6597 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":225
6598  *         (<object> conversation_cbs["custom-smiley-close"])("custom-smiley-close: TODO")
6599  * 
6600  * cdef void send_confirm(conversation.PurpleConversation *conv, \             # <<<<<<<<<<<<<<
6601  *         const_char *message):
6602  *     """
6603  */
6604
6605 static PyObject *__pyx_kp_252;
6606 static PyObject *__pyx_kp_253;
6607 static PyObject *__pyx_kp_254;
6608
6609 static char __pyx_k_249[] = "conversation";
6610 static char __pyx_k_250[] = "%s";
6611 static char __pyx_k_251[] = "send-confirm\n";
6612 static char __pyx_k_252[] = "send-confirm";
6613 static char __pyx_k_253[] = "send-confirm";
6614 static char __pyx_k_254[] = "send-confirm: TODO";
6615
6616 static  void __pyx_f_6purple_send_confirm(PurpleConversation *__pyx_v_conv, const char *__pyx_v_message) {
6617   PyObject *__pyx_1 = 0;
6618   PyObject *__pyx_2 = 0;
6619   PyObject *__pyx_3 = 0;
6620   int __pyx_4;
6621
6622   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":232
6623  *     is NULL, libpurple will fall back to using purple_request_action().
6624  *     """
6625  *     debug.purple_debug_info("conversation", "%s", "send-confirm\n")             # <<<<<<<<<<<<<<
6626  *     if conversation_cbs.has_key("send-confirm"):
6627  *         (<object> conversation_cbs["send-confirm"])("send-confirm: TODO")
6628  */
6629   purple_debug_info(__pyx_k_249, __pyx_k_250, __pyx_k_251);
6630
6631   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":233
6632  *     """
6633  *     debug.purple_debug_info("conversation", "%s", "send-confirm\n")
6634  *     if conversation_cbs.has_key("send-confirm"):             # <<<<<<<<<<<<<<
6635  *         (<object> conversation_cbs["send-confirm"])("send-confirm: TODO")
6636  */
6637   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
6638   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
6639   Py_DECREF(__pyx_1); __pyx_1 = 0;
6640   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
6641   Py_INCREF(__pyx_kp_252);
6642   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_252);
6643   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
6644   Py_DECREF(__pyx_2); __pyx_2 = 0;
6645   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6646   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1;}
6647   Py_DECREF(__pyx_3); __pyx_3 = 0;
6648   if (__pyx_4) {
6649
6650     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":234
6651  *     debug.purple_debug_info("conversation", "%s", "send-confirm\n")
6652  *     if conversation_cbs.has_key("send-confirm"):
6653  *         (<object> conversation_cbs["send-confirm"])("send-confirm: TODO")             # <<<<<<<<<<<<<<
6654  */
6655     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
6656     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_253); if (!__pyx_1) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
6657     Py_DECREF(__pyx_2); __pyx_2 = 0;
6658     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
6659     Py_INCREF(__pyx_kp_254);
6660     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_254);
6661     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1;}
6662     Py_DECREF(__pyx_1); __pyx_1 = 0;
6663     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6664     Py_DECREF(__pyx_2); __pyx_2 = 0;
6665     goto __pyx_L2;
6666   }
6667   __pyx_L2:;
6668
6669   goto __pyx_L0;
6670   __pyx_L1:;
6671   Py_XDECREF(__pyx_1);
6672   Py_XDECREF(__pyx_2);
6673   Py_XDECREF(__pyx_3);
6674   __Pyx_WriteUnraisable("purple.send_confirm");
6675   __pyx_L0:;
6676 }
6677
6678 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":28
6679  * notify_cbs = {}
6680  * 
6681  * cdef void *notify_message(notify.PurpleNotifyMsgType type, \             # <<<<<<<<<<<<<<
6682  *         const_char *title, const_char *primary, const_char *secondary):
6683  *     """
6684  */
6685
6686 static PyObject *__pyx_kp_258;
6687 static PyObject *__pyx_kp_259;
6688 static PyObject *__pyx_kp_260;
6689
6690 static char __pyx_k_255[] = "notify";
6691 static char __pyx_k_256[] = "%s";
6692 static char __pyx_k_257[] = "notify-message\n";
6693 static char __pyx_k_258[] = "notif-message";
6694 static char __pyx_k_259[] = "notify-message";
6695 static char __pyx_k_260[] = "notify-message: TODO";
6696
6697 static  void *__pyx_f_6purple_notify_message(PurpleNotifyMsgType __pyx_v_type, const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary) {
6698   void *__pyx_r;
6699   PyObject *__pyx_1 = 0;
6700   PyObject *__pyx_2 = 0;
6701   PyObject *__pyx_3 = 0;
6702   int __pyx_4;
6703
6704   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":33
6705  *     TODO
6706  *     """
6707  *     debug.purple_debug_info("notify", "%s", "notify-message\n")             # <<<<<<<<<<<<<<
6708  *     if notify_cbs.has_key("notif-message"):
6709  *         (<object> notify_cbs["notify-message"])("notify-message: TODO")
6710  */
6711   purple_debug_info(__pyx_k_255, __pyx_k_256, __pyx_k_257);
6712
6713   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":34
6714  *     """
6715  *     debug.purple_debug_info("notify", "%s", "notify-message\n")
6716  *     if notify_cbs.has_key("notif-message"):             # <<<<<<<<<<<<<<
6717  *         (<object> notify_cbs["notify-message"])("notify-message: TODO")
6718  * 
6719  */
6720   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
6721   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
6722   Py_DECREF(__pyx_1); __pyx_1 = 0;
6723   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
6724   Py_INCREF(__pyx_kp_258);
6725   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_258);
6726   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
6727   Py_DECREF(__pyx_2); __pyx_2 = 0;
6728   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6729   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1;}
6730   Py_DECREF(__pyx_3); __pyx_3 = 0;
6731   if (__pyx_4) {
6732
6733     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":35
6734  *     debug.purple_debug_info("notify", "%s", "notify-message\n")
6735  *     if notify_cbs.has_key("notif-message"):
6736  *         (<object> notify_cbs["notify-message"])("notify-message: TODO")             # <<<<<<<<<<<<<<
6737  * 
6738  * cdef void *notify_email(connection.PurpleConnection *gc, \
6739  */
6740     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
6741     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_259); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
6742     Py_DECREF(__pyx_2); __pyx_2 = 0;
6743     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
6744     Py_INCREF(__pyx_kp_260);
6745     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_260);
6746     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1;}
6747     Py_DECREF(__pyx_1); __pyx_1 = 0;
6748     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6749     Py_DECREF(__pyx_2); __pyx_2 = 0;
6750     goto __pyx_L2;
6751   }
6752   __pyx_L2:;
6753
6754   __pyx_r = 0;
6755   goto __pyx_L0;
6756   __pyx_L1:;
6757   Py_XDECREF(__pyx_1);
6758   Py_XDECREF(__pyx_2);
6759   Py_XDECREF(__pyx_3);
6760   __Pyx_WriteUnraisable("purple.notify_message");
6761   __pyx_r = 0;
6762   __pyx_L0:;
6763   return __pyx_r;
6764 }
6765
6766 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":37
6767  *         (<object> notify_cbs["notify-message"])("notify-message: TODO")
6768  * 
6769  * cdef void *notify_email(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
6770  *         const_char *subject, const_char *_from, const_char *to, \
6771  *         const_char *url):
6772  */
6773
6774 static PyObject *__pyx_kp_264;
6775 static PyObject *__pyx_kp_265;
6776 static PyObject *__pyx_kp_266;
6777
6778 static char __pyx_k_261[] = "notify";
6779 static char __pyx_k_262[] = "%s";
6780 static char __pyx_k_263[] = "notify-email\n";
6781 static char __pyx_k_264[] = "notify-email";
6782 static char __pyx_k_265[] = "notify-email";
6783 static char __pyx_k_266[] = "notify-email: TODO";
6784
6785 static  void *__pyx_f_6purple_notify_email(PurpleConnection *__pyx_v_gc, const char *__pyx_v_subject, const char *__pyx_v__from, const char *__pyx_v_to, const char *__pyx_v_url) {
6786   void *__pyx_r;
6787   PyObject *__pyx_1 = 0;
6788   PyObject *__pyx_2 = 0;
6789   PyObject *__pyx_3 = 0;
6790   int __pyx_4;
6791
6792   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":43
6793  *     TODO
6794  *     """
6795  *     debug.purple_debug_info("notify", "%s", "notify-email\n")             # <<<<<<<<<<<<<<
6796  *     if notify_cbs.has_key("notify-email"):
6797  *         (<object> notify_cbs["notify-email"])("notify-email: TODO")
6798  */
6799   purple_debug_info(__pyx_k_261, __pyx_k_262, __pyx_k_263);
6800
6801   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":44
6802  *     """
6803  *     debug.purple_debug_info("notify", "%s", "notify-email\n")
6804  *     if notify_cbs.has_key("notify-email"):             # <<<<<<<<<<<<<<
6805  *         (<object> notify_cbs["notify-email"])("notify-email: TODO")
6806  * 
6807  */
6808   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
6809   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
6810   Py_DECREF(__pyx_1); __pyx_1 = 0;
6811   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
6812   Py_INCREF(__pyx_kp_264);
6813   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_264);
6814   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
6815   Py_DECREF(__pyx_2); __pyx_2 = 0;
6816   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6817   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
6818   Py_DECREF(__pyx_3); __pyx_3 = 0;
6819   if (__pyx_4) {
6820
6821     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":45
6822  *     debug.purple_debug_info("notify", "%s", "notify-email\n")
6823  *     if notify_cbs.has_key("notify-email"):
6824  *         (<object> notify_cbs["notify-email"])("notify-email: TODO")             # <<<<<<<<<<<<<<
6825  * 
6826  * cdef void *notify_emails(connection.PurpleConnection *gc, size_t count, \
6827  */
6828     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
6829     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_265); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
6830     Py_DECREF(__pyx_2); __pyx_2 = 0;
6831     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
6832     Py_INCREF(__pyx_kp_266);
6833     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_266);
6834     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
6835     Py_DECREF(__pyx_1); __pyx_1 = 0;
6836     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6837     Py_DECREF(__pyx_2); __pyx_2 = 0;
6838     goto __pyx_L2;
6839   }
6840   __pyx_L2:;
6841
6842   __pyx_r = 0;
6843   goto __pyx_L0;
6844   __pyx_L1:;
6845   Py_XDECREF(__pyx_1);
6846   Py_XDECREF(__pyx_2);
6847   Py_XDECREF(__pyx_3);
6848   __Pyx_WriteUnraisable("purple.notify_email");
6849   __pyx_r = 0;
6850   __pyx_L0:;
6851   return __pyx_r;
6852 }
6853
6854 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":47
6855  *         (<object> notify_cbs["notify-email"])("notify-email: TODO")
6856  * 
6857  * cdef void *notify_emails(connection.PurpleConnection *gc, size_t count, \             # <<<<<<<<<<<<<<
6858  *         glib.gboolean detailed, const_char **subjects, \
6859  *         const_char **froms, const_char **tos, const_char **urls):
6860  */
6861
6862 static PyObject *__pyx_kp_270;
6863 static PyObject *__pyx_kp_271;
6864 static PyObject *__pyx_kp_272;
6865
6866 static char __pyx_k_267[] = "notify";
6867 static char __pyx_k_268[] = "%s";
6868 static char __pyx_k_269[] = "notify-emails\n";
6869 static char __pyx_k_270[] = "notify-emails";
6870 static char __pyx_k_271[] = "notify-emails";
6871 static char __pyx_k_272[] = "notify-emails: TODO";
6872
6873 static  void *__pyx_f_6purple_notify_emails(PurpleConnection *__pyx_v_gc, size_t __pyx_v_count, gboolean __pyx_v_detailed, const char **__pyx_v_subjects, const char **__pyx_v_froms, const char **__pyx_v_tos, const char **__pyx_v_urls) {
6874   void *__pyx_r;
6875   PyObject *__pyx_1 = 0;
6876   PyObject *__pyx_2 = 0;
6877   PyObject *__pyx_3 = 0;
6878   int __pyx_4;
6879
6880   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":53
6881  *     TODO
6882  *     """
6883  *     debug.purple_debug_info("notify", "%s", "notify-emails\n")             # <<<<<<<<<<<<<<
6884  *     if notify_cbs.has_key("notify-emails"):
6885  *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")
6886  */
6887   purple_debug_info(__pyx_k_267, __pyx_k_268, __pyx_k_269);
6888
6889   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":54
6890  *     """
6891  *     debug.purple_debug_info("notify", "%s", "notify-emails\n")
6892  *     if notify_cbs.has_key("notify-emails"):             # <<<<<<<<<<<<<<
6893  *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")
6894  * 
6895  */
6896   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
6897   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
6898   Py_DECREF(__pyx_1); __pyx_1 = 0;
6899   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
6900   Py_INCREF(__pyx_kp_270);
6901   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_270);
6902   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
6903   Py_DECREF(__pyx_2); __pyx_2 = 0;
6904   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6905   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
6906   Py_DECREF(__pyx_3); __pyx_3 = 0;
6907   if (__pyx_4) {
6908
6909     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":55
6910  *     debug.purple_debug_info("notify", "%s", "notify-emails\n")
6911  *     if notify_cbs.has_key("notify-emails"):
6912  *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")             # <<<<<<<<<<<<<<
6913  * 
6914  * cdef void *notify_formatted(const_char *title, const_char *primary, \
6915  */
6916     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
6917     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_271); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
6918     Py_DECREF(__pyx_2); __pyx_2 = 0;
6919     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
6920     Py_INCREF(__pyx_kp_272);
6921     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_272);
6922     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1;}
6923     Py_DECREF(__pyx_1); __pyx_1 = 0;
6924     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
6925     Py_DECREF(__pyx_2); __pyx_2 = 0;
6926     goto __pyx_L2;
6927   }
6928   __pyx_L2:;
6929
6930   __pyx_r = 0;
6931   goto __pyx_L0;
6932   __pyx_L1:;
6933   Py_XDECREF(__pyx_1);
6934   Py_XDECREF(__pyx_2);
6935   Py_XDECREF(__pyx_3);
6936   __Pyx_WriteUnraisable("purple.notify_emails");
6937   __pyx_r = 0;
6938   __pyx_L0:;
6939   return __pyx_r;
6940 }
6941
6942 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":57
6943  *         (<object> notify_cbs["notify-emails"])("notify-emails: TODO")
6944  * 
6945  * cdef void *notify_formatted(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
6946  *         const_char *secondary, const_char *text):
6947  *     """
6948  */
6949
6950 static PyObject *__pyx_kp_276;
6951 static PyObject *__pyx_kp_277;
6952 static PyObject *__pyx_kp_278;
6953
6954 static char __pyx_k_273[] = "notify";
6955 static char __pyx_k_274[] = "%s";
6956 static char __pyx_k_275[] = "notify-formatted\n";
6957 static char __pyx_k_276[] = "notify-formatted";
6958 static char __pyx_k_277[] = "notify-formatted";
6959 static char __pyx_k_278[] = "notify-formatted: TODO";
6960
6961 static  void *__pyx_f_6purple_notify_formatted(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, const char *__pyx_v_text) {
6962   void *__pyx_r;
6963   PyObject *__pyx_1 = 0;
6964   PyObject *__pyx_2 = 0;
6965   PyObject *__pyx_3 = 0;
6966   int __pyx_4;
6967
6968   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":62
6969  *     TODO
6970  *     """
6971  *     debug.purple_debug_info("notify", "%s", "notify-formatted\n")             # <<<<<<<<<<<<<<
6972  *     if notify_cbs.has_key("notify-formatted"):
6973  *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")
6974  */
6975   purple_debug_info(__pyx_k_273, __pyx_k_274, __pyx_k_275);
6976
6977   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":63
6978  *     """
6979  *     debug.purple_debug_info("notify", "%s", "notify-formatted\n")
6980  *     if notify_cbs.has_key("notify-formatted"):             # <<<<<<<<<<<<<<
6981  *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")
6982  * 
6983  */
6984   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
6985   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
6986   Py_DECREF(__pyx_1); __pyx_1 = 0;
6987   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
6988   Py_INCREF(__pyx_kp_276);
6989   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_276);
6990   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
6991   Py_DECREF(__pyx_2); __pyx_2 = 0;
6992   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
6993   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
6994   Py_DECREF(__pyx_3); __pyx_3 = 0;
6995   if (__pyx_4) {
6996
6997     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":64
6998  *     debug.purple_debug_info("notify", "%s", "notify-formatted\n")
6999  *     if notify_cbs.has_key("notify-formatted"):
7000  *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")             # <<<<<<<<<<<<<<
7001  * 
7002  * cdef void *notify_searchresults(connection.PurpleConnection *gc, \
7003  */
7004     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
7005     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_277); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
7006     Py_DECREF(__pyx_2); __pyx_2 = 0;
7007     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
7008     Py_INCREF(__pyx_kp_278);
7009     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_278);
7010     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
7011     Py_DECREF(__pyx_1); __pyx_1 = 0;
7012     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7013     Py_DECREF(__pyx_2); __pyx_2 = 0;
7014     goto __pyx_L2;
7015   }
7016   __pyx_L2:;
7017
7018   __pyx_r = 0;
7019   goto __pyx_L0;
7020   __pyx_L1:;
7021   Py_XDECREF(__pyx_1);
7022   Py_XDECREF(__pyx_2);
7023   Py_XDECREF(__pyx_3);
7024   __Pyx_WriteUnraisable("purple.notify_formatted");
7025   __pyx_r = 0;
7026   __pyx_L0:;
7027   return __pyx_r;
7028 }
7029
7030 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":66
7031  *         (<object> notify_cbs["notify-formatted"])("notify-formatted: TODO")
7032  * 
7033  * cdef void *notify_searchresults(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
7034  *         const_char *title, const_char *primary, const_char *secondary, \
7035  *         notify.PurpleNotifySearchResults *results, glib.gpointer user_data):
7036  */
7037
7038 static PyObject *__pyx_kp_282;
7039 static PyObject *__pyx_kp_283;
7040 static PyObject *__pyx_kp_284;
7041
7042 static char __pyx_k_279[] = "notify";
7043 static char __pyx_k_280[] = "%s";
7044 static char __pyx_k_281[] = "notify-searchresults\n";
7045 static char __pyx_k_282[] = "notify-searchresults";
7046 static char __pyx_k_283[] = "notify-searchresults";
7047 static char __pyx_k_284[] = "notify-searchresults: TODO";
7048
7049 static  void *__pyx_f_6purple_notify_searchresults(PurpleConnection *__pyx_v_gc, const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, PurpleNotifySearchResults *__pyx_v_results, gpointer __pyx_v_user_data) {
7050   void *__pyx_r;
7051   PyObject *__pyx_1 = 0;
7052   PyObject *__pyx_2 = 0;
7053   PyObject *__pyx_3 = 0;
7054   int __pyx_4;
7055
7056   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":72
7057  *     TODO
7058  *     """
7059  *     debug.purple_debug_info("notify", "%s", "notify-searchresults\n")             # <<<<<<<<<<<<<<
7060  *     if notify_cbs.has_key("notify-searchresults"):
7061  *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")
7062  */
7063   purple_debug_info(__pyx_k_279, __pyx_k_280, __pyx_k_281);
7064
7065   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":73
7066  *     """
7067  *     debug.purple_debug_info("notify", "%s", "notify-searchresults\n")
7068  *     if notify_cbs.has_key("notify-searchresults"):             # <<<<<<<<<<<<<<
7069  *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")
7070  * 
7071  */
7072   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
7073   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
7074   Py_DECREF(__pyx_1); __pyx_1 = 0;
7075   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
7076   Py_INCREF(__pyx_kp_282);
7077   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_282);
7078   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
7079   Py_DECREF(__pyx_2); __pyx_2 = 0;
7080   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7081   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
7082   Py_DECREF(__pyx_3); __pyx_3 = 0;
7083   if (__pyx_4) {
7084
7085     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":74
7086  *     debug.purple_debug_info("notify", "%s", "notify-searchresults\n")
7087  *     if notify_cbs.has_key("notify-searchresults"):
7088  *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")             # <<<<<<<<<<<<<<
7089  * 
7090  * cdef void notify_searchresults_new_rows(connection.PurpleConnection *gc, \
7091  */
7092     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
7093     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_283); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
7094     Py_DECREF(__pyx_2); __pyx_2 = 0;
7095     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
7096     Py_INCREF(__pyx_kp_284);
7097     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_284);
7098     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
7099     Py_DECREF(__pyx_1); __pyx_1 = 0;
7100     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7101     Py_DECREF(__pyx_2); __pyx_2 = 0;
7102     goto __pyx_L2;
7103   }
7104   __pyx_L2:;
7105
7106   __pyx_r = 0;
7107   goto __pyx_L0;
7108   __pyx_L1:;
7109   Py_XDECREF(__pyx_1);
7110   Py_XDECREF(__pyx_2);
7111   Py_XDECREF(__pyx_3);
7112   __Pyx_WriteUnraisable("purple.notify_searchresults");
7113   __pyx_r = 0;
7114   __pyx_L0:;
7115   return __pyx_r;
7116 }
7117
7118 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":76
7119  *         (<object> notify_cbs["notify-searchresults"])("notify-searchresults: TODO")
7120  * 
7121  * cdef void notify_searchresults_new_rows(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
7122  *         notify.PurpleNotifySearchResults *results, void *data):
7123  *     """
7124  */
7125
7126 static PyObject *__pyx_kp_288;
7127 static PyObject *__pyx_kp_289;
7128 static PyObject *__pyx_kp_290;
7129
7130 static char __pyx_k_285[] = "notify";
7131 static char __pyx_k_286[] = "%s";
7132 static char __pyx_k_287[] = "notify-searchresults-new-rows\n";
7133 static char __pyx_k_288[] = "notify-searchresults-new-rows";
7134 static char __pyx_k_289[] = "notify-searchresults-new-rows";
7135 static char __pyx_k_290[] = "notify-searchresults-new-rows: TODO";
7136
7137 static  void __pyx_f_6purple_notify_searchresults_new_rows(PurpleConnection *__pyx_v_gc, PurpleNotifySearchResults *__pyx_v_results, void *__pyx_v_data) {
7138   PyObject *__pyx_1 = 0;
7139   PyObject *__pyx_2 = 0;
7140   PyObject *__pyx_3 = 0;
7141   int __pyx_4;
7142
7143   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":81
7144  *     TODO
7145  *     """
7146  *     debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n")             # <<<<<<<<<<<<<<
7147  *     if notify_cbs.has_key("notify-searchresults-new-rows"):
7148  *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")
7149  */
7150   purple_debug_info(__pyx_k_285, __pyx_k_286, __pyx_k_287);
7151
7152   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":82
7153  *     """
7154  *     debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n")
7155  *     if notify_cbs.has_key("notify-searchresults-new-rows"):             # <<<<<<<<<<<<<<
7156  *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")
7157  * 
7158  */
7159   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
7160   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
7161   Py_DECREF(__pyx_1); __pyx_1 = 0;
7162   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
7163   Py_INCREF(__pyx_kp_288);
7164   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_288);
7165   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
7166   Py_DECREF(__pyx_2); __pyx_2 = 0;
7167   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7168   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
7169   Py_DECREF(__pyx_3); __pyx_3 = 0;
7170   if (__pyx_4) {
7171
7172     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":83
7173  *     debug.purple_debug_info("notify", "%s", "notify-searchresults-new-rows\n")
7174  *     if notify_cbs.has_key("notify-searchresults-new-rows"):
7175  *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")             # <<<<<<<<<<<<<<
7176  * 
7177  * cdef void *notify_userinfo(connection.PurpleConnection *gc, const_char *who, \
7178  */
7179     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
7180     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_289); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
7181     Py_DECREF(__pyx_2); __pyx_2 = 0;
7182     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
7183     Py_INCREF(__pyx_kp_290);
7184     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_290);
7185     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
7186     Py_DECREF(__pyx_1); __pyx_1 = 0;
7187     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7188     Py_DECREF(__pyx_2); __pyx_2 = 0;
7189     goto __pyx_L2;
7190   }
7191   __pyx_L2:;
7192
7193   goto __pyx_L0;
7194   __pyx_L1:;
7195   Py_XDECREF(__pyx_1);
7196   Py_XDECREF(__pyx_2);
7197   Py_XDECREF(__pyx_3);
7198   __Pyx_WriteUnraisable("purple.notify_searchresults_new_rows");
7199   __pyx_L0:;
7200 }
7201
7202 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":85
7203  *         (<object> notify_cbs["notify-searchresults-new-rows"])("notify-searchresults-new-rows: TODO")
7204  * 
7205  * cdef void *notify_userinfo(connection.PurpleConnection *gc, const_char *who, \             # <<<<<<<<<<<<<<
7206  *         notify.PurpleNotifyUserInfo *user_info):
7207  *     """
7208  */
7209
7210 static PyObject *__pyx_kp_294;
7211 static PyObject *__pyx_kp_295;
7212 static PyObject *__pyx_kp_296;
7213
7214 static char __pyx_k_291[] = "notify";
7215 static char __pyx_k_292[] = "%s";
7216 static char __pyx_k_293[] = "notify-userinfo\n";
7217 static char __pyx_k_294[] = "notify-userinfo";
7218 static char __pyx_k_295[] = "notify-userinfo";
7219 static char __pyx_k_296[] = "notify-userinfo: TODO";
7220
7221 static  void *__pyx_f_6purple_notify_userinfo(PurpleConnection *__pyx_v_gc, const char *__pyx_v_who, PurpleNotifyUserInfo *__pyx_v_user_info) {
7222   void *__pyx_r;
7223   PyObject *__pyx_1 = 0;
7224   PyObject *__pyx_2 = 0;
7225   PyObject *__pyx_3 = 0;
7226   int __pyx_4;
7227
7228   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":90
7229  *     TODO
7230  *     """
7231  *     debug.purple_debug_info("notify", "%s", "notify-userinfo\n")             # <<<<<<<<<<<<<<
7232  *     if notify_cbs.has_key("notify-userinfo"):
7233  *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")
7234  */
7235   purple_debug_info(__pyx_k_291, __pyx_k_292, __pyx_k_293);
7236
7237   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":91
7238  *     """
7239  *     debug.purple_debug_info("notify", "%s", "notify-userinfo\n")
7240  *     if notify_cbs.has_key("notify-userinfo"):             # <<<<<<<<<<<<<<
7241  *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")
7242  * 
7243  */
7244   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7245   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7246   Py_DECREF(__pyx_1); __pyx_1 = 0;
7247   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7248   Py_INCREF(__pyx_kp_294);
7249   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_294);
7250   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7251   Py_DECREF(__pyx_2); __pyx_2 = 0;
7252   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7253   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7254   Py_DECREF(__pyx_3); __pyx_3 = 0;
7255   if (__pyx_4) {
7256
7257     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":92
7258  *     debug.purple_debug_info("notify", "%s", "notify-userinfo\n")
7259  *     if notify_cbs.has_key("notify-userinfo"):
7260  *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")             # <<<<<<<<<<<<<<
7261  * 
7262  * cdef void *notify_uri(const_char *uri):
7263  */
7264     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
7265     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_295); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
7266     Py_DECREF(__pyx_2); __pyx_2 = 0;
7267     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
7268     Py_INCREF(__pyx_kp_296);
7269     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_296);
7270     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
7271     Py_DECREF(__pyx_1); __pyx_1 = 0;
7272     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7273     Py_DECREF(__pyx_2); __pyx_2 = 0;
7274     goto __pyx_L2;
7275   }
7276   __pyx_L2:;
7277
7278   __pyx_r = 0;
7279   goto __pyx_L0;
7280   __pyx_L1:;
7281   Py_XDECREF(__pyx_1);
7282   Py_XDECREF(__pyx_2);
7283   Py_XDECREF(__pyx_3);
7284   __Pyx_WriteUnraisable("purple.notify_userinfo");
7285   __pyx_r = 0;
7286   __pyx_L0:;
7287   return __pyx_r;
7288 }
7289
7290 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":94
7291  *         (<object> notify_cbs["notify-userinfo"])("notify-userinfo: TODO")
7292  * 
7293  * cdef void *notify_uri(const_char *uri):             # <<<<<<<<<<<<<<
7294  *     """
7295  *     TODO
7296  */
7297
7298 static PyObject *__pyx_kp_300;
7299 static PyObject *__pyx_kp_301;
7300 static PyObject *__pyx_kp_302;
7301
7302 static char __pyx_k_297[] = "notify";
7303 static char __pyx_k_298[] = "%s";
7304 static char __pyx_k_299[] = "notify-uri\n";
7305 static char __pyx_k_300[] = "notify-uri";
7306 static char __pyx_k_301[] = "notify-uri";
7307 static char __pyx_k_302[] = "notify-uri: TODO";
7308
7309 static  void *__pyx_f_6purple_notify_uri(const char *__pyx_v_uri) {
7310   void *__pyx_r;
7311   PyObject *__pyx_1 = 0;
7312   PyObject *__pyx_2 = 0;
7313   PyObject *__pyx_3 = 0;
7314   int __pyx_4;
7315
7316   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":98
7317  *     TODO
7318  *     """
7319  *     debug.purple_debug_info("notify", "%s", "notify-uri\n")             # <<<<<<<<<<<<<<
7320  *     if notify_cbs.has_key("notify-uri"):
7321  *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")
7322  */
7323   purple_debug_info(__pyx_k_297, __pyx_k_298, __pyx_k_299);
7324
7325   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":99
7326  *     """
7327  *     debug.purple_debug_info("notify", "%s", "notify-uri\n")
7328  *     if notify_cbs.has_key("notify-uri"):             # <<<<<<<<<<<<<<
7329  *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")
7330  * 
7331  */
7332   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7333   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7334   Py_DECREF(__pyx_1); __pyx_1 = 0;
7335   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7336   Py_INCREF(__pyx_kp_300);
7337   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_300);
7338   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7339   Py_DECREF(__pyx_2); __pyx_2 = 0;
7340   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7341   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7342   Py_DECREF(__pyx_3); __pyx_3 = 0;
7343   if (__pyx_4) {
7344
7345     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":100
7346  *     debug.purple_debug_info("notify", "%s", "notify-uri\n")
7347  *     if notify_cbs.has_key("notify-uri"):
7348  *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")             # <<<<<<<<<<<<<<
7349  * 
7350  * cdef void close_notify(notify.PurpleNotifyType type, void *ui_handle):
7351  */
7352     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
7353     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_301); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
7354     Py_DECREF(__pyx_2); __pyx_2 = 0;
7355     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
7356     Py_INCREF(__pyx_kp_302);
7357     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_302);
7358     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1;}
7359     Py_DECREF(__pyx_1); __pyx_1 = 0;
7360     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7361     Py_DECREF(__pyx_2); __pyx_2 = 0;
7362     goto __pyx_L2;
7363   }
7364   __pyx_L2:;
7365
7366   __pyx_r = 0;
7367   goto __pyx_L0;
7368   __pyx_L1:;
7369   Py_XDECREF(__pyx_1);
7370   Py_XDECREF(__pyx_2);
7371   Py_XDECREF(__pyx_3);
7372   __Pyx_WriteUnraisable("purple.notify_uri");
7373   __pyx_r = 0;
7374   __pyx_L0:;
7375   return __pyx_r;
7376 }
7377
7378 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":102
7379  *         (<object> notify_cbs["notify-uri"])("notify-uri: TODO")
7380  * 
7381  * cdef void close_notify(notify.PurpleNotifyType type, void *ui_handle):             # <<<<<<<<<<<<<<
7382  *     """
7383  *     TODO
7384  */
7385
7386 static PyObject *__pyx_kp_306;
7387 static PyObject *__pyx_kp_307;
7388 static PyObject *__pyx_kp_308;
7389
7390 static char __pyx_k_303[] = "notify";
7391 static char __pyx_k_304[] = "%s";
7392 static char __pyx_k_305[] = "close-notify\n";
7393 static char __pyx_k_306[] = "close-notify";
7394 static char __pyx_k_307[] = "close-notify";
7395 static char __pyx_k_308[] = "close-notify: TODO";
7396
7397 static  void __pyx_f_6purple_close_notify(PurpleNotifyType __pyx_v_type, void *__pyx_v_ui_handle) {
7398   PyObject *__pyx_1 = 0;
7399   PyObject *__pyx_2 = 0;
7400   PyObject *__pyx_3 = 0;
7401   int __pyx_4;
7402
7403   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":106
7404  *     TODO
7405  *     """
7406  *     debug.purple_debug_info("notify", "%s", "close-notify\n")             # <<<<<<<<<<<<<<
7407  *     if notify_cbs.has_key("close-notify"):
7408  *         (<object> notify_cbs["close-notify"])("close-notify: TODO")
7409  */
7410   purple_debug_info(__pyx_k_303, __pyx_k_304, __pyx_k_305);
7411
7412   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":107
7413  *     """
7414  *     debug.purple_debug_info("notify", "%s", "close-notify\n")
7415  *     if notify_cbs.has_key("close-notify"):             # <<<<<<<<<<<<<<
7416  *         (<object> notify_cbs["close-notify"])("close-notify: TODO")
7417  */
7418   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
7419   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
7420   Py_DECREF(__pyx_1); __pyx_1 = 0;
7421   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
7422   Py_INCREF(__pyx_kp_306);
7423   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_306);
7424   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
7425   Py_DECREF(__pyx_2); __pyx_2 = 0;
7426   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7427   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1;}
7428   Py_DECREF(__pyx_3); __pyx_3 = 0;
7429   if (__pyx_4) {
7430
7431     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":108
7432  *     debug.purple_debug_info("notify", "%s", "close-notify\n")
7433  *     if notify_cbs.has_key("close-notify"):
7434  *         (<object> notify_cbs["close-notify"])("close-notify: TODO")             # <<<<<<<<<<<<<<
7435  */
7436     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
7437     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_307); if (!__pyx_1) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
7438     Py_DECREF(__pyx_2); __pyx_2 = 0;
7439     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
7440     Py_INCREF(__pyx_kp_308);
7441     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_308);
7442     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1;}
7443     Py_DECREF(__pyx_1); __pyx_1 = 0;
7444     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7445     Py_DECREF(__pyx_2); __pyx_2 = 0;
7446     goto __pyx_L2;
7447   }
7448   __pyx_L2:;
7449
7450   goto __pyx_L0;
7451   __pyx_L1:;
7452   Py_XDECREF(__pyx_1);
7453   Py_XDECREF(__pyx_2);
7454   Py_XDECREF(__pyx_3);
7455   __Pyx_WriteUnraisable("purple.close_notify");
7456   __pyx_L0:;
7457 }
7458
7459 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":29
7460  * request_cbs = {}
7461  * 
7462  * cdef void *request_input(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
7463  *         const_char *secondary, const_char *default_value, \
7464  *         glib.gboolean multiline, glib.gboolean masked, glib.gchar *hint, \
7465  */
7466
7467 static PyObject *__pyx_kp_312;
7468 static PyObject *__pyx_kp_313;
7469 static PyObject *__pyx_kp_314;
7470
7471 static char __pyx_k_309[] = "request";
7472 static char __pyx_k_310[] = "%s";
7473 static char __pyx_k_311[] = "request-input\n";
7474 static char __pyx_k_312[] = "request-input";
7475 static char __pyx_k_313[] = "request-input";
7476 static char __pyx_k_314[] = "request-input: TODO";
7477
7478 static  void *__pyx_f_6purple_request_input(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, const char *__pyx_v_default_value, gboolean __pyx_v_multiline, gboolean __pyx_v_masked, gchar *__pyx_v_hint, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
7479   void *__pyx_r;
7480   PyObject *__pyx_1 = 0;
7481   PyObject *__pyx_2 = 0;
7482   PyObject *__pyx_3 = 0;
7483   int __pyx_4;
7484
7485   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":39
7486  *     @see purple_request_input().
7487  *     """
7488  *     debug.purple_debug_info("request", "%s", "request-input\n")             # <<<<<<<<<<<<<<
7489  *     if request_cbs.has_key("request-input"):
7490  *         (<object> request_cbs["request-input"])("request-input: TODO")
7491  */
7492   purple_debug_info(__pyx_k_309, __pyx_k_310, __pyx_k_311);
7493
7494   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":40
7495  *     """
7496  *     debug.purple_debug_info("request", "%s", "request-input\n")
7497  *     if request_cbs.has_key("request-input"):             # <<<<<<<<<<<<<<
7498  *         (<object> request_cbs["request-input"])("request-input: TODO")
7499  * 
7500  */
7501   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
7502   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
7503   Py_DECREF(__pyx_1); __pyx_1 = 0;
7504   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
7505   Py_INCREF(__pyx_kp_312);
7506   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_312);
7507   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
7508   Py_DECREF(__pyx_2); __pyx_2 = 0;
7509   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7510   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
7511   Py_DECREF(__pyx_3); __pyx_3 = 0;
7512   if (__pyx_4) {
7513
7514     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":41
7515  *     debug.purple_debug_info("request", "%s", "request-input\n")
7516  *     if request_cbs.has_key("request-input"):
7517  *         (<object> request_cbs["request-input"])("request-input: TODO")             # <<<<<<<<<<<<<<
7518  * 
7519  * cdef void *request_choice(const_char *title, const_char *primary, \
7520  */
7521     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
7522     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_313); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
7523     Py_DECREF(__pyx_2); __pyx_2 = 0;
7524     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
7525     Py_INCREF(__pyx_kp_314);
7526     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_314);
7527     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
7528     Py_DECREF(__pyx_1); __pyx_1 = 0;
7529     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7530     Py_DECREF(__pyx_2); __pyx_2 = 0;
7531     goto __pyx_L2;
7532   }
7533   __pyx_L2:;
7534
7535   __pyx_r = 0;
7536   goto __pyx_L0;
7537   __pyx_L1:;
7538   Py_XDECREF(__pyx_1);
7539   Py_XDECREF(__pyx_2);
7540   Py_XDECREF(__pyx_3);
7541   __Pyx_WriteUnraisable("purple.request_input");
7542   __pyx_r = 0;
7543   __pyx_L0:;
7544   return __pyx_r;
7545 }
7546
7547 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":43
7548  *         (<object> request_cbs["request-input"])("request-input: TODO")
7549  * 
7550  * cdef void *request_choice(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
7551  *         const_char *secondary, int default_value, const_char *ok_text, \
7552  *         glib.GCallback ok_cb, const_char *cancel_text, \
7553  */
7554
7555 static PyObject *__pyx_kp_318;
7556 static PyObject *__pyx_kp_319;
7557 static PyObject *__pyx_kp_320;
7558
7559 static char __pyx_k_315[] = "request";
7560 static char __pyx_k_316[] = "%s";
7561 static char __pyx_k_317[] = "request-choice\n";
7562 static char __pyx_k_318[] = "request-choice";
7563 static char __pyx_k_319[] = "request-choice";
7564 static char __pyx_k_320[] = "request-choice: TODO";
7565
7566 static  void *__pyx_f_6purple_request_choice(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, int __pyx_v_default_value, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data, va_list __pyx_v_choices) {
7567   void *__pyx_r;
7568   PyObject *__pyx_1 = 0;
7569   PyObject *__pyx_2 = 0;
7570   PyObject *__pyx_3 = 0;
7571   int __pyx_4;
7572
7573   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":52
7574  *     @see purple_request_choice_varg().
7575  *     """
7576  *     debug.purple_debug_info("request", "%s", "request-choice\n")             # <<<<<<<<<<<<<<
7577  *     if request_cbs.has_key("request-choice"):
7578  *         (<object> request_cbs["request-choice"])("request-choice: TODO")
7579  */
7580   purple_debug_info(__pyx_k_315, __pyx_k_316, __pyx_k_317);
7581
7582   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":53
7583  *     """
7584  *     debug.purple_debug_info("request", "%s", "request-choice\n")
7585  *     if request_cbs.has_key("request-choice"):             # <<<<<<<<<<<<<<
7586  *         (<object> request_cbs["request-choice"])("request-choice: TODO")
7587  * 
7588  */
7589   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
7590   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
7591   Py_DECREF(__pyx_1); __pyx_1 = 0;
7592   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
7593   Py_INCREF(__pyx_kp_318);
7594   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_318);
7595   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
7596   Py_DECREF(__pyx_2); __pyx_2 = 0;
7597   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7598   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
7599   Py_DECREF(__pyx_3); __pyx_3 = 0;
7600   if (__pyx_4) {
7601
7602     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":54
7603  *     debug.purple_debug_info("request", "%s", "request-choice\n")
7604  *     if request_cbs.has_key("request-choice"):
7605  *         (<object> request_cbs["request-choice"])("request-choice: TODO")             # <<<<<<<<<<<<<<
7606  * 
7607  * cdef void *request_action(const_char *title, const_char *primary, \
7608  */
7609     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
7610     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_319); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
7611     Py_DECREF(__pyx_2); __pyx_2 = 0;
7612     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
7613     Py_INCREF(__pyx_kp_320);
7614     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_320);
7615     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
7616     Py_DECREF(__pyx_1); __pyx_1 = 0;
7617     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7618     Py_DECREF(__pyx_2); __pyx_2 = 0;
7619     goto __pyx_L2;
7620   }
7621   __pyx_L2:;
7622
7623   __pyx_r = 0;
7624   goto __pyx_L0;
7625   __pyx_L1:;
7626   Py_XDECREF(__pyx_1);
7627   Py_XDECREF(__pyx_2);
7628   Py_XDECREF(__pyx_3);
7629   __Pyx_WriteUnraisable("purple.request_choice");
7630   __pyx_r = 0;
7631   __pyx_L0:;
7632   return __pyx_r;
7633 }
7634
7635 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":56
7636  *         (<object> request_cbs["request-choice"])("request-choice: TODO")
7637  * 
7638  * cdef void *request_action(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
7639  *         const_char *secondary, int default_action, \
7640  *         account.PurpleAccount *account, const_char *who, \
7641  */
7642
7643 static PyObject *__pyx_kp_324;
7644 static PyObject *__pyx_kp_325;
7645 static PyObject *__pyx_kp_326;
7646
7647 static char __pyx_k_321[] = "request";
7648 static char __pyx_k_322[] = "%s";
7649 static char __pyx_k_323[] = "request-action\n";
7650 static char __pyx_k_324[] = "request-action";
7651 static char __pyx_k_325[] = "request-action";
7652 static char __pyx_k_326[] = "request-action: TODo";
7653
7654 static  void *__pyx_f_6purple_request_action(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, int __pyx_v_default_action, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data, size_t __pyx_v_action_count, va_list __pyx_v_actions) {
7655   void *__pyx_r;
7656   PyObject *__pyx_1 = 0;
7657   PyObject *__pyx_2 = 0;
7658   PyObject *__pyx_3 = 0;
7659   int __pyx_4;
7660
7661   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":64
7662  *     @see purple_request_action_varg().
7663  *     """
7664  *     debug.purple_debug_info("request", "%s", "request-action\n")             # <<<<<<<<<<<<<<
7665  *     if request_cbs.has_key("request-action"):
7666  *         (<object> request_cbs["request-action"])("request-action: TODo")
7667  */
7668   purple_debug_info(__pyx_k_321, __pyx_k_322, __pyx_k_323);
7669
7670   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":65
7671  *     """
7672  *     debug.purple_debug_info("request", "%s", "request-action\n")
7673  *     if request_cbs.has_key("request-action"):             # <<<<<<<<<<<<<<
7674  *         (<object> request_cbs["request-action"])("request-action: TODo")
7675  * 
7676  */
7677   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
7678   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
7679   Py_DECREF(__pyx_1); __pyx_1 = 0;
7680   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
7681   Py_INCREF(__pyx_kp_324);
7682   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_324);
7683   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
7684   Py_DECREF(__pyx_2); __pyx_2 = 0;
7685   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7686   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
7687   Py_DECREF(__pyx_3); __pyx_3 = 0;
7688   if (__pyx_4) {
7689
7690     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":66
7691  *     debug.purple_debug_info("request", "%s", "request-action\n")
7692  *     if request_cbs.has_key("request-action"):
7693  *         (<object> request_cbs["request-action"])("request-action: TODo")             # <<<<<<<<<<<<<<
7694  * 
7695  * cdef void *request_fields(const_char *title, const_char *primary, \
7696  */
7697     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
7698     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_325); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
7699     Py_DECREF(__pyx_2); __pyx_2 = 0;
7700     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
7701     Py_INCREF(__pyx_kp_326);
7702     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_326);
7703     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
7704     Py_DECREF(__pyx_1); __pyx_1 = 0;
7705     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7706     Py_DECREF(__pyx_2); __pyx_2 = 0;
7707     goto __pyx_L2;
7708   }
7709   __pyx_L2:;
7710
7711   __pyx_r = 0;
7712   goto __pyx_L0;
7713   __pyx_L1:;
7714   Py_XDECREF(__pyx_1);
7715   Py_XDECREF(__pyx_2);
7716   Py_XDECREF(__pyx_3);
7717   __Pyx_WriteUnraisable("purple.request_action");
7718   __pyx_r = 0;
7719   __pyx_L0:;
7720   return __pyx_r;
7721 }
7722
7723 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":68
7724  *         (<object> request_cbs["request-action"])("request-action: TODo")
7725  * 
7726  * cdef void *request_fields(const_char *title, const_char *primary, \             # <<<<<<<<<<<<<<
7727  *         const_char *secondary, request.PurpleRequestFields *fields, \
7728  *         const_char *ok_text, glib.GCallback ok_cb, const_char *cancel_text, \
7729  */
7730
7731 static PyObject *__pyx_kp_330;
7732 static PyObject *__pyx_kp_331;
7733 static PyObject *__pyx_kp_332;
7734
7735 static char __pyx_k_327[] = "request";
7736 static char __pyx_k_328[] = "%s";
7737 static char __pyx_k_329[] = "request-fields\n";
7738 static char __pyx_k_330[] = "request-fields";
7739 static char __pyx_k_331[] = "request-fields";
7740 static char __pyx_k_332[] = "request-fields: TODO";
7741
7742 static  void *__pyx_f_6purple_request_fields(const char *__pyx_v_title, const char *__pyx_v_primary, const char *__pyx_v_secondary, PurpleRequestFields *__pyx_v_fields, const char *__pyx_v_ok_text, GCallback __pyx_v_ok_cb, const char *__pyx_v_cancel_text, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
7743   void *__pyx_r;
7744   PyObject *__pyx_1 = 0;
7745   PyObject *__pyx_2 = 0;
7746   PyObject *__pyx_3 = 0;
7747   int __pyx_4;
7748
7749   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":77
7750  *     @see purple_request_fields().
7751  *     """
7752  *     debug.purple_debug_info("request", "%s", "request-fields\n")             # <<<<<<<<<<<<<<
7753  *     if request_cbs.has_key("request-fields"):
7754  *         (<object> request_cbs["request-fields"])("request-fields: TODO")
7755  */
7756   purple_debug_info(__pyx_k_327, __pyx_k_328, __pyx_k_329);
7757
7758   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":78
7759  *     """
7760  *     debug.purple_debug_info("request", "%s", "request-fields\n")
7761  *     if request_cbs.has_key("request-fields"):             # <<<<<<<<<<<<<<
7762  *         (<object> request_cbs["request-fields"])("request-fields: TODO")
7763  * 
7764  */
7765   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
7766   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
7767   Py_DECREF(__pyx_1); __pyx_1 = 0;
7768   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
7769   Py_INCREF(__pyx_kp_330);
7770   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_330);
7771   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
7772   Py_DECREF(__pyx_2); __pyx_2 = 0;
7773   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7774   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
7775   Py_DECREF(__pyx_3); __pyx_3 = 0;
7776   if (__pyx_4) {
7777
7778     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":79
7779  *     debug.purple_debug_info("request", "%s", "request-fields\n")
7780  *     if request_cbs.has_key("request-fields"):
7781  *         (<object> request_cbs["request-fields"])("request-fields: TODO")             # <<<<<<<<<<<<<<
7782  * 
7783  * cdef void *request_file(const_char *title, const_char *filename, \
7784  */
7785     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
7786     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_331); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
7787     Py_DECREF(__pyx_2); __pyx_2 = 0;
7788     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
7789     Py_INCREF(__pyx_kp_332);
7790     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_332);
7791     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
7792     Py_DECREF(__pyx_1); __pyx_1 = 0;
7793     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7794     Py_DECREF(__pyx_2); __pyx_2 = 0;
7795     goto __pyx_L2;
7796   }
7797   __pyx_L2:;
7798
7799   __pyx_r = 0;
7800   goto __pyx_L0;
7801   __pyx_L1:;
7802   Py_XDECREF(__pyx_1);
7803   Py_XDECREF(__pyx_2);
7804   Py_XDECREF(__pyx_3);
7805   __Pyx_WriteUnraisable("purple.request_fields");
7806   __pyx_r = 0;
7807   __pyx_L0:;
7808   return __pyx_r;
7809 }
7810
7811 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":81
7812  *         (<object> request_cbs["request-fields"])("request-fields: TODO")
7813  * 
7814  * cdef void *request_file(const_char *title, const_char *filename, \             # <<<<<<<<<<<<<<
7815  *         glib.gboolean savedialog, glib.GCallback ok_cb, \
7816  *         glib.GCallback cancel_cb, account.PurpleAccount *account, \
7817  */
7818
7819 static PyObject *__pyx_kp_336;
7820 static PyObject *__pyx_kp_337;
7821 static PyObject *__pyx_kp_338;
7822
7823 static char __pyx_k_333[] = "request";
7824 static char __pyx_k_334[] = "%s";
7825 static char __pyx_k_335[] = "request-file\n";
7826 static char __pyx_k_336[] = "request-file";
7827 static char __pyx_k_337[] = "request-file";
7828 static char __pyx_k_338[] = "request-file: TODO";
7829
7830 static  void *__pyx_f_6purple_request_file(const char *__pyx_v_title, const char *__pyx_v_filename, gboolean __pyx_v_savedialog, GCallback __pyx_v_ok_cb, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
7831   void *__pyx_r;
7832   PyObject *__pyx_1 = 0;
7833   PyObject *__pyx_2 = 0;
7834   PyObject *__pyx_3 = 0;
7835   int __pyx_4;
7836
7837   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":89
7838  *     @see purple_request_file().
7839  *     """
7840  *     debug.purple_debug_info("request", "%s", "request-file\n")             # <<<<<<<<<<<<<<
7841  *     if request_cbs.has_key("request-file"):
7842  *         (<object> request_cbs["request-file"])("request-file: TODO")
7843  */
7844   purple_debug_info(__pyx_k_333, __pyx_k_334, __pyx_k_335);
7845
7846   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":90
7847  *     """
7848  *     debug.purple_debug_info("request", "%s", "request-file\n")
7849  *     if request_cbs.has_key("request-file"):             # <<<<<<<<<<<<<<
7850  *         (<object> request_cbs["request-file"])("request-file: TODO")
7851  * 
7852  */
7853   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
7854   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
7855   Py_DECREF(__pyx_1); __pyx_1 = 0;
7856   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
7857   Py_INCREF(__pyx_kp_336);
7858   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_336);
7859   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
7860   Py_DECREF(__pyx_2); __pyx_2 = 0;
7861   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7862   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
7863   Py_DECREF(__pyx_3); __pyx_3 = 0;
7864   if (__pyx_4) {
7865
7866     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":91
7867  *     debug.purple_debug_info("request", "%s", "request-file\n")
7868  *     if request_cbs.has_key("request-file"):
7869  *         (<object> request_cbs["request-file"])("request-file: TODO")             # <<<<<<<<<<<<<<
7870  * 
7871  * cdef void close_request(request.PurpleRequestType type, void *ui_handle):
7872  */
7873     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7874     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_337); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7875     Py_DECREF(__pyx_2); __pyx_2 = 0;
7876     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7877     Py_INCREF(__pyx_kp_338);
7878     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_338);
7879     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
7880     Py_DECREF(__pyx_1); __pyx_1 = 0;
7881     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7882     Py_DECREF(__pyx_2); __pyx_2 = 0;
7883     goto __pyx_L2;
7884   }
7885   __pyx_L2:;
7886
7887   __pyx_r = 0;
7888   goto __pyx_L0;
7889   __pyx_L1:;
7890   Py_XDECREF(__pyx_1);
7891   Py_XDECREF(__pyx_2);
7892   Py_XDECREF(__pyx_3);
7893   __Pyx_WriteUnraisable("purple.request_file");
7894   __pyx_r = 0;
7895   __pyx_L0:;
7896   return __pyx_r;
7897 }
7898
7899 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":93
7900  *         (<object> request_cbs["request-file"])("request-file: TODO")
7901  * 
7902  * cdef void close_request(request.PurpleRequestType type, void *ui_handle):             # <<<<<<<<<<<<<<
7903  *     """
7904  *     TODO
7905  */
7906
7907 static PyObject *__pyx_kp_342;
7908 static PyObject *__pyx_kp_343;
7909 static PyObject *__pyx_kp_344;
7910
7911 static char __pyx_k_339[] = "request";
7912 static char __pyx_k_340[] = "%s";
7913 static char __pyx_k_341[] = "close-request\n";
7914 static char __pyx_k_342[] = "close-request";
7915 static char __pyx_k_343[] = "close-request";
7916 static char __pyx_k_344[] = "close-request: TODO";
7917
7918 static  void __pyx_f_6purple_close_request(PurpleRequestType __pyx_v_type, void *__pyx_v_ui_handle) {
7919   PyObject *__pyx_1 = 0;
7920   PyObject *__pyx_2 = 0;
7921   PyObject *__pyx_3 = 0;
7922   int __pyx_4;
7923
7924   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":97
7925  *     TODO
7926  *     """
7927  *     debug.purple_debug_info("request", "%s", "close-request\n")             # <<<<<<<<<<<<<<
7928  *     if request_cbs.has_key("close-request"):
7929  *         (<object> request_cbs["close-request"])("close-request: TODO")
7930  */
7931   purple_debug_info(__pyx_k_339, __pyx_k_340, __pyx_k_341);
7932
7933   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":98
7934  *     """
7935  *     debug.purple_debug_info("request", "%s", "close-request\n")
7936  *     if request_cbs.has_key("close-request"):             # <<<<<<<<<<<<<<
7937  *         (<object> request_cbs["close-request"])("close-request: TODO")
7938  * 
7939  */
7940   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
7941   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
7942   Py_DECREF(__pyx_1); __pyx_1 = 0;
7943   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
7944   Py_INCREF(__pyx_kp_342);
7945   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_342);
7946   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
7947   Py_DECREF(__pyx_2); __pyx_2 = 0;
7948   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
7949   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1;}
7950   Py_DECREF(__pyx_3); __pyx_3 = 0;
7951   if (__pyx_4) {
7952
7953     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":99
7954  *     debug.purple_debug_info("request", "%s", "close-request\n")
7955  *     if request_cbs.has_key("close-request"):
7956  *         (<object> request_cbs["close-request"])("close-request: TODO")             # <<<<<<<<<<<<<<
7957  * 
7958  * cdef void *request_folder(const_char *title, const_char *dirname, \
7959  */
7960     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7961     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_343); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7962     Py_DECREF(__pyx_2); __pyx_2 = 0;
7963     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7964     Py_INCREF(__pyx_kp_344);
7965     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_344);
7966     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
7967     Py_DECREF(__pyx_1); __pyx_1 = 0;
7968     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
7969     Py_DECREF(__pyx_2); __pyx_2 = 0;
7970     goto __pyx_L2;
7971   }
7972   __pyx_L2:;
7973
7974   goto __pyx_L0;
7975   __pyx_L1:;
7976   Py_XDECREF(__pyx_1);
7977   Py_XDECREF(__pyx_2);
7978   Py_XDECREF(__pyx_3);
7979   __Pyx_WriteUnraisable("purple.close_request");
7980   __pyx_L0:;
7981 }
7982
7983 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":101
7984  *         (<object> request_cbs["close-request"])("close-request: TODO")
7985  * 
7986  * cdef void *request_folder(const_char *title, const_char *dirname, \             # <<<<<<<<<<<<<<
7987  *         glib.GCallback ok_cb, glib.GCallback cancel_cb, \
7988  *         account.PurpleAccount *account, const_char *who, \
7989  */
7990
7991 static PyObject *__pyx_kp_348;
7992 static PyObject *__pyx_kp_349;
7993 static PyObject *__pyx_kp_350;
7994
7995 static char __pyx_k_345[] = "request";
7996 static char __pyx_k_346[] = "%s";
7997 static char __pyx_k_347[] = "request-folder\n";
7998 static char __pyx_k_348[] = "request-folder";
7999 static char __pyx_k_349[] = "request-folder";
8000 static char __pyx_k_350[] = "request-folder: TODO";
8001
8002 static  void *__pyx_f_6purple_request_folder(const char *__pyx_v_title, const char *__pyx_v_dirname, GCallback __pyx_v_ok_cb, GCallback __pyx_v_cancel_cb, PurpleAccount *__pyx_v_account, const char *__pyx_v_who, PurpleConversation *__pyx_v_conv, void *__pyx_v_user_data) {
8003   void *__pyx_r;
8004   PyObject *__pyx_1 = 0;
8005   PyObject *__pyx_2 = 0;
8006   PyObject *__pyx_3 = 0;
8007   int __pyx_4;
8008
8009   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":108
8010  *     @see purple_request_folder().
8011  *     """
8012  *     debug.purple_debug_info("request", "%s", "request-folder\n")             # <<<<<<<<<<<<<<
8013  *     if request_cbs.has_key("request-folder"):
8014  *         (<object> request_cbs["request-folder"])("request-folder: TODO")
8015  */
8016   purple_debug_info(__pyx_k_345, __pyx_k_346, __pyx_k_347);
8017
8018   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":109
8019  *     """
8020  *     debug.purple_debug_info("request", "%s", "request-folder\n")
8021  *     if request_cbs.has_key("request-folder"):             # <<<<<<<<<<<<<<
8022  *         (<object> request_cbs["request-folder"])("request-folder: TODO")
8023  */
8024   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
8025   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
8026   Py_DECREF(__pyx_1); __pyx_1 = 0;
8027   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
8028   Py_INCREF(__pyx_kp_348);
8029   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_348);
8030   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
8031   Py_DECREF(__pyx_2); __pyx_2 = 0;
8032   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
8033   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
8034   Py_DECREF(__pyx_3); __pyx_3 = 0;
8035   if (__pyx_4) {
8036
8037     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":110
8038  *     debug.purple_debug_info("request", "%s", "request-folder\n")
8039  *     if request_cbs.has_key("request-folder"):
8040  *         (<object> request_cbs["request-folder"])("request-folder: TODO")             # <<<<<<<<<<<<<<
8041  */
8042     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
8043     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_349); if (!__pyx_1) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
8044     Py_DECREF(__pyx_2); __pyx_2 = 0;
8045     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
8046     Py_INCREF(__pyx_kp_350);
8047     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_kp_350);
8048     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1;}
8049     Py_DECREF(__pyx_1); __pyx_1 = 0;
8050     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
8051     Py_DECREF(__pyx_2); __pyx_2 = 0;
8052     goto __pyx_L2;
8053   }
8054   __pyx_L2:;
8055
8056   __pyx_r = 0;
8057   goto __pyx_L0;
8058   __pyx_L1:;
8059   Py_XDECREF(__pyx_1);
8060   Py_XDECREF(__pyx_2);
8061   Py_XDECREF(__pyx_3);
8062   __Pyx_WriteUnraisable("purple.request_folder");
8063   __pyx_r = 0;
8064   __pyx_L0:;
8065   return __pyx_r;
8066 }
8067
8068 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":27
8069  *     ctypedef char const_gchar "const gchar"
8070  * 
8071  * cdef void signal_signed_on_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
8072  *         glib.gpointer null):
8073  *     """
8074  */
8075
8076 static PyObject *__pyx_kp_351;
8077 static PyObject *__pyx_kp_352;
8078
8079 static char __pyx_k_351[] = "signed-on";
8080 static char __pyx_k_352[] = "signed-on";
8081
8082 static  void __pyx_f_6purple_signal_signed_on_cb(PurpleConnection *__pyx_v_gc, gpointer __pyx_v_null) {
8083   PurpleAccount *__pyx_v_acc;
8084   char *__pyx_v_c_username;
8085   char *__pyx_v_c_protocol_id;
8086   PyObject *__pyx_v_username;
8087   PyObject *__pyx_v_protocol_id;
8088   int __pyx_1;
8089   PyObject *__pyx_2 = 0;
8090   PyObject *__pyx_3 = 0;
8091   PyObject *__pyx_4 = 0;
8092   __pyx_v_username = Py_None; Py_INCREF(Py_None);
8093   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
8094
8095   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":33
8096  *     @params gc  The connection that has signed on.
8097  *     """
8098  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)             # <<<<<<<<<<<<<<
8099  *     cdef char *c_username = NULL
8100  *     cdef char *c_protocol_id = NULL
8101  */
8102   __pyx_v_acc = purple_connection_get_account(__pyx_v_gc);
8103
8104
8105   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":34
8106  *     """
8107  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
8108  *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
8109  *     cdef char *c_protocol_id = NULL
8110  * 
8111  */
8112   __pyx_v_c_username = NULL;
8113
8114
8115   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":35
8116  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
8117  *     cdef char *c_username = NULL
8118  *     cdef char *c_protocol_id = NULL             # <<<<<<<<<<<<<<
8119  * 
8120  *     c_username = <char *> account.purple_account_get_username(acc)
8121  */
8122   __pyx_v_c_protocol_id = NULL;
8123
8124
8125   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":37
8126  *     cdef char *c_protocol_id = NULL
8127  * 
8128  *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
8129  *     if c_username == NULL:
8130  *         username = None
8131  */
8132   __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
8133
8134   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":38
8135  * 
8136  *     c_username = <char *> account.purple_account_get_username(acc)
8137  *     if c_username == NULL:             # <<<<<<<<<<<<<<
8138  *         username = None
8139  *     else:
8140  */
8141   __pyx_1 = (__pyx_v_c_username == NULL);
8142   if (__pyx_1) {
8143
8144     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":39
8145  *     c_username = <char *> account.purple_account_get_username(acc)
8146  *     if c_username == NULL:
8147  *         username = None             # <<<<<<<<<<<<<<
8148  *     else:
8149  *         username = c_username
8150  */
8151     Py_INCREF(Py_None);
8152     Py_DECREF(__pyx_v_username);
8153     __pyx_v_username = Py_None;
8154     goto __pyx_L2;
8155   }
8156   /*else*/ {
8157
8158     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":41
8159  *         username = None
8160  *     else:
8161  *         username = c_username             # <<<<<<<<<<<<<<
8162  * 
8163  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8164  */
8165     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
8166     Py_DECREF(__pyx_v_username);
8167     __pyx_v_username = __pyx_2;
8168     __pyx_2 = 0;
8169   }
8170   __pyx_L2:;
8171
8172   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":43
8173  *         username = c_username
8174  * 
8175  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
8176  *     if c_protocol_id == NULL:
8177  *         protocol_id = None
8178  */
8179   __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
8180
8181   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":44
8182  * 
8183  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8184  *     if c_protocol_id == NULL:             # <<<<<<<<<<<<<<
8185  *         protocol_id = None
8186  *     else:
8187  */
8188   __pyx_1 = (__pyx_v_c_protocol_id == NULL);
8189   if (__pyx_1) {
8190
8191     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":45
8192  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8193  *     if c_protocol_id == NULL:
8194  *         protocol_id = None             # <<<<<<<<<<<<<<
8195  *     else:
8196  *         protocol_id = c_protocol_id
8197  */
8198     Py_INCREF(Py_None);
8199     Py_DECREF(__pyx_v_protocol_id);
8200     __pyx_v_protocol_id = Py_None;
8201     goto __pyx_L3;
8202   }
8203   /*else*/ {
8204
8205     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":47
8206  *         protocol_id = None
8207  *     else:
8208  *         protocol_id = c_protocol_id             # <<<<<<<<<<<<<<
8209  * 
8210  *     if signal_cbs.has_key("signed-on"):
8211  */
8212     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_protocol_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
8213     Py_DECREF(__pyx_v_protocol_id);
8214     __pyx_v_protocol_id = __pyx_2;
8215     __pyx_2 = 0;
8216   }
8217   __pyx_L3:;
8218
8219   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":49
8220  *         protocol_id = c_protocol_id
8221  * 
8222  *     if signal_cbs.has_key("signed-on"):             # <<<<<<<<<<<<<<
8223  *         (<object> signal_cbs["signed-on"])(username, protocol_id)
8224  * 
8225  */
8226   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
8227   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
8228   Py_DECREF(__pyx_2); __pyx_2 = 0;
8229   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
8230   Py_INCREF(__pyx_kp_351);
8231   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_351);
8232   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
8233   Py_DECREF(__pyx_3); __pyx_3 = 0;
8234   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
8235   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
8236   Py_DECREF(__pyx_4); __pyx_4 = 0;
8237   if (__pyx_1) {
8238
8239     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":50
8240  * 
8241  *     if signal_cbs.has_key("signed-on"):
8242  *         (<object> signal_cbs["signed-on"])(username, protocol_id)             # <<<<<<<<<<<<<<
8243  * 
8244  * cdef void signal_signed_off_cb(connection.PurpleConnection *gc, \
8245  */
8246     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
8247     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_352); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
8248     Py_DECREF(__pyx_3); __pyx_3 = 0;
8249     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
8250     Py_INCREF(__pyx_v_username);
8251     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
8252     Py_INCREF(__pyx_v_protocol_id);
8253     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
8254     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
8255     Py_DECREF(__pyx_2); __pyx_2 = 0;
8256     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
8257     Py_DECREF(__pyx_3); __pyx_3 = 0;
8258     goto __pyx_L4;
8259   }
8260   __pyx_L4:;
8261
8262   goto __pyx_L0;
8263   __pyx_L1:;
8264   Py_XDECREF(__pyx_2);
8265   Py_XDECREF(__pyx_3);
8266   Py_XDECREF(__pyx_4);
8267   __Pyx_WriteUnraisable("purple.signal_signed_on_cb");
8268   __pyx_L0:;
8269   Py_DECREF(__pyx_v_username);
8270   Py_DECREF(__pyx_v_protocol_id);
8271 }
8272
8273 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":52
8274  *         (<object> signal_cbs["signed-on"])(username, protocol_id)
8275  * 
8276  * cdef void signal_signed_off_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
8277  *         glib.gpointer null):
8278  *     """
8279  */
8280
8281 static PyObject *__pyx_kp_353;
8282 static PyObject *__pyx_kp_354;
8283
8284 static char __pyx_k_353[] = "signed-off";
8285 static char __pyx_k_354[] = "signed-off";
8286
8287 static  void __pyx_f_6purple_signal_signed_off_cb(PurpleConnection *__pyx_v_gc, gpointer __pyx_v_null) {
8288   PurpleAccount *__pyx_v_acc;
8289   char *__pyx_v_c_username;
8290   char *__pyx_v_c_protocol_id;
8291   PyObject *__pyx_v_username;
8292   PyObject *__pyx_v_protocol_id;
8293   int __pyx_1;
8294   PyObject *__pyx_2 = 0;
8295   PyObject *__pyx_3 = 0;
8296   PyObject *__pyx_4 = 0;
8297   __pyx_v_username = Py_None; Py_INCREF(Py_None);
8298   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
8299
8300   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":58
8301  *     @params gc  The connection that has signed off.
8302  *     """
8303  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)             # <<<<<<<<<<<<<<
8304  *     cdef char *c_username = NULL
8305  *     cdef char *c_protocol_id = NULL
8306  */
8307   __pyx_v_acc = purple_connection_get_account(__pyx_v_gc);
8308
8309
8310   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":59
8311  *     """
8312  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
8313  *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
8314  *     cdef char *c_protocol_id = NULL
8315  * 
8316  */
8317   __pyx_v_c_username = NULL;
8318
8319
8320   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":60
8321  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
8322  *     cdef char *c_username = NULL
8323  *     cdef char *c_protocol_id = NULL             # <<<<<<<<<<<<<<
8324  * 
8325  *     c_username = <char *> account.purple_account_get_username(acc)
8326  */
8327   __pyx_v_c_protocol_id = NULL;
8328
8329
8330   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":62
8331  *     cdef char *c_protocol_id = NULL
8332  * 
8333  *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
8334  *     if c_username == NULL:
8335  *         username = None
8336  */
8337   __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
8338
8339   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":63
8340  * 
8341  *     c_username = <char *> account.purple_account_get_username(acc)
8342  *     if c_username == NULL:             # <<<<<<<<<<<<<<
8343  *         username = None
8344  *     else:
8345  */
8346   __pyx_1 = (__pyx_v_c_username == NULL);
8347   if (__pyx_1) {
8348
8349     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":64
8350  *     c_username = <char *> account.purple_account_get_username(acc)
8351  *     if c_username == NULL:
8352  *         username = None             # <<<<<<<<<<<<<<
8353  *     else:
8354  *         username = c_username
8355  */
8356     Py_INCREF(Py_None);
8357     Py_DECREF(__pyx_v_username);
8358     __pyx_v_username = Py_None;
8359     goto __pyx_L2;
8360   }
8361   /*else*/ {
8362
8363     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":66
8364  *         username = None
8365  *     else:
8366  *         username = c_username             # <<<<<<<<<<<<<<
8367  * 
8368  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8369  */
8370     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
8371     Py_DECREF(__pyx_v_username);
8372     __pyx_v_username = __pyx_2;
8373     __pyx_2 = 0;
8374   }
8375   __pyx_L2:;
8376
8377   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":68
8378  *         username = c_username
8379  * 
8380  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
8381  *     if c_protocol_id == NULL:
8382  *         protocol_id = None
8383  */
8384   __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
8385
8386   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":69
8387  * 
8388  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8389  *     if c_protocol_id == NULL:             # <<<<<<<<<<<<<<
8390  *         protocol_id = None
8391  *     else:
8392  */
8393   __pyx_1 = (__pyx_v_c_protocol_id == NULL);
8394   if (__pyx_1) {
8395
8396     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":70
8397  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8398  *     if c_protocol_id == NULL:
8399  *         protocol_id = None             # <<<<<<<<<<<<<<
8400  *     else:
8401  *         protocol_id = c_protocol_id
8402  */
8403     Py_INCREF(Py_None);
8404     Py_DECREF(__pyx_v_protocol_id);
8405     __pyx_v_protocol_id = Py_None;
8406     goto __pyx_L3;
8407   }
8408   /*else*/ {
8409
8410     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":72
8411  *         protocol_id = None
8412  *     else:
8413  *         protocol_id = c_protocol_id             # <<<<<<<<<<<<<<
8414  * 
8415  *     if signal_cbs.has_key("signed-off"):
8416  */
8417     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_protocol_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
8418     Py_DECREF(__pyx_v_protocol_id);
8419     __pyx_v_protocol_id = __pyx_2;
8420     __pyx_2 = 0;
8421   }
8422   __pyx_L3:;
8423
8424   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":74
8425  *         protocol_id = c_protocol_id
8426  * 
8427  *     if signal_cbs.has_key("signed-off"):             # <<<<<<<<<<<<<<
8428  *         (<object> signal_cbs["signed-off"])(username, protocol_id)
8429  * 
8430  */
8431   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
8432   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
8433   Py_DECREF(__pyx_2); __pyx_2 = 0;
8434   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
8435   Py_INCREF(__pyx_kp_353);
8436   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_353);
8437   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
8438   Py_DECREF(__pyx_3); __pyx_3 = 0;
8439   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
8440   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1;}
8441   Py_DECREF(__pyx_4); __pyx_4 = 0;
8442   if (__pyx_1) {
8443
8444     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":75
8445  * 
8446  *     if signal_cbs.has_key("signed-off"):
8447  *         (<object> signal_cbs["signed-off"])(username, protocol_id)             # <<<<<<<<<<<<<<
8448  * 
8449  * cdef void signal_connection_error_cb(connection.PurpleConnection *gc, \
8450  */
8451     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
8452     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_354); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
8453     Py_DECREF(__pyx_3); __pyx_3 = 0;
8454     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
8455     Py_INCREF(__pyx_v_username);
8456     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_username);
8457     Py_INCREF(__pyx_v_protocol_id);
8458     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_protocol_id);
8459     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1;}
8460     Py_DECREF(__pyx_2); __pyx_2 = 0;
8461     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
8462     Py_DECREF(__pyx_3); __pyx_3 = 0;
8463     goto __pyx_L4;
8464   }
8465   __pyx_L4:;
8466
8467   goto __pyx_L0;
8468   __pyx_L1:;
8469   Py_XDECREF(__pyx_2);
8470   Py_XDECREF(__pyx_3);
8471   Py_XDECREF(__pyx_4);
8472   __Pyx_WriteUnraisable("purple.signal_signed_off_cb");
8473   __pyx_L0:;
8474   Py_DECREF(__pyx_v_username);
8475   Py_DECREF(__pyx_v_protocol_id);
8476 }
8477
8478 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":77
8479  *         (<object> signal_cbs["signed-off"])(username, protocol_id)
8480  * 
8481  * cdef void signal_connection_error_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
8482  *         connection.PurpleConnectionError err, const_gchar *c_desc):
8483  *     """
8484  */
8485
8486 static PyObject *__pyx_kp_355;
8487 static PyObject *__pyx_kp_356;
8488 static PyObject *__pyx_kp_357;
8489 static PyObject *__pyx_kp_358;
8490 static PyObject *__pyx_kp_359;
8491 static PyObject *__pyx_kp_360;
8492 static PyObject *__pyx_kp_361;
8493 static PyObject *__pyx_kp_362;
8494 static PyObject *__pyx_kp_363;
8495 static PyObject *__pyx_kp_364;
8496 static PyObject *__pyx_kp_365;
8497 static PyObject *__pyx_kp_366;
8498 static PyObject *__pyx_kp_367;
8499 static PyObject *__pyx_kp_368;
8500 static PyObject *__pyx_kp_369;
8501 static PyObject *__pyx_kp_370;
8502 static PyObject *__pyx_kp_371;
8503 static PyObject *__pyx_kp_372;
8504 static PyObject *__pyx_kp_373;
8505
8506 static char __pyx_k_355[] = "Network error";
8507 static char __pyx_k_356[] = "Invalid username";
8508 static char __pyx_k_357[] = "Authentication failed";
8509 static char __pyx_k_358[] = "Authentication impossible";
8510 static char __pyx_k_359[] = "No SSL support";
8511 static char __pyx_k_360[] = "Encryption error";
8512 static char __pyx_k_361[] = "Name in use";
8513 static char __pyx_k_362[] = "Invalid settings";
8514 static char __pyx_k_363[] = "SSL certificate not provided";
8515 static char __pyx_k_364[] = "SSL certificate untrusted";
8516 static char __pyx_k_365[] = "SSL certificate expired";
8517 static char __pyx_k_366[] = "SSL certificate not activated";
8518 static char __pyx_k_367[] = "SSL certificate hostname mismatch";
8519 static char __pyx_k_368[] = "SSL certificate fingerprint mismatch";
8520 static char __pyx_k_369[] = "SSL certificate self signed";
8521 static char __pyx_k_370[] = "SSL certificate other error";
8522 static char __pyx_k_371[] = "Other error";
8523 static char __pyx_k_372[] = "connection-error";
8524 static char __pyx_k_373[] = "connection-error";
8525
8526 static  void __pyx_f_6purple_signal_connection_error_cb(PurpleConnection *__pyx_v_gc, PurpleConnectionError __pyx_v_err, const gchar *__pyx_v_c_desc) {
8527   PurpleAccount *__pyx_v_acc;
8528   char *__pyx_v_c_username;
8529   char *__pyx_v_c_protocol_id;
8530   PyObject *__pyx_v_username;
8531   PyObject *__pyx_v_protocol_id;
8532   PyObject *__pyx_v_short_desc;
8533   PyObject *__pyx_v_desc;
8534   int __pyx_1;
8535   PyObject *__pyx_2 = 0;
8536   int __pyx_3;
8537   PyObject *__pyx_4 = 0;
8538   PyObject *__pyx_5 = 0;
8539   __pyx_v_username = Py_None; Py_INCREF(Py_None);
8540   __pyx_v_protocol_id = Py_None; Py_INCREF(Py_None);
8541   __pyx_v_short_desc = Py_None; Py_INCREF(Py_None);
8542   __pyx_v_desc = Py_None; Py_INCREF(Py_None);
8543
8544   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":85
8545  *     @params desc A description of the error, giving more information
8546  *     """
8547  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)             # <<<<<<<<<<<<<<
8548  *     cdef char *c_username = NULL
8549  *     cdef char *c_protocol_id = NULL
8550  */
8551   __pyx_v_acc = purple_connection_get_account(__pyx_v_gc);
8552
8553
8554   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":86
8555  *     """
8556  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
8557  *     cdef char *c_username = NULL             # <<<<<<<<<<<<<<
8558  *     cdef char *c_protocol_id = NULL
8559  * 
8560  */
8561   __pyx_v_c_username = NULL;
8562
8563
8564   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":87
8565  *     cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
8566  *     cdef char *c_username = NULL
8567  *     cdef char *c_protocol_id = NULL             # <<<<<<<<<<<<<<
8568  * 
8569  *     c_username = <char *> account.purple_account_get_username(acc)
8570  */
8571   __pyx_v_c_protocol_id = NULL;
8572
8573
8574   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":89
8575  *     cdef char *c_protocol_id = NULL
8576  * 
8577  *     c_username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
8578  *     if c_username:
8579  *         username = <char *> c_username
8580  */
8581   __pyx_v_c_username = ((char *)purple_account_get_username(__pyx_v_acc));
8582
8583   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":90
8584  * 
8585  *     c_username = <char *> account.purple_account_get_username(acc)
8586  *     if c_username:             # <<<<<<<<<<<<<<
8587  *         username = <char *> c_username
8588  *     else:
8589  */
8590   __pyx_1 = (__pyx_v_c_username != 0);
8591   if (__pyx_1) {
8592
8593     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":91
8594  *     c_username = <char *> account.purple_account_get_username(acc)
8595  *     if c_username:
8596  *         username = <char *> c_username             # <<<<<<<<<<<<<<
8597  *     else:
8598  *         username = None
8599  */
8600     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_username)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1;}
8601     Py_DECREF(__pyx_v_username);
8602     __pyx_v_username = __pyx_2;
8603     __pyx_2 = 0;
8604     goto __pyx_L2;
8605   }
8606   /*else*/ {
8607
8608     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":93
8609  *         username = <char *> c_username
8610  *     else:
8611  *         username = None             # <<<<<<<<<<<<<<
8612  * 
8613  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8614  */
8615     Py_INCREF(Py_None);
8616     Py_DECREF(__pyx_v_username);
8617     __pyx_v_username = Py_None;
8618   }
8619   __pyx_L2:;
8620
8621   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":95
8622  *         username = None
8623  * 
8624  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
8625  *     if c_protocol_id:
8626  *         protocol_id = <char *> c_protocol_id
8627  */
8628   __pyx_v_c_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
8629
8630   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":96
8631  * 
8632  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8633  *     if c_protocol_id:             # <<<<<<<<<<<<<<
8634  *         protocol_id = <char *> c_protocol_id
8635  *     else:
8636  */
8637   __pyx_1 = (__pyx_v_c_protocol_id != 0);
8638   if (__pyx_1) {
8639
8640     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":97
8641  *     c_protocol_id = <char *> account.purple_account_get_protocol_id(acc)
8642  *     if c_protocol_id:
8643  *         protocol_id = <char *> c_protocol_id             # <<<<<<<<<<<<<<
8644  *     else:
8645  *         protocol_id = None
8646  */
8647     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_protocol_id)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1;}
8648     Py_DECREF(__pyx_v_protocol_id);
8649     __pyx_v_protocol_id = __pyx_2;
8650     __pyx_2 = 0;
8651     goto __pyx_L3;
8652   }
8653   /*else*/ {
8654
8655     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":99
8656  *         protocol_id = <char *> c_protocol_id
8657  *     else:
8658  *         protocol_id = None             # <<<<<<<<<<<<<<
8659  * 
8660  *     short_desc = {
8661  */
8662     Py_INCREF(Py_None);
8663     Py_DECREF(__pyx_v_protocol_id);
8664     __pyx_v_protocol_id = Py_None;
8665   }
8666   __pyx_L3:;
8667
8668   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":118
8669  *         14: "SSL certificate self signed",
8670  *         15: "SSL certificate other error",
8671  *         16: "Other error" }[<int> err]             # <<<<<<<<<<<<<<
8672  * 
8673  *     if c_desc:
8674  */
8675   __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8676
8677   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":102
8678  * 
8679  *     short_desc = {
8680  *         0: "Network error",             # <<<<<<<<<<<<<<
8681  *         1: "Invalid username",
8682  *         2: "Authentication failed",
8683  */
8684   if (PyDict_SetItem(__pyx_2, __pyx_int_0, __pyx_kp_355) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8685
8686   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":103
8687  *     short_desc = {
8688  *         0: "Network error",
8689  *         1: "Invalid username",             # <<<<<<<<<<<<<<
8690  *         2: "Authentication failed",
8691  *         3: "Authentication impossible",
8692  */
8693   if (PyDict_SetItem(__pyx_2, __pyx_int_1, __pyx_kp_356) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8694
8695   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":104
8696  *         0: "Network error",
8697  *         1: "Invalid username",
8698  *         2: "Authentication failed",             # <<<<<<<<<<<<<<
8699  *         3: "Authentication impossible",
8700  *         4: "No SSL support",
8701  */
8702   if (PyDict_SetItem(__pyx_2, __pyx_int_2, __pyx_kp_357) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8703
8704   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":105
8705  *         1: "Invalid username",
8706  *         2: "Authentication failed",
8707  *         3: "Authentication impossible",             # <<<<<<<<<<<<<<
8708  *         4: "No SSL support",
8709  *         5: "Encryption error",
8710  */
8711   if (PyDict_SetItem(__pyx_2, __pyx_int_3, __pyx_kp_358) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8712
8713   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":106
8714  *         2: "Authentication failed",
8715  *         3: "Authentication impossible",
8716  *         4: "No SSL support",             # <<<<<<<<<<<<<<
8717  *         5: "Encryption error",
8718  *         6: "Name in use",
8719  */
8720   if (PyDict_SetItem(__pyx_2, __pyx_int_4, __pyx_kp_359) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8721
8722   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":107
8723  *         3: "Authentication impossible",
8724  *         4: "No SSL support",
8725  *         5: "Encryption error",             # <<<<<<<<<<<<<<
8726  *         6: "Name in use",
8727  *         7: "Invalid settings",
8728  */
8729   if (PyDict_SetItem(__pyx_2, __pyx_int_5, __pyx_kp_360) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8730
8731   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":108
8732  *         4: "No SSL support",
8733  *         5: "Encryption error",
8734  *         6: "Name in use",             # <<<<<<<<<<<<<<
8735  *         7: "Invalid settings",
8736  *         8: "SSL certificate not provided",
8737  */
8738   if (PyDict_SetItem(__pyx_2, __pyx_int_6, __pyx_kp_361) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8739
8740   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":109
8741  *         5: "Encryption error",
8742  *         6: "Name in use",
8743  *         7: "Invalid settings",             # <<<<<<<<<<<<<<
8744  *         8: "SSL certificate not provided",
8745  *         9: "SSL certificate untrusted",
8746  */
8747   if (PyDict_SetItem(__pyx_2, __pyx_int_7, __pyx_kp_362) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8748
8749   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":110
8750  *         6: "Name in use",
8751  *         7: "Invalid settings",
8752  *         8: "SSL certificate not provided",             # <<<<<<<<<<<<<<
8753  *         9: "SSL certificate untrusted",
8754  *         10: "SSL certificate expired",
8755  */
8756   if (PyDict_SetItem(__pyx_2, __pyx_int_8, __pyx_kp_363) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8757
8758   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":111
8759  *         7: "Invalid settings",
8760  *         8: "SSL certificate not provided",
8761  *         9: "SSL certificate untrusted",             # <<<<<<<<<<<<<<
8762  *         10: "SSL certificate expired",
8763  *         11: "SSL certificate not activated",
8764  */
8765   if (PyDict_SetItem(__pyx_2, __pyx_int_9, __pyx_kp_364) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8766
8767   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":112
8768  *         8: "SSL certificate not provided",
8769  *         9: "SSL certificate untrusted",
8770  *         10: "SSL certificate expired",             # <<<<<<<<<<<<<<
8771  *         11: "SSL certificate not activated",
8772  *         12: "SSL certificate hostname mismatch",
8773  */
8774   if (PyDict_SetItem(__pyx_2, __pyx_int_10, __pyx_kp_365) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8775
8776   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":113
8777  *         9: "SSL certificate untrusted",
8778  *         10: "SSL certificate expired",
8779  *         11: "SSL certificate not activated",             # <<<<<<<<<<<<<<
8780  *         12: "SSL certificate hostname mismatch",
8781  *         13: "SSL certificate fingerprint mismatch",
8782  */
8783   if (PyDict_SetItem(__pyx_2, __pyx_int_11, __pyx_kp_366) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8784
8785   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":114
8786  *         10: "SSL certificate expired",
8787  *         11: "SSL certificate not activated",
8788  *         12: "SSL certificate hostname mismatch",             # <<<<<<<<<<<<<<
8789  *         13: "SSL certificate fingerprint mismatch",
8790  *         14: "SSL certificate self signed",
8791  */
8792   if (PyDict_SetItem(__pyx_2, __pyx_int_12, __pyx_kp_367) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8793
8794   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":115
8795  *         11: "SSL certificate not activated",
8796  *         12: "SSL certificate hostname mismatch",
8797  *         13: "SSL certificate fingerprint mismatch",             # <<<<<<<<<<<<<<
8798  *         14: "SSL certificate self signed",
8799  *         15: "SSL certificate other error",
8800  */
8801   if (PyDict_SetItem(__pyx_2, __pyx_int_13, __pyx_kp_368) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8802
8803   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":116
8804  *         12: "SSL certificate hostname mismatch",
8805  *         13: "SSL certificate fingerprint mismatch",
8806  *         14: "SSL certificate self signed",             # <<<<<<<<<<<<<<
8807  *         15: "SSL certificate other error",
8808  *         16: "Other error" }[<int> err]
8809  */
8810   if (PyDict_SetItem(__pyx_2, __pyx_int_14, __pyx_kp_369) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8811
8812   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":117
8813  *         13: "SSL certificate fingerprint mismatch",
8814  *         14: "SSL certificate self signed",
8815  *         15: "SSL certificate other error",             # <<<<<<<<<<<<<<
8816  *         16: "Other error" }[<int> err]
8817  * 
8818  */
8819   if (PyDict_SetItem(__pyx_2, __pyx_int_15, __pyx_kp_370) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8820
8821   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":118
8822  *         14: "SSL certificate self signed",
8823  *         15: "SSL certificate other error",
8824  *         16: "Other error" }[<int> err]             # <<<<<<<<<<<<<<
8825  * 
8826  *     if c_desc:
8827  */
8828   if (PyDict_SetItem(__pyx_2, __pyx_int_16, __pyx_kp_371) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1;}
8829   __pyx_3 = ((int)__pyx_v_err);
8830   __pyx_4 = __Pyx_GetItemInt(((PyObject *)__pyx_2), __pyx_3, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1;}
8831   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
8832   Py_DECREF(__pyx_v_short_desc);
8833   __pyx_v_short_desc = __pyx_4;
8834   __pyx_4 = 0;
8835
8836   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":120
8837  *         16: "Other error" }[<int> err]
8838  * 
8839  *     if c_desc:             # <<<<<<<<<<<<<<
8840  *         desc = str(<char *> c_desc)
8841  *     else:
8842  */
8843   __pyx_1 = (__pyx_v_c_desc != 0);
8844   if (__pyx_1) {
8845
8846     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":121
8847  * 
8848  *     if c_desc:
8849  *         desc = str(<char *> c_desc)             # <<<<<<<<<<<<<<
8850  *     else:
8851  *         desc = None
8852  */
8853     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_c_desc)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
8854     __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
8855     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
8856     __pyx_2 = 0;
8857     __pyx_2 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
8858     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
8859     Py_DECREF(__pyx_v_desc);
8860     __pyx_v_desc = __pyx_2;
8861     __pyx_2 = 0;
8862     goto __pyx_L4;
8863   }
8864   /*else*/ {
8865
8866     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":123
8867  *         desc = str(<char *> c_desc)
8868  *     else:
8869  *         desc = None             # <<<<<<<<<<<<<<
8870  * 
8871  *     if signal_cbs.has_key("connection-error"):
8872  */
8873     Py_INCREF(Py_None);
8874     Py_DECREF(__pyx_v_desc);
8875     __pyx_v_desc = Py_None;
8876   }
8877   __pyx_L4:;
8878
8879   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":125
8880  *         desc = None
8881  * 
8882  *     if signal_cbs.has_key("connection-error"):             # <<<<<<<<<<<<<<
8883  *         (<object> signal_cbs["connection-error"])(username, protocol_id, \
8884  *                 short_desc, desc)
8885  */
8886   __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
8887   __pyx_2 = PyObject_GetAttr(__pyx_4, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
8888   Py_DECREF(__pyx_4); __pyx_4 = 0;
8889   __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
8890   Py_INCREF(__pyx_kp_372);
8891   PyTuple_SET_ITEM(__pyx_4, 0, __pyx_kp_372);
8892   __pyx_5 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
8893   Py_DECREF(__pyx_2); __pyx_2 = 0;
8894   Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
8895   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
8896   Py_DECREF(__pyx_5); __pyx_5 = 0;
8897   if (__pyx_1) {
8898
8899     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":126
8900  * 
8901  *     if signal_cbs.has_key("connection-error"):
8902  *         (<object> signal_cbs["connection-error"])(username, protocol_id, \             # <<<<<<<<<<<<<<
8903  *                 short_desc, desc)
8904  * 
8905  */
8906     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
8907     __pyx_4 = PyObject_GetItem(__pyx_2, __pyx_kp_373); if (!__pyx_4) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
8908     Py_DECREF(__pyx_2); __pyx_2 = 0;
8909
8910     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":127
8911  *     if signal_cbs.has_key("connection-error"):
8912  *         (<object> signal_cbs["connection-error"])(username, protocol_id, \
8913  *                 short_desc, desc)             # <<<<<<<<<<<<<<
8914  * 
8915  * cdef void signal_buddy_signed_on_cb(blist.PurpleBuddy *buddy):
8916  */
8917     __pyx_5 = PyTuple_New(4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
8918     Py_INCREF(__pyx_v_username);
8919     PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_username);
8920     Py_INCREF(__pyx_v_protocol_id);
8921     PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_protocol_id);
8922     Py_INCREF(__pyx_v_short_desc);
8923     PyTuple_SET_ITEM(__pyx_5, 2, __pyx_v_short_desc);
8924     Py_INCREF(__pyx_v_desc);
8925     PyTuple_SET_ITEM(__pyx_5, 3, __pyx_v_desc);
8926     __pyx_2 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1;}
8927     Py_DECREF(__pyx_4); __pyx_4 = 0;
8928     Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
8929     Py_DECREF(__pyx_2); __pyx_2 = 0;
8930     goto __pyx_L5;
8931   }
8932   __pyx_L5:;
8933
8934   goto __pyx_L0;
8935   __pyx_L1:;
8936   Py_XDECREF(__pyx_2);
8937   Py_XDECREF(__pyx_4);
8938   Py_XDECREF(__pyx_5);
8939   __Pyx_WriteUnraisable("purple.signal_connection_error_cb");
8940   __pyx_L0:;
8941   Py_DECREF(__pyx_v_username);
8942   Py_DECREF(__pyx_v_protocol_id);
8943   Py_DECREF(__pyx_v_short_desc);
8944   Py_DECREF(__pyx_v_desc);
8945 }
8946
8947 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":129
8948  *                 short_desc, desc)
8949  * 
8950  * cdef void signal_buddy_signed_on_cb(blist.PurpleBuddy *buddy):             # <<<<<<<<<<<<<<
8951  *     """
8952  *     Emitted when a buddy on your buddy list signs on.
8953  */
8954
8955 static PyObject *__pyx_kp_374;
8956 static PyObject *__pyx_kp_375;
8957
8958 static char __pyx_k_374[] = "buddy-signed-on";
8959 static char __pyx_k_375[] = "buddy-signed-on";
8960
8961 static  void __pyx_f_6purple_signal_buddy_signed_on_cb(PurpleBuddy *__pyx_v_buddy) {
8962   char *__pyx_v_c_name;
8963   char *__pyx_v_c_alias;
8964   PyObject *__pyx_v_name;
8965   PyObject *__pyx_v_alias;
8966   int __pyx_1;
8967   PyObject *__pyx_2 = 0;
8968   PyObject *__pyx_3 = 0;
8969   PyObject *__pyx_4 = 0;
8970   __pyx_v_name = Py_None; Py_INCREF(Py_None);
8971   __pyx_v_alias = Py_None; Py_INCREF(Py_None);
8972
8973   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":134
8974  *     @params buddy  The buddy that signed on.
8975  *     """
8976  *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
8977  *     cdef char *c_alias = NULL
8978  * 
8979  */
8980   __pyx_v_c_name = NULL;
8981
8982
8983   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":135
8984  *     """
8985  *     cdef char *c_name = NULL
8986  *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
8987  * 
8988  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
8989  */
8990   __pyx_v_c_alias = NULL;
8991
8992
8993   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":137
8994  *     cdef char *c_alias = NULL
8995  * 
8996  *     c_name = <char *> blist.purple_buddy_get_name(buddy)             # <<<<<<<<<<<<<<
8997  *     if c_name == NULL:
8998  *         name = None
8999  */
9000   __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
9001
9002   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":138
9003  * 
9004  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
9005  *     if c_name == NULL:             # <<<<<<<<<<<<<<
9006  *         name = None
9007  *     else:
9008  */
9009   __pyx_1 = (__pyx_v_c_name == NULL);
9010   if (__pyx_1) {
9011
9012     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":139
9013  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
9014  *     if c_name == NULL:
9015  *         name = None             # <<<<<<<<<<<<<<
9016  *     else:
9017  *         name = c_name
9018  */
9019     Py_INCREF(Py_None);
9020     Py_DECREF(__pyx_v_name);
9021     __pyx_v_name = Py_None;
9022     goto __pyx_L2;
9023   }
9024   /*else*/ {
9025
9026     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":141
9027  *         name = None
9028  *     else:
9029  *         name = c_name             # <<<<<<<<<<<<<<
9030  * 
9031  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9032  */
9033     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
9034     Py_DECREF(__pyx_v_name);
9035     __pyx_v_name = __pyx_2;
9036     __pyx_2 = 0;
9037   }
9038   __pyx_L2:;
9039
9040   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":143
9041  *         name = c_name
9042  * 
9043  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
9044  *     if c_alias == NULL:
9045  *         alias = None
9046  */
9047   __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
9048
9049   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":144
9050  * 
9051  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9052  *     if c_alias == NULL:             # <<<<<<<<<<<<<<
9053  *         alias = None
9054  *     else:
9055  */
9056   __pyx_1 = (__pyx_v_c_alias == NULL);
9057   if (__pyx_1) {
9058
9059     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":145
9060  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9061  *     if c_alias == NULL:
9062  *         alias = None             # <<<<<<<<<<<<<<
9063  *     else:
9064  *         alias = c_alias
9065  */
9066     Py_INCREF(Py_None);
9067     Py_DECREF(__pyx_v_alias);
9068     __pyx_v_alias = Py_None;
9069     goto __pyx_L3;
9070   }
9071   /*else*/ {
9072
9073     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":147
9074  *         alias = None
9075  *     else:
9076  *         alias = c_alias             # <<<<<<<<<<<<<<
9077  * 
9078  *     if signal_cbs.has_key("buddy-signed-on"):
9079  */
9080     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1;}
9081     Py_DECREF(__pyx_v_alias);
9082     __pyx_v_alias = __pyx_2;
9083     __pyx_2 = 0;
9084   }
9085   __pyx_L3:;
9086
9087   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":149
9088  *         alias = c_alias
9089  * 
9090  *     if signal_cbs.has_key("buddy-signed-on"):             # <<<<<<<<<<<<<<
9091  *         (<object> signal_cbs["buddy-signed-on"])(name, alias)
9092  * 
9093  */
9094   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
9095   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
9096   Py_DECREF(__pyx_2); __pyx_2 = 0;
9097   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
9098   Py_INCREF(__pyx_kp_374);
9099   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_374);
9100   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
9101   Py_DECREF(__pyx_3); __pyx_3 = 0;
9102   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
9103   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
9104   Py_DECREF(__pyx_4); __pyx_4 = 0;
9105   if (__pyx_1) {
9106
9107     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":150
9108  * 
9109  *     if signal_cbs.has_key("buddy-signed-on"):
9110  *         (<object> signal_cbs["buddy-signed-on"])(name, alias)             # <<<<<<<<<<<<<<
9111  * 
9112  * cdef void signal_buddy_signed_off_cb(blist.PurpleBuddy *buddy):
9113  */
9114     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
9115     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_375); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
9116     Py_DECREF(__pyx_3); __pyx_3 = 0;
9117     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
9118     Py_INCREF(__pyx_v_name);
9119     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name);
9120     Py_INCREF(__pyx_v_alias);
9121     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_alias);
9122     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1;}
9123     Py_DECREF(__pyx_2); __pyx_2 = 0;
9124     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
9125     Py_DECREF(__pyx_3); __pyx_3 = 0;
9126     goto __pyx_L4;
9127   }
9128   __pyx_L4:;
9129
9130   goto __pyx_L0;
9131   __pyx_L1:;
9132   Py_XDECREF(__pyx_2);
9133   Py_XDECREF(__pyx_3);
9134   Py_XDECREF(__pyx_4);
9135   __Pyx_WriteUnraisable("purple.signal_buddy_signed_on_cb");
9136   __pyx_L0:;
9137   Py_DECREF(__pyx_v_name);
9138   Py_DECREF(__pyx_v_alias);
9139 }
9140
9141 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":152
9142  *         (<object> signal_cbs["buddy-signed-on"])(name, alias)
9143  * 
9144  * cdef void signal_buddy_signed_off_cb(blist.PurpleBuddy *buddy):             # <<<<<<<<<<<<<<
9145  *     """
9146  *     Emitted when a buddy on your buddy list signs off.
9147  */
9148
9149 static PyObject *__pyx_kp_376;
9150 static PyObject *__pyx_kp_377;
9151
9152 static char __pyx_k_376[] = "buddy-signed-off";
9153 static char __pyx_k_377[] = "buddy-signed-off";
9154
9155 static  void __pyx_f_6purple_signal_buddy_signed_off_cb(PurpleBuddy *__pyx_v_buddy) {
9156   char *__pyx_v_c_name;
9157   char *__pyx_v_c_alias;
9158   PyObject *__pyx_v_name;
9159   PyObject *__pyx_v_alias;
9160   int __pyx_1;
9161   PyObject *__pyx_2 = 0;
9162   PyObject *__pyx_3 = 0;
9163   PyObject *__pyx_4 = 0;
9164   __pyx_v_name = Py_None; Py_INCREF(Py_None);
9165   __pyx_v_alias = Py_None; Py_INCREF(Py_None);
9166
9167   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":157
9168  *     @params buddy  The buddy that signed off.
9169  *     """
9170  *     cdef char *c_name = NULL             # <<<<<<<<<<<<<<
9171  *     cdef char *c_alias = NULL
9172  * 
9173  */
9174   __pyx_v_c_name = NULL;
9175
9176
9177   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":158
9178  *     """
9179  *     cdef char *c_name = NULL
9180  *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
9181  * 
9182  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
9183  */
9184   __pyx_v_c_alias = NULL;
9185
9186
9187   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":160
9188  *     cdef char *c_alias = NULL
9189  * 
9190  *     c_name = <char *> blist.purple_buddy_get_name(buddy)             # <<<<<<<<<<<<<<
9191  *     if c_name == NULL:
9192  *         name = None
9193  */
9194   __pyx_v_c_name = ((char *)purple_buddy_get_name(__pyx_v_buddy));
9195
9196   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":161
9197  * 
9198  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
9199  *     if c_name == NULL:             # <<<<<<<<<<<<<<
9200  *         name = None
9201  *     else:
9202  */
9203   __pyx_1 = (__pyx_v_c_name == NULL);
9204   if (__pyx_1) {
9205
9206     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":162
9207  *     c_name = <char *> blist.purple_buddy_get_name(buddy)
9208  *     if c_name == NULL:
9209  *         name = None             # <<<<<<<<<<<<<<
9210  *     else:
9211  *         name = c_name
9212  */
9213     Py_INCREF(Py_None);
9214     Py_DECREF(__pyx_v_name);
9215     __pyx_v_name = Py_None;
9216     goto __pyx_L2;
9217   }
9218   /*else*/ {
9219
9220     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":164
9221  *         name = None
9222  *     else:
9223  *         name = c_name             # <<<<<<<<<<<<<<
9224  * 
9225  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9226  */
9227     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1;}
9228     Py_DECREF(__pyx_v_name);
9229     __pyx_v_name = __pyx_2;
9230     __pyx_2 = 0;
9231   }
9232   __pyx_L2:;
9233
9234   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":166
9235  *         name = c_name
9236  * 
9237  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
9238  *     if c_alias == NULL:
9239  *         alias = None
9240  */
9241   __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
9242
9243   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":167
9244  * 
9245  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9246  *     if c_alias == NULL:             # <<<<<<<<<<<<<<
9247  *         alias = None
9248  *     else:
9249  */
9250   __pyx_1 = (__pyx_v_c_alias == NULL);
9251   if (__pyx_1) {
9252
9253     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":168
9254  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9255  *     if c_alias == NULL:
9256  *         alias = None             # <<<<<<<<<<<<<<
9257  *     else:
9258  *         alias = c_alias
9259  */
9260     Py_INCREF(Py_None);
9261     Py_DECREF(__pyx_v_alias);
9262     __pyx_v_alias = Py_None;
9263     goto __pyx_L3;
9264   }
9265   /*else*/ {
9266
9267     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":170
9268  *         alias = None
9269  *     else:
9270  *         alias = c_alias             # <<<<<<<<<<<<<<
9271  * 
9272  *     if signal_cbs.has_key("buddy-signed-off"):
9273  */
9274     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
9275     Py_DECREF(__pyx_v_alias);
9276     __pyx_v_alias = __pyx_2;
9277     __pyx_2 = 0;
9278   }
9279   __pyx_L3:;
9280
9281   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":172
9282  *         alias = c_alias
9283  * 
9284  *     if signal_cbs.has_key("buddy-signed-off"):             # <<<<<<<<<<<<<<
9285  *         (<object> signal_cbs["buddy-signed-off"])(name, alias)
9286  * 
9287  */
9288   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
9289   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
9290   Py_DECREF(__pyx_2); __pyx_2 = 0;
9291   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
9292   Py_INCREF(__pyx_kp_376);
9293   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_376);
9294   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
9295   Py_DECREF(__pyx_3); __pyx_3 = 0;
9296   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
9297   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
9298   Py_DECREF(__pyx_4); __pyx_4 = 0;
9299   if (__pyx_1) {
9300
9301     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":173
9302  * 
9303  *     if signal_cbs.has_key("buddy-signed-off"):
9304  *         (<object> signal_cbs["buddy-signed-off"])(name, alias)             # <<<<<<<<<<<<<<
9305  * 
9306  * cdef glib.gboolean signal_receiving_im_msg_cb(account.PurpleAccount *account, \
9307  */
9308     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1;}
9309     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_377); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1;}
9310     Py_DECREF(__pyx_3); __pyx_3 = 0;
9311     __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1;}
9312     Py_INCREF(__pyx_v_name);
9313     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_name);
9314     Py_INCREF(__pyx_v_alias);
9315     PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_alias);
9316     __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1;}
9317     Py_DECREF(__pyx_2); __pyx_2 = 0;
9318     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
9319     Py_DECREF(__pyx_3); __pyx_3 = 0;
9320     goto __pyx_L4;
9321   }
9322   __pyx_L4:;
9323
9324   goto __pyx_L0;
9325   __pyx_L1:;
9326   Py_XDECREF(__pyx_2);
9327   Py_XDECREF(__pyx_3);
9328   Py_XDECREF(__pyx_4);
9329   __Pyx_WriteUnraisable("purple.signal_buddy_signed_off_cb");
9330   __pyx_L0:;
9331   Py_DECREF(__pyx_v_name);
9332   Py_DECREF(__pyx_v_alias);
9333 }
9334
9335 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":175
9336  *         (<object> signal_cbs["buddy-signed-off"])(name, alias)
9337  * 
9338  * cdef glib.gboolean signal_receiving_im_msg_cb(account.PurpleAccount *account, \             # <<<<<<<<<<<<<<
9339  *         char **sender, char **message, conversation.PurpleConversation *conv, \
9340  *         conversation.PurpleMessageFlags *flags):
9341  */
9342
9343 static PyObject *__pyx_kp_378;
9344 static PyObject *__pyx_kp_379;
9345
9346 static char __pyx_k_378[] = "receiving-im-msg";
9347 static char __pyx_k_379[] = "receiving-im-msg";
9348
9349 static  gboolean __pyx_f_6purple_signal_receiving_im_msg_cb(PurpleAccount *__pyx_v_account, char **__pyx_v_sender, char **__pyx_v_message, PurpleConversation *__pyx_v_conv, PurpleMessageFlags *__pyx_v_flags) {
9350   PurpleBuddy *__pyx_v_buddy;
9351   char *__pyx_v_c_alias;
9352   PyObject *__pyx_v_alias;
9353   PyObject *__pyx_v_stripped;
9354   gboolean __pyx_r;
9355   int __pyx_1;
9356   PyObject *__pyx_2 = 0;
9357   PyObject *__pyx_3 = 0;
9358   PyObject *__pyx_4 = 0;
9359   gboolean __pyx_5;
9360   __pyx_v_alias = Py_None; Py_INCREF(Py_None);
9361   __pyx_v_stripped = Py_None; Py_INCREF(Py_None);
9362
9363   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":190
9364  *     @params flags    A pointer to the IM message flags.
9365  *     """
9366  *     cdef blist.PurpleBuddy *buddy = blist.purple_find_buddy(account, sender[0])             # <<<<<<<<<<<<<<
9367  *     cdef char *c_alias = NULL
9368  * 
9369  */
9370   __pyx_v_buddy = purple_find_buddy(__pyx_v_account, (__pyx_v_sender[0]));
9371
9372
9373   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":191
9374  *     """
9375  *     cdef blist.PurpleBuddy *buddy = blist.purple_find_buddy(account, sender[0])
9376  *     cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
9377  * 
9378  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9379  */
9380   __pyx_v_c_alias = NULL;
9381
9382
9383   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":193
9384  *     cdef char *c_alias = NULL
9385  * 
9386  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)             # <<<<<<<<<<<<<<
9387  *     if c_alias == NULL:
9388  *         alias = None
9389  */
9390   __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_buddy));
9391
9392   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":194
9393  * 
9394  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9395  *     if c_alias == NULL:             # <<<<<<<<<<<<<<
9396  *         alias = None
9397  *     else:
9398  */
9399   __pyx_1 = (__pyx_v_c_alias == NULL);
9400   if (__pyx_1) {
9401
9402     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":195
9403  *     c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
9404  *     if c_alias == NULL:
9405  *         alias = None             # <<<<<<<<<<<<<<
9406  *     else:
9407  *         alias = c_alias
9408  */
9409     Py_INCREF(Py_None);
9410     Py_DECREF(__pyx_v_alias);
9411     __pyx_v_alias = Py_None;
9412     goto __pyx_L2;
9413   }
9414   /*else*/ {
9415
9416     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":197
9417  *         alias = None
9418  *     else:
9419  *         alias = c_alias             # <<<<<<<<<<<<<<
9420  * 
9421  *     stripped = util.purple_markup_strip_html(message[0])
9422  */
9423     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1;}
9424     Py_DECREF(__pyx_v_alias);
9425     __pyx_v_alias = __pyx_2;
9426     __pyx_2 = 0;
9427   }
9428   __pyx_L2:;
9429
9430   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":199
9431  *         alias = c_alias
9432  * 
9433  *     stripped = util.purple_markup_strip_html(message[0])             # <<<<<<<<<<<<<<
9434  * 
9435  *     if signal_cbs.has_key("receiving-im-msg"):
9436  */
9437   __pyx_2 = __Pyx_PyBytes_FromString(purple_markup_strip_html((__pyx_v_message[0]))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1;}
9438   Py_DECREF(__pyx_v_stripped);
9439   __pyx_v_stripped = __pyx_2;
9440   __pyx_2 = 0;
9441
9442   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":201
9443  *     stripped = util.purple_markup_strip_html(message[0])
9444  * 
9445  *     if signal_cbs.has_key("receiving-im-msg"):             # <<<<<<<<<<<<<<
9446  *         return (<object> signal_cbs["receiving-im-msg"])(sender[0], alias, stripped)
9447  * 
9448  */
9449   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
9450   __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_has_key); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
9451   Py_DECREF(__pyx_2); __pyx_2 = 0;
9452   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
9453   Py_INCREF(__pyx_kp_378);
9454   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_kp_378);
9455   __pyx_4 = PyObject_Call(__pyx_3, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
9456   Py_DECREF(__pyx_3); __pyx_3 = 0;
9457   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
9458   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1;}
9459   Py_DECREF(__pyx_4); __pyx_4 = 0;
9460   if (__pyx_1) {
9461
9462     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":202
9463  * 
9464  *     if signal_cbs.has_key("receiving-im-msg"):
9465  *         return (<object> signal_cbs["receiving-im-msg"])(sender[0], alias, stripped)             # <<<<<<<<<<<<<<
9466  * 
9467  * cdef void jabber_receiving_xmlnode_cb(connection.PurpleConnection *gc, \
9468  */
9469     __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
9470     __pyx_2 = PyObject_GetItem(__pyx_3, __pyx_kp_379); if (!__pyx_2) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
9471     Py_DECREF(__pyx_3); __pyx_3 = 0;
9472     __pyx_4 = __Pyx_PyBytes_FromString((__pyx_v_sender[0])); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
9473     __pyx_3 = PyTuple_New(3); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
9474     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
9475     Py_INCREF(__pyx_v_alias);
9476     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_alias);
9477     Py_INCREF(__pyx_v_stripped);
9478     PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_stripped);
9479     __pyx_4 = 0;
9480     __pyx_4 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
9481     Py_DECREF(__pyx_2); __pyx_2 = 0;
9482     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
9483     __pyx_5 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
9484     Py_DECREF(__pyx_4); __pyx_4 = 0;
9485     __pyx_r = __pyx_5;
9486     goto __pyx_L0;
9487     goto __pyx_L3;
9488   }
9489   __pyx_L3:;
9490
9491   __pyx_r = 0;
9492   goto __pyx_L0;
9493   __pyx_L1:;
9494   Py_XDECREF(__pyx_2);
9495   Py_XDECREF(__pyx_3);
9496   Py_XDECREF(__pyx_4);
9497   __Pyx_WriteUnraisable("purple.signal_receiving_im_msg_cb");
9498   __pyx_r = 0;
9499   __pyx_L0:;
9500   Py_DECREF(__pyx_v_alias);
9501   Py_DECREF(__pyx_v_stripped);
9502   return __pyx_r;
9503 }
9504
9505 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":204
9506  *         return (<object> signal_cbs["receiving-im-msg"])(sender[0], alias, stripped)
9507  * 
9508  * cdef void jabber_receiving_xmlnode_cb(connection.PurpleConnection *gc, \             # <<<<<<<<<<<<<<
9509  *         xmlnode.xmlnode **packet, glib.gpointer null):
9510  *     """
9511  */
9512
9513 static PyObject *__pyx_kp_380;
9514 static PyObject *__pyx_kp_381;
9515
9516 static char __pyx_k_380[] = "jabber-receiving-xmlnode";
9517 static char __pyx_k_381[] = "jabber-receiving-xmlnode";
9518
9519 static  void __pyx_f_6purple_jabber_receiving_xmlnode_cb(PurpleConnection *__pyx_v_gc, xmlnode **__pyx_v_packet, gpointer __pyx_v_null) {
9520   PyObject *__pyx_v_message;
9521   PyObject *__pyx_1 = 0;
9522   PyObject *__pyx_2 = 0;
9523   PyObject *__pyx_3 = 0;
9524   int __pyx_4;
9525   __pyx_v_message = Py_None; Py_INCREF(Py_None);
9526
9527   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":209
9528  *     Emitted when jabber receives a XML node.
9529  *     """
9530  *     message = xmlnode.xmlnode_to_str(packet[0], NULL)             # <<<<<<<<<<<<<<
9531  * 
9532  *     if signal_cbs.has_key("jabber-receiving-xmlnode"):
9533  */
9534   __pyx_1 = __Pyx_PyBytes_FromString(xmlnode_to_str((__pyx_v_packet[0]), NULL)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1;}
9535   Py_DECREF(__pyx_v_message);
9536   __pyx_v_message = __pyx_1;
9537   __pyx_1 = 0;
9538
9539   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":211
9540  *     message = xmlnode.xmlnode_to_str(packet[0], NULL)
9541  * 
9542  *     if signal_cbs.has_key("jabber-receiving-xmlnode"):             # <<<<<<<<<<<<<<
9543  *         (<object> signal_cbs["jabber-receiving-xmlnode"])(message)
9544  */
9545   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
9546   __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_has_key); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
9547   Py_DECREF(__pyx_1); __pyx_1 = 0;
9548   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
9549   Py_INCREF(__pyx_kp_380);
9550   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_380);
9551   __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
9552   Py_DECREF(__pyx_2); __pyx_2 = 0;
9553   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
9554   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
9555   Py_DECREF(__pyx_3); __pyx_3 = 0;
9556   if (__pyx_4) {
9557
9558     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":212
9559  * 
9560  *     if signal_cbs.has_key("jabber-receiving-xmlnode"):
9561  *         (<object> signal_cbs["jabber-receiving-xmlnode"])(message)             # <<<<<<<<<<<<<<
9562  */
9563     __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
9564     __pyx_1 = PyObject_GetItem(__pyx_2, __pyx_kp_381); if (!__pyx_1) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
9565     Py_DECREF(__pyx_2); __pyx_2 = 0;
9566     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
9567     Py_INCREF(__pyx_v_message);
9568     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_message);
9569     __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1;}
9570     Py_DECREF(__pyx_1); __pyx_1 = 0;
9571     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
9572     Py_DECREF(__pyx_2); __pyx_2 = 0;
9573     goto __pyx_L2;
9574   }
9575   __pyx_L2:;
9576
9577   goto __pyx_L0;
9578   __pyx_L1:;
9579   Py_XDECREF(__pyx_1);
9580   Py_XDECREF(__pyx_2);
9581   Py_XDECREF(__pyx_3);
9582   __Pyx_WriteUnraisable("purple.jabber_receiving_xmlnode_cb");
9583   __pyx_L0:;
9584   Py_DECREF(__pyx_v_message);
9585 }
9586
9587 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/util.pxd":22
9588  * cimport purple
9589  * 
9590  * def markup_strip_html(message):             # <<<<<<<<<<<<<<
9591  *     if message is None:
9592  *         return None
9593  */
9594
9595 static PyObject *__pyx_pf_6purple_markup_strip_html(PyObject *__pyx_self, PyObject *__pyx_v_message); /*proto*/
9596 static PyObject *__pyx_pf_6purple_markup_strip_html(PyObject *__pyx_self, PyObject *__pyx_v_message) {
9597   PyObject *__pyx_r;
9598   int __pyx_1;
9599   char *__pyx_2;
9600   PyObject *__pyx_3 = 0;
9601
9602   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/util.pxd":23
9603  * 
9604  * def markup_strip_html(message):
9605  *     if message is None:             # <<<<<<<<<<<<<<
9606  *         return None
9607  *     else:
9608  */
9609   __pyx_1 = (__pyx_v_message == Py_None);
9610   if (__pyx_1) {
9611
9612     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/util.pxd":24
9613  * def markup_strip_html(message):
9614  *     if message is None:
9615  *         return None             # <<<<<<<<<<<<<<
9616  *     else:
9617  *         return util.purple_markup_strip_html(message)
9618  */
9619     Py_INCREF(Py_None);
9620     __pyx_r = Py_None;
9621     goto __pyx_L0;
9622     goto __pyx_L4;
9623   }
9624   /*else*/ {
9625
9626     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/util.pxd":26
9627  *         return None
9628  *     else:
9629  *         return util.purple_markup_strip_html(message)             # <<<<<<<<<<<<<<
9630  */
9631     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_message); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1;}
9632     __pyx_3 = __Pyx_PyBytes_FromString(purple_markup_strip_html(__pyx_2)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1;}
9633     __pyx_r = __pyx_3;
9634     __pyx_3 = 0;
9635     goto __pyx_L0;
9636   }
9637   __pyx_L4:;
9638
9639   __pyx_r = Py_None; Py_INCREF(Py_None);
9640   goto __pyx_L0;
9641   __pyx_L1:;
9642   Py_XDECREF(__pyx_3);
9643   __Pyx_AddTraceback("purple.markup_strip_html");
9644   __pyx_r = NULL;
9645   __pyx_L0:;
9646   return __pyx_r;
9647 }
9648
9649 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":68
9650  *     """
9651  * 
9652  *     def __init__(self, ui_name, ui_version, ui_website, ui_dev_website, \             # <<<<<<<<<<<<<<
9653  *             debug_enabled=None, default_path=None):
9654  * 
9655  */
9656
9657 static char __pyx_k_timer_add[] = "timer_add";
9658
9659 static PyObject *__pyx_kp_timer_add;
9660
9661 static int __pyx_pf_6purple_6Purple___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9662 static int __pyx_pf_6purple_6Purple___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9663   PyObject *__pyx_v_ui_name = 0;
9664   PyObject *__pyx_v_ui_version = 0;
9665   PyObject *__pyx_v_ui_website = 0;
9666   PyObject *__pyx_v_ui_dev_website = 0;
9667   PyObject *__pyx_v_debug_enabled = 0;
9668   PyObject *__pyx_v_default_path = 0;
9669   int __pyx_r;
9670   char *__pyx_1;
9671   int __pyx_2;
9672   gboolean __pyx_3;
9673   PyObject *__pyx_4 = 0;
9674   PyObject *__pyx_5 = 0;
9675   PyObject *__pyx_6 = 0;
9676   PyObject *__pyx_7 = 0;
9677   static char *__pyx_argnames[] = {"ui_name","ui_version","ui_website","ui_dev_website","debug_enabled","default_path",0};
9678   __pyx_v_debug_enabled = Py_None;
9679   __pyx_v_default_path = Py_None;
9680   if (likely(!__pyx_kwds) && likely(4 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 6)) {
9681     __pyx_v_ui_name = PyTuple_GET_ITEM(__pyx_args, 0);
9682     __pyx_v_ui_version = PyTuple_GET_ITEM(__pyx_args, 1);
9683     __pyx_v_ui_website = PyTuple_GET_ITEM(__pyx_args, 2);
9684     __pyx_v_ui_dev_website = PyTuple_GET_ITEM(__pyx_args, 3);
9685     if (PyTuple_GET_SIZE(__pyx_args) > 4) {
9686       __pyx_v_debug_enabled = PyTuple_GET_ITEM(__pyx_args, 4);
9687       if (PyTuple_GET_SIZE(__pyx_args) > 5) {
9688         __pyx_v_default_path = PyTuple_GET_ITEM(__pyx_args, 5);
9689       }
9690     }
9691   }
9692   else {
9693     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOOO|OO", __pyx_argnames, &__pyx_v_ui_name, &__pyx_v_ui_version, &__pyx_v_ui_website, &__pyx_v_ui_dev_website, &__pyx_v_debug_enabled, &__pyx_v_default_path))) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L2;}
9694   }
9695   goto __pyx_L3;
9696   __pyx_L2:;
9697   __Pyx_AddTraceback("purple.Purple.__init__");
9698   return -1;
9699   __pyx_L3:;
9700
9701   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":76
9702  *         global c_ui_dev_website
9703  * 
9704  *         c_ui_name = ui_name             # <<<<<<<<<<<<<<
9705  *         c_ui_version = ui_version
9706  *         c_ui_website = ui_website
9707  */
9708   __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_name); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1;}
9709   __pyx_v_6purple_c_ui_name = __pyx_1;
9710
9711   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":77
9712  * 
9713  *         c_ui_name = ui_name
9714  *         c_ui_version = ui_version             # <<<<<<<<<<<<<<
9715  *         c_ui_website = ui_website
9716  *         c_ui_dev_website = ui_dev_website
9717  */
9718   __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_version); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
9719   __pyx_v_6purple_c_ui_version = __pyx_1;
9720
9721   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":78
9722  *         c_ui_name = ui_name
9723  *         c_ui_version = ui_version
9724  *         c_ui_website = ui_website             # <<<<<<<<<<<<<<
9725  *         c_ui_dev_website = ui_dev_website
9726  * 
9727  */
9728   __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_website); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1;}
9729   __pyx_v_6purple_c_ui_website = __pyx_1;
9730
9731   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":79
9732  *         c_ui_version = ui_version
9733  *         c_ui_website = ui_website
9734  *         c_ui_dev_website = ui_dev_website             # <<<<<<<<<<<<<<
9735  * 
9736  *         if debug_enabled:
9737  */
9738   __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_ui_dev_website); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
9739   __pyx_v_6purple_c_ui_dev_website = __pyx_1;
9740
9741   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":81
9742  *         c_ui_dev_website = ui_dev_website
9743  * 
9744  *         if debug_enabled:             # <<<<<<<<<<<<<<
9745  *             debug.purple_debug_set_enabled(debug_enabled)
9746  * 
9747  */
9748   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_v_debug_enabled); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1;}
9749   if (__pyx_2) {
9750
9751     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":82
9752  * 
9753  *         if debug_enabled:
9754  *             debug.purple_debug_set_enabled(debug_enabled)             # <<<<<<<<<<<<<<
9755  * 
9756  *         if default_path:
9757  */
9758     __pyx_3 = __pyx_PyInt_int(__pyx_v_debug_enabled); if (unlikely((__pyx_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
9759     purple_debug_set_enabled(__pyx_3);
9760     goto __pyx_L4;
9761   }
9762   __pyx_L4:;
9763
9764   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":84
9765  *             debug.purple_debug_set_enabled(debug_enabled)
9766  * 
9767  *         if default_path:             # <<<<<<<<<<<<<<
9768  *             util.purple_util_set_user_dir(default_path)
9769  * 
9770  */
9771   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_v_default_path); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
9772   if (__pyx_2) {
9773
9774     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":85
9775  * 
9776  *         if default_path:
9777  *             util.purple_util_set_user_dir(default_path)             # <<<<<<<<<<<<<<
9778  * 
9779  *         # adds glib iteration inside ecore main loop
9780  */
9781     __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_default_path); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
9782     purple_util_set_user_dir(__pyx_1);
9783     goto __pyx_L5;
9784   }
9785   __pyx_L5:;
9786
9787   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":88
9788  * 
9789  *         # adds glib iteration inside ecore main loop
9790  *         ecore.timer_add(0.001, self.__glib_iteration_when_idle)             # <<<<<<<<<<<<<<
9791  * 
9792  *     def destroy(self):
9793  */
9794   __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_ecore); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
9795   __pyx_5 = PyObject_GetAttr(__pyx_4, __pyx_kp_timer_add); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
9796   Py_DECREF(__pyx_4); __pyx_4 = 0;
9797   __pyx_4 = PyFloat_FromDouble(0.001); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
9798   __pyx_6 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_1); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
9799   __pyx_7 = PyTuple_New(2); if (unlikely(!__pyx_7)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
9800   PyTuple_SET_ITEM(__pyx_7, 0, __pyx_4);
9801   PyTuple_SET_ITEM(__pyx_7, 1, __pyx_6);
9802   __pyx_4 = 0;
9803   __pyx_6 = 0;
9804   __pyx_4 = PyObject_Call(__pyx_5, ((PyObject *)__pyx_7), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1;}
9805   Py_DECREF(__pyx_5); __pyx_5 = 0;
9806   Py_DECREF(((PyObject *)__pyx_7)); __pyx_7 = 0;
9807   Py_DECREF(__pyx_4); __pyx_4 = 0;
9808
9809   __pyx_r = 0;
9810   goto __pyx_L0;
9811   __pyx_L1:;
9812   Py_XDECREF(__pyx_4);
9813   Py_XDECREF(__pyx_5);
9814   Py_XDECREF(__pyx_6);
9815   Py_XDECREF(__pyx_7);
9816   __Pyx_AddTraceback("purple.Purple.__init__");
9817   __pyx_r = -1;
9818   __pyx_L0:;
9819   return __pyx_r;
9820 }
9821
9822 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":90
9823  *         ecore.timer_add(0.001, self.__glib_iteration_when_idle)
9824  * 
9825  *     def destroy(self):             # <<<<<<<<<<<<<<
9826  *         core.purple_core_quit()
9827  * 
9828  */
9829
9830 static PyObject *__pyx_pf_6purple_6Purple_destroy(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
9831 static PyObject *__pyx_pf_6purple_6Purple_destroy(PyObject *__pyx_v_self, PyObject *unused) {
9832   PyObject *__pyx_r;
9833
9834   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":91
9835  * 
9836  *     def destroy(self):
9837  *         core.purple_core_quit()             # <<<<<<<<<<<<<<
9838  * 
9839  *     def __get_ui_name(self):
9840  */
9841   purple_core_quit();
9842
9843   __pyx_r = Py_None; Py_INCREF(Py_None);
9844   return __pyx_r;
9845 }
9846
9847 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":93
9848  *         core.purple_core_quit()
9849  * 
9850  *     def __get_ui_name(self):             # <<<<<<<<<<<<<<
9851  *         global c_ui_name
9852  *         return str(c_ui_name)
9853  */
9854
9855 static PyObject *__pyx_pf_6purple_6Purple___get_ui_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
9856 static PyObject *__pyx_pf_6purple_6Purple___get_ui_name(PyObject *__pyx_v_self, PyObject *unused) {
9857   PyObject *__pyx_r;
9858   PyObject *__pyx_1 = 0;
9859   PyObject *__pyx_2 = 0;
9860
9861   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":95
9862  *     def __get_ui_name(self):
9863  *         global c_ui_name
9864  *         return str(c_ui_name)             # <<<<<<<<<<<<<<
9865  *     ui_name = property(__get_ui_name)
9866  * 
9867  */
9868   __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_6purple_c_ui_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
9869   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
9870   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
9871   __pyx_1 = 0;
9872   __pyx_1 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
9873   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
9874   __pyx_r = __pyx_1;
9875   __pyx_1 = 0;
9876   goto __pyx_L0;
9877
9878   __pyx_r = Py_None; Py_INCREF(Py_None);
9879   goto __pyx_L0;
9880   __pyx_L1:;
9881   Py_XDECREF(__pyx_1);
9882   Py_XDECREF(__pyx_2);
9883   __Pyx_AddTraceback("purple.Purple.__get_ui_name");
9884   __pyx_r = NULL;
9885   __pyx_L0:;
9886   return __pyx_r;
9887 }
9888
9889 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":98
9890  *     ui_name = property(__get_ui_name)
9891  * 
9892  *     cdef void __core_ui_ops_ui_prefs_init(self):             # <<<<<<<<<<<<<<
9893  *         debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n")
9894  *         prefs.purple_prefs_load()
9895  */
9896
9897 static char __pyx_k_382[] = "core_ui_ops";
9898 static char __pyx_k_383[] = "%s";
9899 static char __pyx_k_384[] = "ui_prefs_init\n";
9900 static char __pyx_k_385[] = "/carman";
9901
9902 static  void __pyx_f_6purple_6Purple___core_ui_ops_ui_prefs_init(struct __pyx_obj_6purple_Purple *__pyx_v_self) {
9903
9904   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":99
9905  * 
9906  *     cdef void __core_ui_ops_ui_prefs_init(self):
9907  *         debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n")             # <<<<<<<<<<<<<<
9908  *         prefs.purple_prefs_load()
9909  * 
9910  */
9911   purple_debug_info(__pyx_k_382, __pyx_k_383, __pyx_k_384);
9912
9913   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":100
9914  *     cdef void __core_ui_ops_ui_prefs_init(self):
9915  *         debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n")
9916  *         prefs.purple_prefs_load()             # <<<<<<<<<<<<<<
9917  * 
9918  *         prefs.purple_prefs_add_none("/carman")
9919  */
9920   purple_prefs_load();
9921
9922   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":102
9923  *         prefs.purple_prefs_load()
9924  * 
9925  *         prefs.purple_prefs_add_none("/carman")             # <<<<<<<<<<<<<<
9926  * 
9927  *     cdef void __core_ui_ops_debug_init(self):
9928  */
9929   purple_prefs_add_none(__pyx_k_385);
9930
9931 }
9932
9933 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":104
9934  *         prefs.purple_prefs_add_none("/carman")
9935  * 
9936  *     cdef void __core_ui_ops_debug_init(self):             # <<<<<<<<<<<<<<
9937  *         debug.purple_debug_info("core_ui_ops", "%s", "debug_ui_init\n")
9938  *         pass
9939  */
9940
9941 static char __pyx_k_386[] = "core_ui_ops";
9942 static char __pyx_k_387[] = "%s";
9943 static char __pyx_k_388[] = "debug_ui_init\n";
9944
9945 static  void __pyx_f_6purple_6Purple___core_ui_ops_debug_init(struct __pyx_obj_6purple_Purple *__pyx_v_self) {
9946
9947   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":105
9948  * 
9949  *     cdef void __core_ui_ops_debug_init(self):
9950  *         debug.purple_debug_info("core_ui_ops", "%s", "debug_ui_init\n")             # <<<<<<<<<<<<<<
9951  *         pass
9952  * 
9953  */
9954   purple_debug_info(__pyx_k_386, __pyx_k_387, __pyx_k_388);
9955
9956   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":106
9957  *     cdef void __core_ui_ops_debug_init(self):
9958  *         debug.purple_debug_info("core_ui_ops", "%s", "debug_ui_init\n")
9959  *         pass             # <<<<<<<<<<<<<<
9960  * 
9961  *     cdef void __core_ui_ops_ui_init(self):
9962  */
9963
9964 }
9965
9966 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":108
9967  *         pass
9968  * 
9969  *     cdef void __core_ui_ops_ui_init(self):             # <<<<<<<<<<<<<<
9970  *         debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n")
9971  * 
9972  */
9973
9974 static char __pyx_k_389[] = "core_ui_ops";
9975 static char __pyx_k_390[] = "%s";
9976 static char __pyx_k_391[] = "ui_init\n";
9977
9978 static  void __pyx_f_6purple_6Purple___core_ui_ops_ui_init(struct __pyx_obj_6purple_Purple *__pyx_v_self) {
9979
9980   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":109
9981  * 
9982  *     cdef void __core_ui_ops_ui_init(self):
9983  *         debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n")             # <<<<<<<<<<<<<<
9984  * 
9985  *         account.purple_accounts_set_ui_ops(&c_account_ui_ops)
9986  */
9987   purple_debug_info(__pyx_k_389, __pyx_k_390, __pyx_k_391);
9988
9989   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":111
9990  *         debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n")
9991  * 
9992  *         account.purple_accounts_set_ui_ops(&c_account_ui_ops)             # <<<<<<<<<<<<<<
9993  *         connection.purple_connections_set_ui_ops(&c_conn_ui_ops)
9994  *         blist.purple_blist_set_ui_ops(&c_blist_ui_ops)
9995  */
9996   purple_accounts_set_ui_ops((&__pyx_v_6purple_c_account_ui_ops));
9997
9998   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":112
9999  * 
10000  *         account.purple_accounts_set_ui_ops(&c_account_ui_ops)
10001  *         connection.purple_connections_set_ui_ops(&c_conn_ui_ops)             # <<<<<<<<<<<<<<
10002  *         blist.purple_blist_set_ui_ops(&c_blist_ui_ops)
10003  *         conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops)
10004  */
10005   purple_connections_set_ui_ops((&__pyx_v_6purple_c_conn_ui_ops));
10006
10007   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":113
10008  *         account.purple_accounts_set_ui_ops(&c_account_ui_ops)
10009  *         connection.purple_connections_set_ui_ops(&c_conn_ui_ops)
10010  *         blist.purple_blist_set_ui_ops(&c_blist_ui_ops)             # <<<<<<<<<<<<<<
10011  *         conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops)
10012  *         notify.purple_notify_set_ui_ops(&c_notify_ui_ops)
10013  */
10014   purple_blist_set_ui_ops((&__pyx_v_6purple_c_blist_ui_ops));
10015
10016   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":114
10017  *         connection.purple_connections_set_ui_ops(&c_conn_ui_ops)
10018  *         blist.purple_blist_set_ui_ops(&c_blist_ui_ops)
10019  *         conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops)             # <<<<<<<<<<<<<<
10020  *         notify.purple_notify_set_ui_ops(&c_notify_ui_ops)
10021  *         #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops)
10022  */
10023   purple_conversations_set_ui_ops((&__pyx_v_6purple_c_conv_ui_ops));
10024
10025   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":115
10026  *         blist.purple_blist_set_ui_ops(&c_blist_ui_ops)
10027  *         conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops)
10028  *         notify.purple_notify_set_ui_ops(&c_notify_ui_ops)             # <<<<<<<<<<<<<<
10029  *         #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops)
10030  *         request.purple_request_set_ui_ops(&c_request_ui_ops)
10031  */
10032   purple_notify_set_ui_ops((&__pyx_v_6purple_c_notify_ui_ops));
10033
10034   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":117
10035  *         notify.purple_notify_set_ui_ops(&c_notify_ui_ops)
10036  *         #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops)
10037  *         request.purple_request_set_ui_ops(&c_request_ui_ops)             # <<<<<<<<<<<<<<
10038  *         #ft.purple_xfers_set_ui_ops(&c_ft_ui_ops)
10039  *         #roomlist.purple_roomlist_set_ui_ops(&c_rlist_ui_ops)
10040  */
10041   purple_request_set_ui_ops((&__pyx_v_6purple_c_request_ui_ops));
10042
10043 }
10044
10045 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":121
10046  *         #roomlist.purple_roomlist_set_ui_ops(&c_rlist_ui_ops)
10047  * 
10048  *     cdef void __core_ui_ops_quit(self):             # <<<<<<<<<<<<<<
10049  *         debug.purple_debug_info("core_ui_ops", "%s", "quit\n")
10050  * 
10051  */
10052
10053 static char __pyx_k_c_ui_info[] = "c_ui_info";
10054
10055 static PyObject *__pyx_kp_c_ui_info;
10056
10057 static char __pyx_k_392[] = "core_ui_ops";
10058 static char __pyx_k_393[] = "%s";
10059 static char __pyx_k_394[] = "quit\n";
10060
10061 static  void __pyx_f_6purple_6Purple___core_ui_ops_quit(struct __pyx_obj_6purple_Purple *__pyx_v_self) {
10062   PyObject *__pyx_1 = 0;
10063   int __pyx_2;
10064
10065   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":122
10066  * 
10067  *     cdef void __core_ui_ops_quit(self):
10068  *         debug.purple_debug_info("core_ui_ops", "%s", "quit\n")             # <<<<<<<<<<<<<<
10069  * 
10070  *         account.purple_accounts_set_ui_ops(NULL)
10071  */
10072   purple_debug_info(__pyx_k_392, __pyx_k_393, __pyx_k_394);
10073
10074   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":124
10075  *         debug.purple_debug_info("core_ui_ops", "%s", "quit\n")
10076  * 
10077  *         account.purple_accounts_set_ui_ops(NULL)             # <<<<<<<<<<<<<<
10078  *         connection.purple_connections_set_ui_ops(NULL)
10079  *         blist.purple_blist_set_ui_ops(NULL)
10080  */
10081   purple_accounts_set_ui_ops(NULL);
10082
10083   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":125
10084  * 
10085  *         account.purple_accounts_set_ui_ops(NULL)
10086  *         connection.purple_connections_set_ui_ops(NULL)             # <<<<<<<<<<<<<<
10087  *         blist.purple_blist_set_ui_ops(NULL)
10088  *         conversation.purple_conversations_set_ui_ops(NULL)
10089  */
10090   purple_connections_set_ui_ops(NULL);
10091
10092   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":126
10093  *         account.purple_accounts_set_ui_ops(NULL)
10094  *         connection.purple_connections_set_ui_ops(NULL)
10095  *         blist.purple_blist_set_ui_ops(NULL)             # <<<<<<<<<<<<<<
10096  *         conversation.purple_conversations_set_ui_ops(NULL)
10097  *         notify.purple_notify_set_ui_ops(NULL)
10098  */
10099   purple_blist_set_ui_ops(NULL);
10100
10101   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":127
10102  *         connection.purple_connections_set_ui_ops(NULL)
10103  *         blist.purple_blist_set_ui_ops(NULL)
10104  *         conversation.purple_conversations_set_ui_ops(NULL)             # <<<<<<<<<<<<<<
10105  *         notify.purple_notify_set_ui_ops(NULL)
10106  *         #privacy.purple_privacy_set_ui_ops(NULL)
10107  */
10108   purple_conversations_set_ui_ops(NULL);
10109
10110   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":128
10111  *         blist.purple_blist_set_ui_ops(NULL)
10112  *         conversation.purple_conversations_set_ui_ops(NULL)
10113  *         notify.purple_notify_set_ui_ops(NULL)             # <<<<<<<<<<<<<<
10114  *         #privacy.purple_privacy_set_ui_ops(NULL)
10115  *         request.purple_request_set_ui_ops(NULL)
10116  */
10117   purple_notify_set_ui_ops(NULL);
10118
10119   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":130
10120  *         notify.purple_notify_set_ui_ops(NULL)
10121  *         #privacy.purple_privacy_set_ui_ops(NULL)
10122  *         request.purple_request_set_ui_ops(NULL)             # <<<<<<<<<<<<<<
10123  *         #ft.purple_xfers_set_ui_ops(NULL)
10124  *         #roomlist.purple_roomlist_set_ui_ops(NULL)
10125  */
10126   purple_request_set_ui_ops(NULL);
10127
10128   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":134
10129  *         #roomlist.purple_roomlist_set_ui_ops(NULL)
10130  * 
10131  *         if self.c_ui_info:             # <<<<<<<<<<<<<<
10132  *             glib.g_hash_table_destroy(<glib.GHashTable *> self.c_ui_info)
10133  * 
10134  */
10135   __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_c_ui_info); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1;}
10136   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1;}
10137   Py_DECREF(__pyx_1); __pyx_1 = 0;
10138   if (__pyx_2) {
10139
10140     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":135
10141  * 
10142  *         if self.c_ui_info:
10143  *             glib.g_hash_table_destroy(<glib.GHashTable *> self.c_ui_info)             # <<<<<<<<<<<<<<
10144  * 
10145  *     cdef glib.GHashTable *__core_ui_ops_get_ui_info(self):
10146  */
10147     __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_c_ui_info); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1;}
10148     g_hash_table_destroy(((GHashTable *)__pyx_1));
10149     Py_DECREF(__pyx_1); __pyx_1 = 0;
10150     goto __pyx_L2;
10151   }
10152   __pyx_L2:;
10153
10154   goto __pyx_L0;
10155   __pyx_L1:;
10156   Py_XDECREF(__pyx_1);
10157   __Pyx_WriteUnraisable("purple.Purple.__core_ui_ops_quit");
10158   __pyx_L0:;
10159 }
10160
10161 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":137
10162  *             glib.g_hash_table_destroy(<glib.GHashTable *> self.c_ui_info)
10163  * 
10164  *     cdef glib.GHashTable *__core_ui_ops_get_ui_info(self):             # <<<<<<<<<<<<<<
10165  *         global c_ui_info
10166  *         global c_ui_name
10167  */
10168
10169 static char __pyx_k_395[] = "name";
10170 static char __pyx_k_396[] = "version";
10171 static char __pyx_k_397[] = "website";
10172 static char __pyx_k_398[] = "dev_website";
10173
10174 static  GHashTable *__pyx_f_6purple_6Purple___core_ui_ops_get_ui_info(struct __pyx_obj_6purple_Purple *__pyx_v_self) {
10175   GHashTable *__pyx_r;
10176   int __pyx_1;
10177
10178   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":144
10179  *         global c_ui_dev_website
10180  * 
10181  *         if c_ui_info == NULL:             # <<<<<<<<<<<<<<
10182  *             c_ui_info = glib.g_hash_table_new(glib.g_str_hash, \
10183  *                     glib.g_str_equal)
10184  */
10185   __pyx_1 = (__pyx_v_6purple_c_ui_info == NULL);
10186   if (__pyx_1) {
10187
10188     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":146
10189  *         if c_ui_info == NULL:
10190  *             c_ui_info = glib.g_hash_table_new(glib.g_str_hash, \
10191  *                     glib.g_str_equal)             # <<<<<<<<<<<<<<
10192  * 
10193  *             glib.g_hash_table_insert(c_ui_info, "name", c_ui_name)
10194  */
10195     __pyx_v_6purple_c_ui_info = g_hash_table_new(g_str_hash, g_str_equal);
10196
10197     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":148
10198  *                     glib.g_str_equal)
10199  * 
10200  *             glib.g_hash_table_insert(c_ui_info, "name", c_ui_name)             # <<<<<<<<<<<<<<
10201  *             glib.g_hash_table_insert(c_ui_info, "version", c_ui_version)
10202  *             glib.g_hash_table_insert(c_ui_info, "website", c_ui_website)
10203  */
10204     g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_395, __pyx_v_6purple_c_ui_name);
10205
10206     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":149
10207  * 
10208  *             glib.g_hash_table_insert(c_ui_info, "name", c_ui_name)
10209  *             glib.g_hash_table_insert(c_ui_info, "version", c_ui_version)             # <<<<<<<<<<<<<<
10210  *             glib.g_hash_table_insert(c_ui_info, "website", c_ui_website)
10211  *             glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website)
10212  */
10213     g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_396, __pyx_v_6purple_c_ui_version);
10214
10215     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":150
10216  *             glib.g_hash_table_insert(c_ui_info, "name", c_ui_name)
10217  *             glib.g_hash_table_insert(c_ui_info, "version", c_ui_version)
10218  *             glib.g_hash_table_insert(c_ui_info, "website", c_ui_website)             # <<<<<<<<<<<<<<
10219  *             glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website)
10220  *         return c_ui_info
10221  */
10222     g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_397, __pyx_v_6purple_c_ui_website);
10223
10224     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":151
10225  *             glib.g_hash_table_insert(c_ui_info, "version", c_ui_version)
10226  *             glib.g_hash_table_insert(c_ui_info, "website", c_ui_website)
10227  *             glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website)             # <<<<<<<<<<<<<<
10228  *         return c_ui_info
10229  * 
10230  */
10231     g_hash_table_insert(__pyx_v_6purple_c_ui_info, __pyx_k_398, __pyx_v_6purple_c_ui_dev_website);
10232     goto __pyx_L2;
10233   }
10234   __pyx_L2:;
10235
10236   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":152
10237  *             glib.g_hash_table_insert(c_ui_info, "website", c_ui_website)
10238  *             glib.g_hash_table_insert(c_ui_info, "dev_website", c_ui_dev_website)
10239  *         return c_ui_info             # <<<<<<<<<<<<<<
10240  * 
10241  *     def __glib_iteration_when_idle(self):
10242  */
10243   __pyx_r = __pyx_v_6purple_c_ui_info;
10244   goto __pyx_L0;
10245
10246   __pyx_r = 0;
10247   __pyx_L0:;
10248   return __pyx_r;
10249 }
10250
10251 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":154
10252  *         return c_ui_info
10253  * 
10254  *     def __glib_iteration_when_idle(self):             # <<<<<<<<<<<<<<
10255  *         glib.g_main_context_iteration(NULL, False)
10256  *         return True
10257  */
10258
10259 static PyObject *__pyx_pf_6purple_6Purple___glib_iteration_when_idle(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
10260 static PyObject *__pyx_pf_6purple_6Purple___glib_iteration_when_idle(PyObject *__pyx_v_self, PyObject *unused) {
10261   PyObject *__pyx_r;
10262
10263   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":155
10264  * 
10265  *     def __glib_iteration_when_idle(self):
10266  *         glib.g_main_context_iteration(NULL, False)             # <<<<<<<<<<<<<<
10267  *         return True
10268  * 
10269  */
10270   g_main_context_iteration(NULL, 0);
10271
10272   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":156
10273  *     def __glib_iteration_when_idle(self):
10274  *         glib.g_main_context_iteration(NULL, False)
10275  *         return True             # <<<<<<<<<<<<<<
10276  * 
10277  *     def purple_init(self):
10278  */
10279   Py_INCREF(Py_True);
10280   __pyx_r = Py_True;
10281   goto __pyx_L0;
10282
10283   __pyx_r = Py_None; Py_INCREF(Py_None);
10284   __pyx_L0:;
10285   return __pyx_r;
10286 }
10287
10288 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":158
10289  *         return True
10290  * 
10291  *     def purple_init(self):             # <<<<<<<<<<<<<<
10292  *         """ Initializes libpurple """
10293  *         global c_ui_name
10294  */
10295
10296 static char __pyx_k_399[] = "main";
10297 static char __pyx_k_400[] = "%s";
10298 static char __pyx_k_401[] = "libpurple initialization failed.\n";
10299 static char __pyx_k_402[] = "main";
10300 static char __pyx_k_403[] = "%s";
10301 static char __pyx_k_404[] = "Another instance of libpurple is already running.\n";
10302
10303 static PyObject *__pyx_pf_6purple_6Purple_purple_init(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
10304 static char __pyx_doc_6purple_6Purple_purple_init[] = " Initializes libpurple ";
10305 static PyObject *__pyx_pf_6purple_6Purple_purple_init(PyObject *__pyx_v_self, PyObject *unused) {
10306   PyObject *__pyx_v_ret;
10307   PyObject *__pyx_r;
10308   PyObject *__pyx_1 = 0;
10309   int __pyx_2;
10310   PyObject *__pyx_3 = 0;
10311   __pyx_v_ret = Py_None; Py_INCREF(Py_None);
10312
10313   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":162
10314  *         global c_ui_name
10315  * 
10316  *         c_account_ui_ops.notify_added = notify_added             # <<<<<<<<<<<<<<
10317  *         c_account_ui_ops.status_changed = status_changed
10318  *         c_account_ui_ops.request_add = request_add
10319  */
10320   __pyx_v_6purple_c_account_ui_ops.notify_added = __pyx_f_6purple_notify_added;
10321
10322   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":163
10323  * 
10324  *         c_account_ui_ops.notify_added = notify_added
10325  *         c_account_ui_ops.status_changed = status_changed             # <<<<<<<<<<<<<<
10326  *         c_account_ui_ops.request_add = request_add
10327  *         c_account_ui_ops.request_authorize = request_authorize
10328  */
10329   __pyx_v_6purple_c_account_ui_ops.status_changed = __pyx_f_6purple_status_changed;
10330
10331   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":164
10332  *         c_account_ui_ops.notify_added = notify_added
10333  *         c_account_ui_ops.status_changed = status_changed
10334  *         c_account_ui_ops.request_add = request_add             # <<<<<<<<<<<<<<
10335  *         c_account_ui_ops.request_authorize = request_authorize
10336  *         c_account_ui_ops.close_account_request = close_account_request
10337  */
10338   __pyx_v_6purple_c_account_ui_ops.request_add = __pyx_f_6purple_request_add;
10339
10340   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":165
10341  *         c_account_ui_ops.status_changed = status_changed
10342  *         c_account_ui_ops.request_add = request_add
10343  *         c_account_ui_ops.request_authorize = request_authorize             # <<<<<<<<<<<<<<
10344  *         c_account_ui_ops.close_account_request = close_account_request
10345  * 
10346  */
10347   __pyx_v_6purple_c_account_ui_ops.request_authorize = __pyx_f_6purple_request_authorize;
10348
10349   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":166
10350  *         c_account_ui_ops.request_add = request_add
10351  *         c_account_ui_ops.request_authorize = request_authorize
10352  *         c_account_ui_ops.close_account_request = close_account_request             # <<<<<<<<<<<<<<
10353  * 
10354  *         c_blist_ui_ops.new_list = new_list
10355  */
10356   __pyx_v_6purple_c_account_ui_ops.close_account_request = __pyx_f_6purple_close_account_request;
10357
10358   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":168
10359  *         c_account_ui_ops.close_account_request = close_account_request
10360  * 
10361  *         c_blist_ui_ops.new_list = new_list             # <<<<<<<<<<<<<<
10362  *         c_blist_ui_ops.new_node = new_node
10363  *         c_blist_ui_ops.show = show
10364  */
10365   __pyx_v_6purple_c_blist_ui_ops.new_list = __pyx_f_6purple_new_list;
10366
10367   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":169
10368  * 
10369  *         c_blist_ui_ops.new_list = new_list
10370  *         c_blist_ui_ops.new_node = new_node             # <<<<<<<<<<<<<<
10371  *         c_blist_ui_ops.show = show
10372  *         c_blist_ui_ops.update = update
10373  */
10374   __pyx_v_6purple_c_blist_ui_ops.new_node = __pyx_f_6purple_new_node;
10375
10376   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":170
10377  *         c_blist_ui_ops.new_list = new_list
10378  *         c_blist_ui_ops.new_node = new_node
10379  *         c_blist_ui_ops.show = show             # <<<<<<<<<<<<<<
10380  *         c_blist_ui_ops.update = update
10381  *         c_blist_ui_ops.remove = remove
10382  */
10383   __pyx_v_6purple_c_blist_ui_ops.show = __pyx_f_6purple_show;
10384
10385   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":171
10386  *         c_blist_ui_ops.new_node = new_node
10387  *         c_blist_ui_ops.show = show
10388  *         c_blist_ui_ops.update = update             # <<<<<<<<<<<<<<
10389  *         c_blist_ui_ops.remove = remove
10390  *         c_blist_ui_ops.destroy = destroy
10391  */
10392   __pyx_v_6purple_c_blist_ui_ops.update = __pyx_f_6purple_update;
10393
10394   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":172
10395  *         c_blist_ui_ops.show = show
10396  *         c_blist_ui_ops.update = update
10397  *         c_blist_ui_ops.remove = remove             # <<<<<<<<<<<<<<
10398  *         c_blist_ui_ops.destroy = destroy
10399  *         c_blist_ui_ops.set_visible = set_visible
10400  */
10401   __pyx_v_6purple_c_blist_ui_ops.remove = __pyx_f_6purple_remove;
10402
10403   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":173
10404  *         c_blist_ui_ops.update = update
10405  *         c_blist_ui_ops.remove = remove
10406  *         c_blist_ui_ops.destroy = destroy             # <<<<<<<<<<<<<<
10407  *         c_blist_ui_ops.set_visible = set_visible
10408  *         c_blist_ui_ops.request_add_buddy = request_add_buddy
10409  */
10410   __pyx_v_6purple_c_blist_ui_ops.destroy = __pyx_f_6purple_destroy;
10411
10412   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":174
10413  *         c_blist_ui_ops.remove = remove
10414  *         c_blist_ui_ops.destroy = destroy
10415  *         c_blist_ui_ops.set_visible = set_visible             # <<<<<<<<<<<<<<
10416  *         c_blist_ui_ops.request_add_buddy = request_add_buddy
10417  *         c_blist_ui_ops.request_add_chat = request_add_chat
10418  */
10419   __pyx_v_6purple_c_blist_ui_ops.set_visible = __pyx_f_6purple_set_visible;
10420
10421   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":175
10422  *         c_blist_ui_ops.destroy = destroy
10423  *         c_blist_ui_ops.set_visible = set_visible
10424  *         c_blist_ui_ops.request_add_buddy = request_add_buddy             # <<<<<<<<<<<<<<
10425  *         c_blist_ui_ops.request_add_chat = request_add_chat
10426  *         c_blist_ui_ops.request_add_group = request_add_group
10427  */
10428   __pyx_v_6purple_c_blist_ui_ops.request_add_buddy = __pyx_f_6purple_request_add_buddy;
10429
10430   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":176
10431  *         c_blist_ui_ops.set_visible = set_visible
10432  *         c_blist_ui_ops.request_add_buddy = request_add_buddy
10433  *         c_blist_ui_ops.request_add_chat = request_add_chat             # <<<<<<<<<<<<<<
10434  *         c_blist_ui_ops.request_add_group = request_add_group
10435  * 
10436  */
10437   __pyx_v_6purple_c_blist_ui_ops.request_add_chat = __pyx_f_6purple_request_add_chat;
10438
10439   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":177
10440  *         c_blist_ui_ops.request_add_buddy = request_add_buddy
10441  *         c_blist_ui_ops.request_add_chat = request_add_chat
10442  *         c_blist_ui_ops.request_add_group = request_add_group             # <<<<<<<<<<<<<<
10443  * 
10444  *         c_conn_ui_ops.connect_progress = connect_progress
10445  */
10446   __pyx_v_6purple_c_blist_ui_ops.request_add_group = __pyx_f_6purple_request_add_group;
10447
10448   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":179
10449  *         c_blist_ui_ops.request_add_group = request_add_group
10450  * 
10451  *         c_conn_ui_ops.connect_progress = connect_progress             # <<<<<<<<<<<<<<
10452  *         c_conn_ui_ops.connected = connected
10453  *         c_conn_ui_ops.disconnected = disconnected
10454  */
10455   __pyx_v_6purple_c_conn_ui_ops.connect_progress = __pyx_f_6purple_connect_progress;
10456
10457   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":180
10458  * 
10459  *         c_conn_ui_ops.connect_progress = connect_progress
10460  *         c_conn_ui_ops.connected = connected             # <<<<<<<<<<<<<<
10461  *         c_conn_ui_ops.disconnected = disconnected
10462  *         c_conn_ui_ops.notice = notice
10463  */
10464   __pyx_v_6purple_c_conn_ui_ops.connected = __pyx_f_6purple_connected;
10465
10466   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":181
10467  *         c_conn_ui_ops.connect_progress = connect_progress
10468  *         c_conn_ui_ops.connected = connected
10469  *         c_conn_ui_ops.disconnected = disconnected             # <<<<<<<<<<<<<<
10470  *         c_conn_ui_ops.notice = notice
10471  *         c_conn_ui_ops.report_disconnect = report_disconnect
10472  */
10473   __pyx_v_6purple_c_conn_ui_ops.disconnected = __pyx_f_6purple_disconnected;
10474
10475   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":182
10476  *         c_conn_ui_ops.connected = connected
10477  *         c_conn_ui_ops.disconnected = disconnected
10478  *         c_conn_ui_ops.notice = notice             # <<<<<<<<<<<<<<
10479  *         c_conn_ui_ops.report_disconnect = report_disconnect
10480  *         c_conn_ui_ops.network_connected = network_connected
10481  */
10482   __pyx_v_6purple_c_conn_ui_ops.notice = __pyx_f_6purple_notice;
10483
10484   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":183
10485  *         c_conn_ui_ops.disconnected = disconnected
10486  *         c_conn_ui_ops.notice = notice
10487  *         c_conn_ui_ops.report_disconnect = report_disconnect             # <<<<<<<<<<<<<<
10488  *         c_conn_ui_ops.network_connected = network_connected
10489  *         c_conn_ui_ops.network_disconnected = network_disconnected
10490  */
10491   __pyx_v_6purple_c_conn_ui_ops.report_disconnect = __pyx_f_6purple_report_disconnect;
10492
10493   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":184
10494  *         c_conn_ui_ops.notice = notice
10495  *         c_conn_ui_ops.report_disconnect = report_disconnect
10496  *         c_conn_ui_ops.network_connected = network_connected             # <<<<<<<<<<<<<<
10497  *         c_conn_ui_ops.network_disconnected = network_disconnected
10498  *         c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason
10499  */
10500   __pyx_v_6purple_c_conn_ui_ops.network_connected = __pyx_f_6purple_network_connected;
10501
10502   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":185
10503  *         c_conn_ui_ops.report_disconnect = report_disconnect
10504  *         c_conn_ui_ops.network_connected = network_connected
10505  *         c_conn_ui_ops.network_disconnected = network_disconnected             # <<<<<<<<<<<<<<
10506  *         c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason
10507  * 
10508  */
10509   __pyx_v_6purple_c_conn_ui_ops.network_disconnected = __pyx_f_6purple_network_disconnected;
10510
10511   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":186
10512  *         c_conn_ui_ops.network_connected = network_connected
10513  *         c_conn_ui_ops.network_disconnected = network_disconnected
10514  *         c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason             # <<<<<<<<<<<<<<
10515  * 
10516  *         c_conv_ui_ops.create_conversation = create_conversation
10517  */
10518   __pyx_v_6purple_c_conn_ui_ops.report_disconnect_reason = __pyx_f_6purple_report_disconnect_reason;
10519
10520   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":188
10521  *         c_conn_ui_ops.report_disconnect_reason = report_disconnect_reason
10522  * 
10523  *         c_conv_ui_ops.create_conversation = create_conversation             # <<<<<<<<<<<<<<
10524  *         c_conv_ui_ops.destroy_conversation = destroy_conversation
10525  *         c_conv_ui_ops.write_chat = write_chat
10526  */
10527   __pyx_v_6purple_c_conv_ui_ops.create_conversation = __pyx_f_6purple_create_conversation;
10528
10529   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":189
10530  * 
10531  *         c_conv_ui_ops.create_conversation = create_conversation
10532  *         c_conv_ui_ops.destroy_conversation = destroy_conversation             # <<<<<<<<<<<<<<
10533  *         c_conv_ui_ops.write_chat = write_chat
10534  *         c_conv_ui_ops.write_im = write_im
10535  */
10536   __pyx_v_6purple_c_conv_ui_ops.destroy_conversation = __pyx_f_6purple_destroy_conversation;
10537
10538   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":190
10539  *         c_conv_ui_ops.create_conversation = create_conversation
10540  *         c_conv_ui_ops.destroy_conversation = destroy_conversation
10541  *         c_conv_ui_ops.write_chat = write_chat             # <<<<<<<<<<<<<<
10542  *         c_conv_ui_ops.write_im = write_im
10543  *         c_conv_ui_ops.write_conv = write_conv
10544  */
10545   __pyx_v_6purple_c_conv_ui_ops.write_chat = __pyx_f_6purple_write_chat;
10546
10547   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":191
10548  *         c_conv_ui_ops.destroy_conversation = destroy_conversation
10549  *         c_conv_ui_ops.write_chat = write_chat
10550  *         c_conv_ui_ops.write_im = write_im             # <<<<<<<<<<<<<<
10551  *         c_conv_ui_ops.write_conv = write_conv
10552  *         c_conv_ui_ops.chat_add_users = chat_add_users
10553  */
10554   __pyx_v_6purple_c_conv_ui_ops.write_im = __pyx_f_6purple_write_im;
10555
10556   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":192
10557  *         c_conv_ui_ops.write_chat = write_chat
10558  *         c_conv_ui_ops.write_im = write_im
10559  *         c_conv_ui_ops.write_conv = write_conv             # <<<<<<<<<<<<<<
10560  *         c_conv_ui_ops.chat_add_users = chat_add_users
10561  *         c_conv_ui_ops.chat_rename_user = chat_rename_user
10562  */
10563   __pyx_v_6purple_c_conv_ui_ops.write_conv = __pyx_f_6purple_write_conv;
10564
10565   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":193
10566  *         c_conv_ui_ops.write_im = write_im
10567  *         c_conv_ui_ops.write_conv = write_conv
10568  *         c_conv_ui_ops.chat_add_users = chat_add_users             # <<<<<<<<<<<<<<
10569  *         c_conv_ui_ops.chat_rename_user = chat_rename_user
10570  *         c_conv_ui_ops.chat_remove_users = chat_remove_users
10571  */
10572   __pyx_v_6purple_c_conv_ui_ops.chat_add_users = __pyx_f_6purple_chat_add_users;
10573
10574   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":194
10575  *         c_conv_ui_ops.write_conv = write_conv
10576  *         c_conv_ui_ops.chat_add_users = chat_add_users
10577  *         c_conv_ui_ops.chat_rename_user = chat_rename_user             # <<<<<<<<<<<<<<
10578  *         c_conv_ui_ops.chat_remove_users = chat_remove_users
10579  *         c_conv_ui_ops.chat_update_user = chat_update_user
10580  */
10581   __pyx_v_6purple_c_conv_ui_ops.chat_rename_user = __pyx_f_6purple_chat_rename_user;
10582
10583   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":195
10584  *         c_conv_ui_ops.chat_add_users = chat_add_users
10585  *         c_conv_ui_ops.chat_rename_user = chat_rename_user
10586  *         c_conv_ui_ops.chat_remove_users = chat_remove_users             # <<<<<<<<<<<<<<
10587  *         c_conv_ui_ops.chat_update_user = chat_update_user
10588  *         c_conv_ui_ops.present = present
10589  */
10590   __pyx_v_6purple_c_conv_ui_ops.chat_remove_users = __pyx_f_6purple_chat_remove_users;
10591
10592   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":196
10593  *         c_conv_ui_ops.chat_rename_user = chat_rename_user
10594  *         c_conv_ui_ops.chat_remove_users = chat_remove_users
10595  *         c_conv_ui_ops.chat_update_user = chat_update_user             # <<<<<<<<<<<<<<
10596  *         c_conv_ui_ops.present = present
10597  *         c_conv_ui_ops.has_focus = has_focus
10598  */
10599   __pyx_v_6purple_c_conv_ui_ops.chat_update_user = __pyx_f_6purple_chat_update_user;
10600
10601   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":197
10602  *         c_conv_ui_ops.chat_remove_users = chat_remove_users
10603  *         c_conv_ui_ops.chat_update_user = chat_update_user
10604  *         c_conv_ui_ops.present = present             # <<<<<<<<<<<<<<
10605  *         c_conv_ui_ops.has_focus = has_focus
10606  *         c_conv_ui_ops.custom_smiley_add = custom_smiley_add
10607  */
10608   __pyx_v_6purple_c_conv_ui_ops.present = __pyx_f_6purple_present;
10609
10610   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":198
10611  *         c_conv_ui_ops.chat_update_user = chat_update_user
10612  *         c_conv_ui_ops.present = present
10613  *         c_conv_ui_ops.has_focus = has_focus             # <<<<<<<<<<<<<<
10614  *         c_conv_ui_ops.custom_smiley_add = custom_smiley_add
10615  *         c_conv_ui_ops.custom_smiley_write = custom_smiley_write
10616  */
10617   __pyx_v_6purple_c_conv_ui_ops.has_focus = __pyx_f_6purple_has_focus;
10618
10619   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":199
10620  *         c_conv_ui_ops.present = present
10621  *         c_conv_ui_ops.has_focus = has_focus
10622  *         c_conv_ui_ops.custom_smiley_add = custom_smiley_add             # <<<<<<<<<<<<<<
10623  *         c_conv_ui_ops.custom_smiley_write = custom_smiley_write
10624  *         c_conv_ui_ops.custom_smiley_close = custom_smiley_close
10625  */
10626   __pyx_v_6purple_c_conv_ui_ops.custom_smiley_add = __pyx_f_6purple_custom_smiley_add;
10627
10628   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":200
10629  *         c_conv_ui_ops.has_focus = has_focus
10630  *         c_conv_ui_ops.custom_smiley_add = custom_smiley_add
10631  *         c_conv_ui_ops.custom_smiley_write = custom_smiley_write             # <<<<<<<<<<<<<<
10632  *         c_conv_ui_ops.custom_smiley_close = custom_smiley_close
10633  *         c_conv_ui_ops.send_confirm = send_confirm
10634  */
10635   __pyx_v_6purple_c_conv_ui_ops.custom_smiley_write = __pyx_f_6purple_custom_smiley_write;
10636
10637   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":201
10638  *         c_conv_ui_ops.custom_smiley_add = custom_smiley_add
10639  *         c_conv_ui_ops.custom_smiley_write = custom_smiley_write
10640  *         c_conv_ui_ops.custom_smiley_close = custom_smiley_close             # <<<<<<<<<<<<<<
10641  *         c_conv_ui_ops.send_confirm = send_confirm
10642  * 
10643  */
10644   __pyx_v_6purple_c_conv_ui_ops.custom_smiley_close = __pyx_f_6purple_custom_smiley_close;
10645
10646   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":202
10647  *         c_conv_ui_ops.custom_smiley_write = custom_smiley_write
10648  *         c_conv_ui_ops.custom_smiley_close = custom_smiley_close
10649  *         c_conv_ui_ops.send_confirm = send_confirm             # <<<<<<<<<<<<<<
10650  * 
10651  *         c_notify_ui_ops.notify_message = notify_message
10652  */
10653   __pyx_v_6purple_c_conv_ui_ops.send_confirm = __pyx_f_6purple_send_confirm;
10654
10655   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":204
10656  *         c_conv_ui_ops.send_confirm = send_confirm
10657  * 
10658  *         c_notify_ui_ops.notify_message = notify_message             # <<<<<<<<<<<<<<
10659  *         c_notify_ui_ops.notify_email = notify_email
10660  *         c_notify_ui_ops.notify_emails = notify_emails
10661  */
10662   __pyx_v_6purple_c_notify_ui_ops.notify_message = __pyx_f_6purple_notify_message;
10663
10664   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":205
10665  * 
10666  *         c_notify_ui_ops.notify_message = notify_message
10667  *         c_notify_ui_ops.notify_email = notify_email             # <<<<<<<<<<<<<<
10668  *         c_notify_ui_ops.notify_emails = notify_emails
10669  *         c_notify_ui_ops.notify_formatted = notify_formatted
10670  */
10671   __pyx_v_6purple_c_notify_ui_ops.notify_email = __pyx_f_6purple_notify_email;
10672
10673   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":206
10674  *         c_notify_ui_ops.notify_message = notify_message
10675  *         c_notify_ui_ops.notify_email = notify_email
10676  *         c_notify_ui_ops.notify_emails = notify_emails             # <<<<<<<<<<<<<<
10677  *         c_notify_ui_ops.notify_formatted = notify_formatted
10678  *         c_notify_ui_ops.notify_searchresults = notify_searchresults
10679  */
10680   __pyx_v_6purple_c_notify_ui_ops.notify_emails = __pyx_f_6purple_notify_emails;
10681
10682   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":207
10683  *         c_notify_ui_ops.notify_email = notify_email
10684  *         c_notify_ui_ops.notify_emails = notify_emails
10685  *         c_notify_ui_ops.notify_formatted = notify_formatted             # <<<<<<<<<<<<<<
10686  *         c_notify_ui_ops.notify_searchresults = notify_searchresults
10687  *         c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows
10688  */
10689   __pyx_v_6purple_c_notify_ui_ops.notify_formatted = __pyx_f_6purple_notify_formatted;
10690
10691   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":208
10692  *         c_notify_ui_ops.notify_emails = notify_emails
10693  *         c_notify_ui_ops.notify_formatted = notify_formatted
10694  *         c_notify_ui_ops.notify_searchresults = notify_searchresults             # <<<<<<<<<<<<<<
10695  *         c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows
10696  *         c_notify_ui_ops.notify_userinfo = notify_userinfo
10697  */
10698   __pyx_v_6purple_c_notify_ui_ops.notify_searchresults = __pyx_f_6purple_notify_searchresults;
10699
10700   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":209
10701  *         c_notify_ui_ops.notify_formatted = notify_formatted
10702  *         c_notify_ui_ops.notify_searchresults = notify_searchresults
10703  *         c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows             # <<<<<<<<<<<<<<
10704  *         c_notify_ui_ops.notify_userinfo = notify_userinfo
10705  *         c_notify_ui_ops.notify_uri = notify_uri
10706  */
10707   __pyx_v_6purple_c_notify_ui_ops.notify_searchresults_new_rows = __pyx_f_6purple_notify_searchresults_new_rows;
10708
10709   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":210
10710  *         c_notify_ui_ops.notify_searchresults = notify_searchresults
10711  *         c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows
10712  *         c_notify_ui_ops.notify_userinfo = notify_userinfo             # <<<<<<<<<<<<<<
10713  *         c_notify_ui_ops.notify_uri = notify_uri
10714  *         c_notify_ui_ops.close_notify = close_notify
10715  */
10716   __pyx_v_6purple_c_notify_ui_ops.notify_userinfo = __pyx_f_6purple_notify_userinfo;
10717
10718   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":211
10719  *         c_notify_ui_ops.notify_searchresults_new_rows = notify_searchresults_new_rows
10720  *         c_notify_ui_ops.notify_userinfo = notify_userinfo
10721  *         c_notify_ui_ops.notify_uri = notify_uri             # <<<<<<<<<<<<<<
10722  *         c_notify_ui_ops.close_notify = close_notify
10723  * 
10724  */
10725   __pyx_v_6purple_c_notify_ui_ops.notify_uri = __pyx_f_6purple_notify_uri;
10726
10727   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":212
10728  *         c_notify_ui_ops.notify_userinfo = notify_userinfo
10729  *         c_notify_ui_ops.notify_uri = notify_uri
10730  *         c_notify_ui_ops.close_notify = close_notify             # <<<<<<<<<<<<<<
10731  * 
10732  *         c_request_ui_ops.request_input = request_input
10733  */
10734   __pyx_v_6purple_c_notify_ui_ops.close_notify = __pyx_f_6purple_close_notify;
10735
10736   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":214
10737  *         c_notify_ui_ops.close_notify = close_notify
10738  * 
10739  *         c_request_ui_ops.request_input = request_input             # <<<<<<<<<<<<<<
10740  *         c_request_ui_ops.request_choice = request_choice
10741  *         c_request_ui_ops.request_action = request_action
10742  */
10743   __pyx_v_6purple_c_request_ui_ops.request_input = __pyx_f_6purple_request_input;
10744
10745   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":215
10746  * 
10747  *         c_request_ui_ops.request_input = request_input
10748  *         c_request_ui_ops.request_choice = request_choice             # <<<<<<<<<<<<<<
10749  *         c_request_ui_ops.request_action = request_action
10750  *         c_request_ui_ops.request_fields = request_fields
10751  */
10752   __pyx_v_6purple_c_request_ui_ops.request_choice = __pyx_f_6purple_request_choice;
10753
10754   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":216
10755  *         c_request_ui_ops.request_input = request_input
10756  *         c_request_ui_ops.request_choice = request_choice
10757  *         c_request_ui_ops.request_action = request_action             # <<<<<<<<<<<<<<
10758  *         c_request_ui_ops.request_fields = request_fields
10759  *         c_request_ui_ops.request_file = request_file
10760  */
10761   __pyx_v_6purple_c_request_ui_ops.request_action = __pyx_f_6purple_request_action;
10762
10763   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":217
10764  *         c_request_ui_ops.request_choice = request_choice
10765  *         c_request_ui_ops.request_action = request_action
10766  *         c_request_ui_ops.request_fields = request_fields             # <<<<<<<<<<<<<<
10767  *         c_request_ui_ops.request_file = request_file
10768  *         c_request_ui_ops.close_request = close_request
10769  */
10770   __pyx_v_6purple_c_request_ui_ops.request_fields = __pyx_f_6purple_request_fields;
10771
10772   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":218
10773  *         c_request_ui_ops.request_action = request_action
10774  *         c_request_ui_ops.request_fields = request_fields
10775  *         c_request_ui_ops.request_file = request_file             # <<<<<<<<<<<<<<
10776  *         c_request_ui_ops.close_request = close_request
10777  *         c_request_ui_ops.request_folder = request_folder
10778  */
10779   __pyx_v_6purple_c_request_ui_ops.request_file = __pyx_f_6purple_request_file;
10780
10781   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":219
10782  *         c_request_ui_ops.request_fields = request_fields
10783  *         c_request_ui_ops.request_file = request_file
10784  *         c_request_ui_ops.close_request = close_request             # <<<<<<<<<<<<<<
10785  *         c_request_ui_ops.request_folder = request_folder
10786  * 
10787  */
10788   __pyx_v_6purple_c_request_ui_ops.close_request = __pyx_f_6purple_close_request;
10789
10790   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":220
10791  *         c_request_ui_ops.request_file = request_file
10792  *         c_request_ui_ops.close_request = close_request
10793  *         c_request_ui_ops.request_folder = request_folder             # <<<<<<<<<<<<<<
10794  * 
10795  *         c_core_ui_ops.ui_prefs_init = <void (*)()> self.__core_ui_ops_ui_prefs_init
10796  */
10797   __pyx_v_6purple_c_request_ui_ops.request_folder = __pyx_f_6purple_request_folder;
10798
10799   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":222
10800  *         c_request_ui_ops.request_folder = request_folder
10801  * 
10802  *         c_core_ui_ops.ui_prefs_init = <void (*)()> self.__core_ui_ops_ui_prefs_init             # <<<<<<<<<<<<<<
10803  *         c_core_ui_ops.debug_ui_init = <void (*)()> self.__core_ui_ops_debug_init
10804  *         c_core_ui_ops.ui_init = <void (*)()> self.__core_ui_ops_ui_init
10805  */
10806   __pyx_v_6purple_c_core_ui_ops.ui_prefs_init = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_ui_prefs_init);
10807
10808   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":223
10809  * 
10810  *         c_core_ui_ops.ui_prefs_init = <void (*)()> self.__core_ui_ops_ui_prefs_init
10811  *         c_core_ui_ops.debug_ui_init = <void (*)()> self.__core_ui_ops_debug_init             # <<<<<<<<<<<<<<
10812  *         c_core_ui_ops.ui_init = <void (*)()> self.__core_ui_ops_ui_init
10813  *         c_core_ui_ops.quit = <void (*)()> self.__core_ui_ops_quit
10814  */
10815   __pyx_v_6purple_c_core_ui_ops.debug_ui_init = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_debug_init);
10816
10817   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":224
10818  *         c_core_ui_ops.ui_prefs_init = <void (*)()> self.__core_ui_ops_ui_prefs_init
10819  *         c_core_ui_ops.debug_ui_init = <void (*)()> self.__core_ui_ops_debug_init
10820  *         c_core_ui_ops.ui_init = <void (*)()> self.__core_ui_ops_ui_init             # <<<<<<<<<<<<<<
10821  *         c_core_ui_ops.quit = <void (*)()> self.__core_ui_ops_quit
10822  *         c_core_ui_ops.get_ui_info = <glib.GHashTable* (*)()> self.__core_ui_ops_get_ui_info
10823  */
10824   __pyx_v_6purple_c_core_ui_ops.ui_init = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_ui_init);
10825
10826   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":225
10827  *         c_core_ui_ops.debug_ui_init = <void (*)()> self.__core_ui_ops_debug_init
10828  *         c_core_ui_ops.ui_init = <void (*)()> self.__core_ui_ops_ui_init
10829  *         c_core_ui_ops.quit = <void (*)()> self.__core_ui_ops_quit             # <<<<<<<<<<<<<<
10830  *         c_core_ui_ops.get_ui_info = <glib.GHashTable* (*)()> self.__core_ui_ops_get_ui_info
10831  * 
10832  */
10833   __pyx_v_6purple_c_core_ui_ops.quit = ((void (*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_quit);
10834
10835   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":226
10836  *         c_core_ui_ops.ui_init = <void (*)()> self.__core_ui_ops_ui_init
10837  *         c_core_ui_ops.quit = <void (*)()> self.__core_ui_ops_quit
10838  *         c_core_ui_ops.get_ui_info = <glib.GHashTable* (*)()> self.__core_ui_ops_get_ui_info             # <<<<<<<<<<<<<<
10839  * 
10840  *         c_eventloop_ui_ops.timeout_add = glib.g_timeout_add
10841  */
10842   __pyx_v_6purple_c_core_ui_ops.get_ui_info = ((GHashTable *(*)(void))((struct __pyx_vtabstruct_6purple_Purple *)((struct __pyx_obj_6purple_Purple *)__pyx_v_self)->__pyx_vtab)->__core_ui_ops_get_ui_info);
10843
10844   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":228
10845  *         c_core_ui_ops.get_ui_info = <glib.GHashTable* (*)()> self.__core_ui_ops_get_ui_info
10846  * 
10847  *         c_eventloop_ui_ops.timeout_add = glib.g_timeout_add             # <<<<<<<<<<<<<<
10848  *         c_eventloop_ui_ops.timeout_remove = glib.g_source_remove
10849  *         c_eventloop_ui_ops.input_add = glib_input_add
10850  */
10851   __pyx_v_6purple_c_eventloop_ui_ops.timeout_add = g_timeout_add;
10852
10853   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":229
10854  * 
10855  *         c_eventloop_ui_ops.timeout_add = glib.g_timeout_add
10856  *         c_eventloop_ui_ops.timeout_remove = glib.g_source_remove             # <<<<<<<<<<<<<<
10857  *         c_eventloop_ui_ops.input_add = glib_input_add
10858  *         c_eventloop_ui_ops.input_remove = glib.g_source_remove
10859  */
10860   __pyx_v_6purple_c_eventloop_ui_ops.timeout_remove = g_source_remove;
10861
10862   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":230
10863  *         c_eventloop_ui_ops.timeout_add = glib.g_timeout_add
10864  *         c_eventloop_ui_ops.timeout_remove = glib.g_source_remove
10865  *         c_eventloop_ui_ops.input_add = glib_input_add             # <<<<<<<<<<<<<<
10866  *         c_eventloop_ui_ops.input_remove = glib.g_source_remove
10867  *         c_eventloop_ui_ops.input_get_error = NULL
10868  */
10869   __pyx_v_6purple_c_eventloop_ui_ops.input_add = glib_input_add;
10870
10871   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":231
10872  *         c_eventloop_ui_ops.timeout_remove = glib.g_source_remove
10873  *         c_eventloop_ui_ops.input_add = glib_input_add
10874  *         c_eventloop_ui_ops.input_remove = glib.g_source_remove             # <<<<<<<<<<<<<<
10875  *         c_eventloop_ui_ops.input_get_error = NULL
10876  *         c_eventloop_ui_ops.timeout_add_seconds = NULL
10877  */
10878   __pyx_v_6purple_c_eventloop_ui_ops.input_remove = g_source_remove;
10879
10880   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":232
10881  *         c_eventloop_ui_ops.input_add = glib_input_add
10882  *         c_eventloop_ui_ops.input_remove = glib.g_source_remove
10883  *         c_eventloop_ui_ops.input_get_error = NULL             # <<<<<<<<<<<<<<
10884  *         c_eventloop_ui_ops.timeout_add_seconds = NULL
10885  * 
10886  */
10887   __pyx_v_6purple_c_eventloop_ui_ops.input_get_error = NULL;
10888
10889   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":233
10890  *         c_eventloop_ui_ops.input_remove = glib.g_source_remove
10891  *         c_eventloop_ui_ops.input_get_error = NULL
10892  *         c_eventloop_ui_ops.timeout_add_seconds = NULL             # <<<<<<<<<<<<<<
10893  * 
10894  *         core.purple_core_set_ui_ops(&c_core_ui_ops)
10895  */
10896   __pyx_v_6purple_c_eventloop_ui_ops.timeout_add_seconds = NULL;
10897
10898   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":235
10899  *         c_eventloop_ui_ops.timeout_add_seconds = NULL
10900  * 
10901  *         core.purple_core_set_ui_ops(&c_core_ui_ops)             # <<<<<<<<<<<<<<
10902  *         eventloop.purple_eventloop_set_ui_ops(&c_eventloop_ui_ops)
10903  * 
10904  */
10905   purple_core_set_ui_ops((&__pyx_v_6purple_c_core_ui_ops));
10906
10907   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":236
10908  * 
10909  *         core.purple_core_set_ui_ops(&c_core_ui_ops)
10910  *         eventloop.purple_eventloop_set_ui_ops(&c_eventloop_ui_ops)             # <<<<<<<<<<<<<<
10911  * 
10912  *         # initialize purple core
10913  */
10914   purple_eventloop_set_ui_ops((&__pyx_v_6purple_c_eventloop_ui_ops));
10915
10916   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":239
10917  * 
10918  *         # initialize purple core
10919  *         ret = core.purple_core_init(c_ui_name)             # <<<<<<<<<<<<<<
10920  *         if ret is False:
10921  *             debug.purple_debug_fatal("main", "%s", "libpurple " \
10922  */
10923   __pyx_1 = PyInt_FromLong(purple_core_init(__pyx_v_6purple_c_ui_name)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1;}
10924   Py_DECREF(__pyx_v_ret);
10925   __pyx_v_ret = __pyx_1;
10926   __pyx_1 = 0;
10927
10928   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":240
10929  *         # initialize purple core
10930  *         ret = core.purple_core_init(c_ui_name)
10931  *         if ret is False:             # <<<<<<<<<<<<<<
10932  *             debug.purple_debug_fatal("main", "%s", "libpurple " \
10933  *                                        "initialization failed.\n")
10934  */
10935   __pyx_2 = (__pyx_v_ret == Py_False);
10936   if (__pyx_2) {
10937
10938     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":241
10939  *         ret = core.purple_core_init(c_ui_name)
10940  *         if ret is False:
10941  *             debug.purple_debug_fatal("main", "%s", "libpurple " \             # <<<<<<<<<<<<<<
10942  *                                        "initialization failed.\n")
10943  *             return False
10944  */
10945     purple_debug_fatal(__pyx_k_399, __pyx_k_400, __pyx_k_401);
10946
10947     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":243
10948  *             debug.purple_debug_fatal("main", "%s", "libpurple " \
10949  *                                        "initialization failed.\n")
10950  *             return False             # <<<<<<<<<<<<<<
10951  * 
10952  *         # check if there is another instance of libpurple running
10953  */
10954     Py_INCREF(Py_False);
10955     __pyx_r = Py_False;
10956     goto __pyx_L0;
10957     goto __pyx_L4;
10958   }
10959   __pyx_L4:;
10960
10961   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":246
10962  * 
10963  *         # check if there is another instance of libpurple running
10964  *         if core.purple_core_ensure_single_instance() == False:             # <<<<<<<<<<<<<<
10965  *             debug.purple_debug_fatal("main", "%s", "Another instance of " \
10966  *                                       "libpurple is already running.\n")
10967  */
10968   __pyx_1 = PyInt_FromLong(purple_core_ensure_single_instance()); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1;}
10969   __pyx_3 = PyObject_RichCompare(__pyx_1, Py_False, Py_EQ); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1;}
10970   Py_DECREF(__pyx_1); __pyx_1 = 0;
10971   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1;}
10972   Py_DECREF(__pyx_3); __pyx_3 = 0;
10973   if (__pyx_2) {
10974
10975     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":247
10976  *         # check if there is another instance of libpurple running
10977  *         if core.purple_core_ensure_single_instance() == False:
10978  *             debug.purple_debug_fatal("main", "%s", "Another instance of " \             # <<<<<<<<<<<<<<
10979  *                                       "libpurple is already running.\n")
10980  *             core.purple_core_quit()
10981  */
10982     purple_debug_fatal(__pyx_k_402, __pyx_k_403, __pyx_k_404);
10983
10984     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":249
10985  *             debug.purple_debug_fatal("main", "%s", "Another instance of " \
10986  *                                       "libpurple is already running.\n")
10987  *             core.purple_core_quit()             # <<<<<<<<<<<<<<
10988  *             return False
10989  * 
10990  */
10991     purple_core_quit();
10992
10993     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":250
10994  *                                       "libpurple is already running.\n")
10995  *             core.purple_core_quit()
10996  *             return False             # <<<<<<<<<<<<<<
10997  * 
10998  *         # create and load the buddy list
10999  */
11000     Py_INCREF(Py_False);
11001     __pyx_r = Py_False;
11002     goto __pyx_L0;
11003     goto __pyx_L5;
11004   }
11005   __pyx_L5:;
11006
11007   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":253
11008  * 
11009  *         # create and load the buddy list
11010  *         blist.purple_set_blist(blist.purple_blist_new())             # <<<<<<<<<<<<<<
11011  *         blist.purple_blist_load()
11012  * 
11013  */
11014   purple_set_blist(purple_blist_new());
11015
11016   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":254
11017  *         # create and load the buddy list
11018  *         blist.purple_set_blist(blist.purple_blist_new())
11019  *         blist.purple_blist_load()             # <<<<<<<<<<<<<<
11020  * 
11021  *         # load pounces
11022  */
11023   purple_blist_load();
11024
11025   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":257
11026  * 
11027  *         # load pounces
11028  *         pounce.purple_pounces_load()             # <<<<<<<<<<<<<<
11029  * 
11030  *         return ret
11031  */
11032   purple_pounces_load();
11033
11034   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":259
11035  *         pounce.purple_pounces_load()
11036  * 
11037  *         return ret             # <<<<<<<<<<<<<<
11038  * 
11039  *     def add_callback(self, type, name, callback):
11040  */
11041   Py_INCREF(__pyx_v_ret);
11042   __pyx_r = __pyx_v_ret;
11043   goto __pyx_L0;
11044
11045   __pyx_r = Py_None; Py_INCREF(Py_None);
11046   goto __pyx_L0;
11047   __pyx_L1:;
11048   Py_XDECREF(__pyx_1);
11049   Py_XDECREF(__pyx_3);
11050   __Pyx_AddTraceback("purple.Purple.purple_init");
11051   __pyx_r = NULL;
11052   __pyx_L0:;
11053   Py_DECREF(__pyx_v_ret);
11054   return __pyx_r;
11055 }
11056
11057 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":261
11058  *         return ret
11059  * 
11060  *     def add_callback(self, type, name, callback):             # <<<<<<<<<<<<<<
11061  *         """
11062  *         Adds a callback with given name inside callback's type.
11063  */
11064
11065 static char __pyx_k_405[] = "account";
11066 static char __pyx_k_406[] = "blist";
11067 static char __pyx_k_407[] = "connection";
11068 static char __pyx_k_408[] = "conversation";
11069 static char __pyx_k_409[] = "notify";
11070 static char __pyx_k_410[] = "request";
11071
11072 static PyObject *__pyx_kp_405;
11073 static PyObject *__pyx_kp_406;
11074 static PyObject *__pyx_kp_407;
11075 static PyObject *__pyx_kp_408;
11076 static PyObject *__pyx_kp_409;
11077 static PyObject *__pyx_kp_410;
11078
11079
11080
11081 static PyObject *__pyx_pf_6purple_6Purple_add_callback(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11082 static char __pyx_doc_6purple_6Purple_add_callback[] = "\n        Adds a callback with given name inside callback\'s type.\n\n        @param type     Callback type (e.g. \"account\")\n        @param name     Callback name (e.g. \"notify-added\")\n        @param callback Callback to be called\n        ";
11083 static PyObject *__pyx_pf_6purple_6Purple_add_callback(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11084   PyObject *__pyx_v_type = 0;
11085   PyObject *__pyx_v_name = 0;
11086   PyObject *__pyx_v_callback = 0;
11087   PyObject *__pyx_r;
11088   PyObject *__pyx_1 = 0;
11089   PyObject *__pyx_2 = 0;
11090   static char *__pyx_argnames[] = {"type","name","callback",0};
11091   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 3)) {
11092     __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0);
11093     __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 1);
11094     __pyx_v_callback = PyTuple_GET_ITEM(__pyx_args, 2);
11095   }
11096   else {
11097     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOO", __pyx_argnames, &__pyx_v_type, &__pyx_v_name, &__pyx_v_callback))) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L2;}
11098   }
11099   goto __pyx_L3;
11100   __pyx_L2:;
11101   __Pyx_AddTraceback("purple.Purple.add_callback");
11102   return NULL;
11103   __pyx_L3:;
11104
11105   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":281
11106  *           "conversation": conversation_cbs,
11107  *           "notify": notify_cbs,
11108  *           "request": request_cbs }[type][name] = callback             # <<<<<<<<<<<<<<
11109  * 
11110  *     def signal_connect(self, name=None, cb=None):
11111  */
11112   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11113
11114   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":276
11115  *         global request_cbs
11116  * 
11117  *         { "account": account_cbs,             # <<<<<<<<<<<<<<
11118  *           "blist": blist_cbs,
11119  *           "connection": connection_cbs,
11120  */
11121   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_account_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11122   if (PyDict_SetItem(__pyx_1, __pyx_kp_405, __pyx_2) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11123   Py_DECREF(__pyx_2); __pyx_2 = 0;
11124
11125   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":277
11126  * 
11127  *         { "account": account_cbs,
11128  *           "blist": blist_cbs,             # <<<<<<<<<<<<<<
11129  *           "connection": connection_cbs,
11130  *           "conversation": conversation_cbs,
11131  */
11132   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_blist_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1;}
11133   if (PyDict_SetItem(__pyx_1, __pyx_kp_406, __pyx_2) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11134   Py_DECREF(__pyx_2); __pyx_2 = 0;
11135
11136   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":278
11137  *         { "account": account_cbs,
11138  *           "blist": blist_cbs,
11139  *           "connection": connection_cbs,             # <<<<<<<<<<<<<<
11140  *           "conversation": conversation_cbs,
11141  *           "notify": notify_cbs,
11142  */
11143   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_connection_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1;}
11144   if (PyDict_SetItem(__pyx_1, __pyx_kp_407, __pyx_2) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11145   Py_DECREF(__pyx_2); __pyx_2 = 0;
11146
11147   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":279
11148  *           "blist": blist_cbs,
11149  *           "connection": connection_cbs,
11150  *           "conversation": conversation_cbs,             # <<<<<<<<<<<<<<
11151  *           "notify": notify_cbs,
11152  *           "request": request_cbs }[type][name] = callback
11153  */
11154   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_conversation_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1;}
11155   if (PyDict_SetItem(__pyx_1, __pyx_kp_408, __pyx_2) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11156   Py_DECREF(__pyx_2); __pyx_2 = 0;
11157
11158   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":280
11159  *           "connection": connection_cbs,
11160  *           "conversation": conversation_cbs,
11161  *           "notify": notify_cbs,             # <<<<<<<<<<<<<<
11162  *           "request": request_cbs }[type][name] = callback
11163  * 
11164  */
11165   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_notify_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1;}
11166   if (PyDict_SetItem(__pyx_1, __pyx_kp_409, __pyx_2) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11167   Py_DECREF(__pyx_2); __pyx_2 = 0;
11168
11169   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":281
11170  *           "conversation": conversation_cbs,
11171  *           "notify": notify_cbs,
11172  *           "request": request_cbs }[type][name] = callback             # <<<<<<<<<<<<<<
11173  * 
11174  *     def signal_connect(self, name=None, cb=None):
11175  */
11176   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_request_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1;}
11177   if (PyDict_SetItem(__pyx_1, __pyx_kp_410, __pyx_2) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
11178   Py_DECREF(__pyx_2); __pyx_2 = 0;
11179   __pyx_2 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_v_type); if (!__pyx_2) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1;}
11180   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
11181   if (PyObject_SetItem(__pyx_2, __pyx_v_name, __pyx_v_callback) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1;}
11182   Py_DECREF(__pyx_2); __pyx_2 = 0;
11183
11184   __pyx_r = Py_None; Py_INCREF(Py_None);
11185   goto __pyx_L0;
11186   __pyx_L1:;
11187   Py_XDECREF(__pyx_1);
11188   Py_XDECREF(__pyx_2);
11189   __Pyx_AddTraceback("purple.Purple.add_callback");
11190   __pyx_r = NULL;
11191   __pyx_L0:;
11192   return __pyx_r;
11193 }
11194
11195 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":283
11196  *           "request": request_cbs }[type][name] = callback
11197  * 
11198  *     def signal_connect(self, name=None, cb=None):             # <<<<<<<<<<<<<<
11199  *         cdef int handle
11200  *         cdef plugin.PurplePlugin *jabber
11201  */
11202
11203 static PyObject *__pyx_kp_412;
11204 static PyObject *__pyx_kp_414;
11205 static PyObject *__pyx_kp_416;
11206 static PyObject *__pyx_kp_418;
11207 static PyObject *__pyx_kp_420;
11208 static PyObject *__pyx_kp_422;
11209 static PyObject *__pyx_kp_424;
11210
11211 static char __pyx_k_411[] = "prpl-jabber";
11212 static char __pyx_k_412[] = "signed-on";
11213 static char __pyx_k_413[] = "signed-on";
11214 static char __pyx_k_414[] = "signed-off";
11215 static char __pyx_k_415[] = "signed-off";
11216 static char __pyx_k_416[] = "connection-error";
11217 static char __pyx_k_417[] = "connection-error";
11218 static char __pyx_k_418[] = "buddy-signed-on";
11219 static char __pyx_k_419[] = "buddy-signed-on";
11220 static char __pyx_k_420[] = "buddy-signed-off";
11221 static char __pyx_k_421[] = "buddy-signed-off";
11222 static char __pyx_k_422[] = "receiving-im-msg";
11223 static char __pyx_k_423[] = "receiving-im-msg";
11224 static char __pyx_k_424[] = "jabber-receiving-xmlnode";
11225 static char __pyx_k_425[] = "jabber-receiving-xmlnode";
11226
11227 static PyObject *__pyx_pf_6purple_6Purple_signal_connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11228 static PyObject *__pyx_pf_6purple_6Purple_signal_connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11229   PyObject *__pyx_v_name = 0;
11230   PyObject *__pyx_v_cb = 0;
11231   int __pyx_v_handle;
11232   PurplePlugin *__pyx_v_jabber;
11233   PyObject *__pyx_r;
11234   int __pyx_1;
11235   PyObject *__pyx_2 = 0;
11236   static char *__pyx_argnames[] = {"name","cb",0};
11237   __pyx_v_name = Py_None;
11238   __pyx_v_cb = Py_None;
11239   if (likely(!__pyx_kwds) && likely(0 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 2)) {
11240     if (PyTuple_GET_SIZE(__pyx_args) > 0) {
11241       __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0);
11242       if (PyTuple_GET_SIZE(__pyx_args) > 1) {
11243         __pyx_v_cb = PyTuple_GET_ITEM(__pyx_args, 1);
11244       }
11245     }
11246   }
11247   else {
11248     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|OO", __pyx_argnames, &__pyx_v_name, &__pyx_v_cb))) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L2;}
11249   }
11250   goto __pyx_L3;
11251   __pyx_L2:;
11252   __Pyx_AddTraceback("purple.Purple.signal_connect");
11253   return NULL;
11254   __pyx_L3:;
11255
11256   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":287
11257  *         cdef plugin.PurplePlugin *jabber
11258  * 
11259  *         if name is None:             # <<<<<<<<<<<<<<
11260  *             return
11261  * 
11262  */
11263   __pyx_1 = (__pyx_v_name == Py_None);
11264   if (__pyx_1) {
11265
11266     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":288
11267  * 
11268  *         if name is None:
11269  *             return             # <<<<<<<<<<<<<<
11270  * 
11271  *         jabber = prpl.purple_find_prpl("prpl-jabber")
11272  */
11273     __pyx_r = Py_None; Py_INCREF(Py_None);
11274     goto __pyx_L0;
11275     goto __pyx_L4;
11276   }
11277   __pyx_L4:;
11278
11279   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":290
11280  *             return
11281  * 
11282  *         jabber = prpl.purple_find_prpl("prpl-jabber")             # <<<<<<<<<<<<<<
11283  *         if jabber == NULL:
11284  *             return
11285  */
11286   __pyx_v_jabber = purple_find_prpl(__pyx_k_411);
11287
11288   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":291
11289  * 
11290  *         jabber = prpl.purple_find_prpl("prpl-jabber")
11291  *         if jabber == NULL:             # <<<<<<<<<<<<<<
11292  *             return
11293  * 
11294  */
11295   __pyx_1 = (__pyx_v_jabber == NULL);
11296   if (__pyx_1) {
11297
11298     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":292
11299  *         jabber = prpl.purple_find_prpl("prpl-jabber")
11300  *         if jabber == NULL:
11301  *             return             # <<<<<<<<<<<<<<
11302  * 
11303  *         global signal_cbs
11304  */
11305     __pyx_r = Py_None; Py_INCREF(Py_None);
11306     goto __pyx_L0;
11307     goto __pyx_L5;
11308   }
11309   __pyx_L5:;
11310
11311   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":295
11312  * 
11313  *         global signal_cbs
11314  *         signal_cbs[name] = cb             # <<<<<<<<<<<<<<
11315  * 
11316  *         if name == "signed-on":
11317  */
11318   __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_signal_cbs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1;}
11319   if (PyObject_SetItem(__pyx_2, __pyx_v_name, __pyx_v_cb) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1;}
11320   Py_DECREF(__pyx_2); __pyx_2 = 0;
11321
11322   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":297
11323  *         signal_cbs[name] = cb
11324  * 
11325  *         if name == "signed-on":             # <<<<<<<<<<<<<<
11326  *             signals.purple_signal_connect(
11327  *                     connection.purple_connections_get_handle(),
11328  */
11329   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_412, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1;}
11330   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1;}
11331   Py_DECREF(__pyx_2); __pyx_2 = 0;
11332   if (__pyx_1) {
11333
11334     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":301
11335  *                     connection.purple_connections_get_handle(),
11336  *                     "signed-on", &handle,
11337  *                     <signals.PurpleCallback> signal_signed_on_cb, NULL)             # <<<<<<<<<<<<<<
11338  *         elif name == "signed-off":
11339  *             signals.purple_signal_connect(
11340  */
11341     purple_signal_connect(purple_connections_get_handle(), __pyx_k_413, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_signed_on_cb), NULL);
11342     goto __pyx_L6;
11343   }
11344
11345   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":302
11346  *                     "signed-on", &handle,
11347  *                     <signals.PurpleCallback> signal_signed_on_cb, NULL)
11348  *         elif name == "signed-off":             # <<<<<<<<<<<<<<
11349  *             signals.purple_signal_connect(
11350  *                     connection.purple_connections_get_handle(),
11351  */
11352   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_414, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1;}
11353   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1;}
11354   Py_DECREF(__pyx_2); __pyx_2 = 0;
11355   if (__pyx_1) {
11356
11357     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":306
11358  *                     connection.purple_connections_get_handle(),
11359  *                     "signed-off", &handle,
11360  *                     <signals.PurpleCallback> signal_signed_off_cb, NULL)             # <<<<<<<<<<<<<<
11361  *         elif name == "connection-error":
11362  *             signals.purple_signal_connect(
11363  */
11364     purple_signal_connect(purple_connections_get_handle(), __pyx_k_415, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_signed_off_cb), NULL);
11365     goto __pyx_L6;
11366   }
11367
11368   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":307
11369  *                     "signed-off", &handle,
11370  *                     <signals.PurpleCallback> signal_signed_off_cb, NULL)
11371  *         elif name == "connection-error":             # <<<<<<<<<<<<<<
11372  *             signals.purple_signal_connect(
11373  *                     connection.purple_connections_get_handle(),
11374  */
11375   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_416, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1;}
11376   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1;}
11377   Py_DECREF(__pyx_2); __pyx_2 = 0;
11378   if (__pyx_1) {
11379
11380     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":311
11381  *                     connection.purple_connections_get_handle(),
11382  *                     "connection-error", &handle,
11383  *                     <signals.PurpleCallback> signal_connection_error_cb, NULL)             # <<<<<<<<<<<<<<
11384  *         elif name == "buddy-signed-on":
11385  *             signals.purple_signal_connect(
11386  */
11387     purple_signal_connect(purple_connections_get_handle(), __pyx_k_417, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_connection_error_cb), NULL);
11388     goto __pyx_L6;
11389   }
11390
11391   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":312
11392  *                     "connection-error", &handle,
11393  *                     <signals.PurpleCallback> signal_connection_error_cb, NULL)
11394  *         elif name == "buddy-signed-on":             # <<<<<<<<<<<<<<
11395  *             signals.purple_signal_connect(
11396  *                     blist.purple_blist_get_handle(),
11397  */
11398   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_418, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1;}
11399   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1;}
11400   Py_DECREF(__pyx_2); __pyx_2 = 0;
11401   if (__pyx_1) {
11402
11403     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":316
11404  *                     blist.purple_blist_get_handle(),
11405  *                     "buddy-signed-on", &handle,
11406  *                     <signals.PurpleCallback> signal_buddy_signed_on_cb, NULL)             # <<<<<<<<<<<<<<
11407  *         elif name == "buddy-signed-off":
11408  *             signals.purple_signal_connect(
11409  */
11410     purple_signal_connect(purple_blist_get_handle(), __pyx_k_419, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_buddy_signed_on_cb), NULL);
11411     goto __pyx_L6;
11412   }
11413
11414   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":317
11415  *                     "buddy-signed-on", &handle,
11416  *                     <signals.PurpleCallback> signal_buddy_signed_on_cb, NULL)
11417  *         elif name == "buddy-signed-off":             # <<<<<<<<<<<<<<
11418  *             signals.purple_signal_connect(
11419  *                     blist.purple_blist_get_handle(),
11420  */
11421   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_420, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1;}
11422   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1;}
11423   Py_DECREF(__pyx_2); __pyx_2 = 0;
11424   if (__pyx_1) {
11425
11426     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":321
11427  *                     blist.purple_blist_get_handle(),
11428  *                     "buddy-signed-off", &handle,
11429  *                     <signals.PurpleCallback> signal_buddy_signed_off_cb, NULL)             # <<<<<<<<<<<<<<
11430  *         elif name == "receiving-im-msg":
11431  *             signals.purple_signal_connect(
11432  */
11433     purple_signal_connect(purple_blist_get_handle(), __pyx_k_421, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_buddy_signed_off_cb), NULL);
11434     goto __pyx_L6;
11435   }
11436
11437   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":322
11438  *                     "buddy-signed-off", &handle,
11439  *                     <signals.PurpleCallback> signal_buddy_signed_off_cb, NULL)
11440  *         elif name == "receiving-im-msg":             # <<<<<<<<<<<<<<
11441  *             signals.purple_signal_connect(
11442  *                     conversation.purple_conversations_get_handle(),
11443  */
11444   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_422, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1;}
11445   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1;}
11446   Py_DECREF(__pyx_2); __pyx_2 = 0;
11447   if (__pyx_1) {
11448
11449     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":326
11450  *                     conversation.purple_conversations_get_handle(),
11451  *                     "receiving-im-msg", &handle,
11452  *                     <signals.PurpleCallback> signal_receiving_im_msg_cb, NULL)             # <<<<<<<<<<<<<<
11453  *         elif name == "jabber-receiving-xmlnode":
11454  *             signals.purple_signal_connect(
11455  */
11456     purple_signal_connect(purple_conversations_get_handle(), __pyx_k_423, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_signal_receiving_im_msg_cb), NULL);
11457     goto __pyx_L6;
11458   }
11459
11460   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":327
11461  *                     "receiving-im-msg", &handle,
11462  *                     <signals.PurpleCallback> signal_receiving_im_msg_cb, NULL)
11463  *         elif name == "jabber-receiving-xmlnode":             # <<<<<<<<<<<<<<
11464  *             signals.purple_signal_connect(
11465  *                     jabber, "jabber-receiving-xmlnode", &handle,
11466  */
11467   __pyx_2 = PyObject_RichCompare(__pyx_v_name, __pyx_kp_424, Py_EQ); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1;}
11468   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1;}
11469   Py_DECREF(__pyx_2); __pyx_2 = 0;
11470   if (__pyx_1) {
11471
11472     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":330
11473  *             signals.purple_signal_connect(
11474  *                     jabber, "jabber-receiving-xmlnode", &handle,
11475  *                     <signals.PurpleCallback> jabber_receiving_xmlnode_cb, NULL)             # <<<<<<<<<<<<<<
11476  * 
11477  *     def accounts_get_all(self):
11478  */
11479     purple_signal_connect(__pyx_v_jabber, __pyx_k_425, (&__pyx_v_handle), ((void (*)(void))__pyx_f_6purple_jabber_receiving_xmlnode_cb), NULL);
11480     goto __pyx_L6;
11481   }
11482   __pyx_L6:;
11483
11484   __pyx_r = Py_None; Py_INCREF(Py_None);
11485   goto __pyx_L0;
11486   __pyx_L1:;
11487   Py_XDECREF(__pyx_2);
11488   __Pyx_AddTraceback("purple.Purple.signal_connect");
11489   __pyx_r = NULL;
11490   __pyx_L0:;
11491   return __pyx_r;
11492 }
11493
11494 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":332
11495  *                     <signals.PurpleCallback> jabber_receiving_xmlnode_cb, NULL)
11496  * 
11497  *     def accounts_get_all(self):             # <<<<<<<<<<<<<<
11498  *         cdef glib.GList *iter
11499  *         cdef account.PurpleAccount *acc
11500  */
11501
11502 static char __pyx_k_append[] = "append";
11503
11504 static PyObject *__pyx_kp_append;
11505
11506 static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
11507 static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all(PyObject *__pyx_v_self, PyObject *unused) {
11508   GList *__pyx_v_iter;
11509   PurpleAccount *__pyx_v_acc;
11510   char *__pyx_v_username;
11511   char *__pyx_v_protocol_id;
11512   PyObject *__pyx_v_account_list;
11513   PyObject *__pyx_r;
11514   PyObject *__pyx_1 = 0;
11515   int __pyx_2;
11516   PyObject *__pyx_3 = 0;
11517   PyObject *__pyx_4 = 0;
11518   __pyx_v_account_list = Py_None; Py_INCREF(Py_None);
11519
11520   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":338
11521  *         cdef char *protocol_id
11522  * 
11523  *         iter = account.purple_accounts_get_all()             # <<<<<<<<<<<<<<
11524  *         account_list = []
11525  * 
11526  */
11527   __pyx_v_iter = purple_accounts_get_all();
11528
11529   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":339
11530  * 
11531  *         iter = account.purple_accounts_get_all()
11532  *         account_list = []             # <<<<<<<<<<<<<<
11533  * 
11534  *         while iter:
11535  */
11536   __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1;}
11537   Py_DECREF(__pyx_v_account_list);
11538   __pyx_v_account_list = ((PyObject *)__pyx_1);
11539   __pyx_1 = 0;
11540
11541   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":341
11542  *         account_list = []
11543  * 
11544  *         while iter:             # <<<<<<<<<<<<<<
11545  *             acc = <account.PurpleAccount *> iter.data
11546  * 
11547  */
11548   while (1) {
11549     __pyx_2 = (__pyx_v_iter != 0);
11550     if (!__pyx_2) break;
11551
11552     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":342
11553  * 
11554  *         while iter:
11555  *             acc = <account.PurpleAccount *> iter.data             # <<<<<<<<<<<<<<
11556  * 
11557  *             if <account.PurpleAccount *>acc:
11558  */
11559     __pyx_v_acc = ((PurpleAccount *)__pyx_v_iter->data);
11560
11561     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":344
11562  *             acc = <account.PurpleAccount *> iter.data
11563  * 
11564  *             if <account.PurpleAccount *>acc:             # <<<<<<<<<<<<<<
11565  *                 username = <char *> account.purple_account_get_username(acc)
11566  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)
11567  */
11568     __pyx_2 = (((PurpleAccount *)__pyx_v_acc) != 0);
11569     if (__pyx_2) {
11570
11571       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":345
11572  * 
11573  *             if <account.PurpleAccount *>acc:
11574  *                 username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
11575  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)
11576  * 
11577  */
11578       __pyx_v_username = ((char *)purple_account_get_username(__pyx_v_acc));
11579
11580       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":346
11581  *             if <account.PurpleAccount *>acc:
11582  *                 username = <char *> account.purple_account_get_username(acc)
11583  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
11584  * 
11585  *                 if username != NULL and protocol_id != NULL:
11586  */
11587       __pyx_v_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
11588
11589       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":348
11590  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)
11591  * 
11592  *                 if username != NULL and protocol_id != NULL:             # <<<<<<<<<<<<<<
11593  *                     account_list.append(Account(username, \
11594  *                             Protocol(protocol_id), self))
11595  */
11596       __pyx_2 = (__pyx_v_username != NULL);
11597       if (__pyx_2) {
11598         __pyx_2 = (__pyx_v_protocol_id != NULL);
11599       }
11600       if (__pyx_2) {
11601
11602         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":349
11603  * 
11604  *                 if username != NULL and protocol_id != NULL:
11605  *                     account_list.append(Account(username, \             # <<<<<<<<<<<<<<
11606  *                             Protocol(protocol_id), self))
11607  *             iter = iter.next
11608  */
11609         __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_username); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1;}
11610
11611         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":350
11612  *                 if username != NULL and protocol_id != NULL:
11613  *                     account_list.append(Account(username, \
11614  *                             Protocol(protocol_id), self))             # <<<<<<<<<<<<<<
11615  *             iter = iter.next
11616  * 
11617  */
11618         __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_protocol_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1;}
11619         __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1;}
11620         PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
11621         __pyx_3 = 0;
11622         __pyx_3 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Protocol), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1;}
11623         Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
11624         __pyx_4 = PyTuple_New(3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1;}
11625         PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
11626         PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
11627         Py_INCREF(__pyx_v_self);
11628         PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_self);
11629         __pyx_1 = 0;
11630         __pyx_3 = 0;
11631         __pyx_1 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Account), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1;}
11632         Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
11633         __pyx_3 = __Pyx_PyObject_Append(__pyx_v_account_list, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1;}
11634         Py_DECREF(__pyx_1); __pyx_1 = 0;
11635         Py_DECREF(__pyx_3); __pyx_3 = 0;
11636         goto __pyx_L7;
11637       }
11638       __pyx_L7:;
11639       goto __pyx_L6;
11640     }
11641     __pyx_L6:;
11642
11643     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":351
11644  *                     account_list.append(Account(username, \
11645  *                             Protocol(protocol_id), self))
11646  *             iter = iter.next             # <<<<<<<<<<<<<<
11647  * 
11648  *         return account_list
11649  */
11650     __pyx_v_iter = __pyx_v_iter->next;
11651   }
11652
11653   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":353
11654  *             iter = iter.next
11655  * 
11656  *         return account_list             # <<<<<<<<<<<<<<
11657  * 
11658  *     def accounts_get_all_active(self):
11659  */
11660   Py_INCREF(__pyx_v_account_list);
11661   __pyx_r = __pyx_v_account_list;
11662   goto __pyx_L0;
11663
11664   __pyx_r = Py_None; Py_INCREF(Py_None);
11665   goto __pyx_L0;
11666   __pyx_L1:;
11667   Py_XDECREF(__pyx_1);
11668   Py_XDECREF(__pyx_3);
11669   Py_XDECREF(__pyx_4);
11670   __Pyx_AddTraceback("purple.Purple.accounts_get_all");
11671   __pyx_r = NULL;
11672   __pyx_L0:;
11673   Py_DECREF(__pyx_v_account_list);
11674   return __pyx_r;
11675 }
11676
11677 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":355
11678  *         return account_list
11679  * 
11680  *     def accounts_get_all_active(self):             # <<<<<<<<<<<<<<
11681  *         cdef glib.GList *iter
11682  *         cdef account.PurpleAccount *acc
11683  */
11684
11685 static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all_active(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
11686 static PyObject *__pyx_pf_6purple_6Purple_accounts_get_all_active(PyObject *__pyx_v_self, PyObject *unused) {
11687   GList *__pyx_v_iter;
11688   PurpleAccount *__pyx_v_acc;
11689   char *__pyx_v_username;
11690   char *__pyx_v_protocol_id;
11691   PyObject *__pyx_v_account_list;
11692   PyObject *__pyx_r;
11693   PyObject *__pyx_1 = 0;
11694   int __pyx_2;
11695   PyObject *__pyx_3 = 0;
11696   PyObject *__pyx_4 = 0;
11697   __pyx_v_account_list = Py_None; Py_INCREF(Py_None);
11698
11699   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":361
11700  *         cdef char *protocol_id
11701  * 
11702  *         iter = account.purple_accounts_get_all_active()             # <<<<<<<<<<<<<<
11703  *         account_list = []
11704  * 
11705  */
11706   __pyx_v_iter = purple_accounts_get_all_active();
11707
11708   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":362
11709  * 
11710  *         iter = account.purple_accounts_get_all_active()
11711  *         account_list = []             # <<<<<<<<<<<<<<
11712  * 
11713  *         while iter:
11714  */
11715   __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1;}
11716   Py_DECREF(__pyx_v_account_list);
11717   __pyx_v_account_list = ((PyObject *)__pyx_1);
11718   __pyx_1 = 0;
11719
11720   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":364
11721  *         account_list = []
11722  * 
11723  *         while iter:             # <<<<<<<<<<<<<<
11724  *             acc = <account.PurpleAccount *> iter.data
11725  * 
11726  */
11727   while (1) {
11728     __pyx_2 = (__pyx_v_iter != 0);
11729     if (!__pyx_2) break;
11730
11731     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":365
11732  * 
11733  *         while iter:
11734  *             acc = <account.PurpleAccount *> iter.data             # <<<<<<<<<<<<<<
11735  * 
11736  *             if <account.PurpleAccount *>acc:
11737  */
11738     __pyx_v_acc = ((PurpleAccount *)__pyx_v_iter->data);
11739
11740     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":367
11741  *             acc = <account.PurpleAccount *> iter.data
11742  * 
11743  *             if <account.PurpleAccount *>acc:             # <<<<<<<<<<<<<<
11744  *                 username = <char *> account.purple_account_get_username(acc)
11745  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)
11746  */
11747     __pyx_2 = (((PurpleAccount *)__pyx_v_acc) != 0);
11748     if (__pyx_2) {
11749
11750       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":368
11751  * 
11752  *             if <account.PurpleAccount *>acc:
11753  *                 username = <char *> account.purple_account_get_username(acc)             # <<<<<<<<<<<<<<
11754  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)
11755  * 
11756  */
11757       __pyx_v_username = ((char *)purple_account_get_username(__pyx_v_acc));
11758
11759       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":369
11760  *             if <account.PurpleAccount *>acc:
11761  *                 username = <char *> account.purple_account_get_username(acc)
11762  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)             # <<<<<<<<<<<<<<
11763  * 
11764  *                 if username != NULL and protocol_id != NULL:
11765  */
11766       __pyx_v_protocol_id = ((char *)purple_account_get_protocol_id(__pyx_v_acc));
11767
11768       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":371
11769  *                 protocol_id = <char *> account.purple_account_get_protocol_id(acc)
11770  * 
11771  *                 if username != NULL and protocol_id != NULL:             # <<<<<<<<<<<<<<
11772  *                     account_list.append(Account(username, \
11773  *                             Protocol(protocol_id), self))
11774  */
11775       __pyx_2 = (__pyx_v_username != NULL);
11776       if (__pyx_2) {
11777         __pyx_2 = (__pyx_v_protocol_id != NULL);
11778       }
11779       if (__pyx_2) {
11780
11781         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":372
11782  * 
11783  *                 if username != NULL and protocol_id != NULL:
11784  *                     account_list.append(Account(username, \             # <<<<<<<<<<<<<<
11785  *                             Protocol(protocol_id), self))
11786  *             iter = iter.next
11787  */
11788         __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_username); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1;}
11789
11790         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":373
11791  *                 if username != NULL and protocol_id != NULL:
11792  *                     account_list.append(Account(username, \
11793  *                             Protocol(protocol_id), self))             # <<<<<<<<<<<<<<
11794  *             iter = iter.next
11795  * 
11796  */
11797         __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_protocol_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1;}
11798         __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1;}
11799         PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
11800         __pyx_3 = 0;
11801         __pyx_3 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Protocol), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1;}
11802         Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
11803         __pyx_4 = PyTuple_New(3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1;}
11804         PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1);
11805         PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
11806         Py_INCREF(__pyx_v_self);
11807         PyTuple_SET_ITEM(__pyx_4, 2, __pyx_v_self);
11808         __pyx_1 = 0;
11809         __pyx_3 = 0;
11810         __pyx_1 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Account), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1;}
11811         Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
11812         __pyx_3 = __Pyx_PyObject_Append(__pyx_v_account_list, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1;}
11813         Py_DECREF(__pyx_1); __pyx_1 = 0;
11814         Py_DECREF(__pyx_3); __pyx_3 = 0;
11815         goto __pyx_L7;
11816       }
11817       __pyx_L7:;
11818       goto __pyx_L6;
11819     }
11820     __pyx_L6:;
11821
11822     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":374
11823  *                     account_list.append(Account(username, \
11824  *                             Protocol(protocol_id), self))
11825  *             iter = iter.next             # <<<<<<<<<<<<<<
11826  * 
11827  *         return account_list
11828  */
11829     __pyx_v_iter = __pyx_v_iter->next;
11830   }
11831
11832   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":376
11833  *             iter = iter.next
11834  * 
11835  *         return account_list             # <<<<<<<<<<<<<<
11836  * 
11837  *     def protocols_get_all(self):
11838  */
11839   Py_INCREF(__pyx_v_account_list);
11840   __pyx_r = __pyx_v_account_list;
11841   goto __pyx_L0;
11842
11843   __pyx_r = Py_None; Py_INCREF(Py_None);
11844   goto __pyx_L0;
11845   __pyx_L1:;
11846   Py_XDECREF(__pyx_1);
11847   Py_XDECREF(__pyx_3);
11848   Py_XDECREF(__pyx_4);
11849   __Pyx_AddTraceback("purple.Purple.accounts_get_all_active");
11850   __pyx_r = NULL;
11851   __pyx_L0:;
11852   Py_DECREF(__pyx_v_account_list);
11853   return __pyx_r;
11854 }
11855
11856 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":378
11857  *         return account_list
11858  * 
11859  *     def protocols_get_all(self):             # <<<<<<<<<<<<<<
11860  *         cdef glib.GList *iter
11861  *         cdef plugin.PurplePlugin *pp
11862  */
11863
11864 static PyObject *__pyx_pf_6purple_6Purple_protocols_get_all(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
11865 static PyObject *__pyx_pf_6purple_6Purple_protocols_get_all(PyObject *__pyx_v_self, PyObject *unused) {
11866   GList *__pyx_v_iter;
11867   PurplePlugin *__pyx_v_pp;
11868   PyObject *__pyx_v_protocol_list;
11869   PyObject *__pyx_r;
11870   PyObject *__pyx_1 = 0;
11871   int __pyx_2;
11872   PyObject *__pyx_3 = 0;
11873   __pyx_v_protocol_list = Py_None; Py_INCREF(Py_None);
11874
11875   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":382
11876  *         cdef plugin.PurplePlugin *pp
11877  * 
11878  *         iter = plugin.purple_plugins_get_protocols()             # <<<<<<<<<<<<<<
11879  *         protocol_list = []
11880  *         while iter:
11881  */
11882   __pyx_v_iter = purple_plugins_get_protocols();
11883
11884   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":383
11885  * 
11886  *         iter = plugin.purple_plugins_get_protocols()
11887  *         protocol_list = []             # <<<<<<<<<<<<<<
11888  *         while iter:
11889  *             pp = <plugin.PurplePlugin*> iter.data
11890  */
11891   __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1;}
11892   Py_DECREF(__pyx_v_protocol_list);
11893   __pyx_v_protocol_list = ((PyObject *)__pyx_1);
11894   __pyx_1 = 0;
11895
11896   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":384
11897  *         iter = plugin.purple_plugins_get_protocols()
11898  *         protocol_list = []
11899  *         while iter:             # <<<<<<<<<<<<<<
11900  *             pp = <plugin.PurplePlugin*> iter.data
11901  *             if pp.info and pp.info.name:
11902  */
11903   while (1) {
11904     __pyx_2 = (__pyx_v_iter != 0);
11905     if (!__pyx_2) break;
11906
11907     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":385
11908  *         protocol_list = []
11909  *         while iter:
11910  *             pp = <plugin.PurplePlugin*> iter.data             # <<<<<<<<<<<<<<
11911  *             if pp.info and pp.info.name:
11912  *                 protocol_list.append(Protocol(pp.info.id))
11913  */
11914     __pyx_v_pp = ((PurplePlugin *)__pyx_v_iter->data);
11915
11916     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":386
11917  *         while iter:
11918  *             pp = <plugin.PurplePlugin*> iter.data
11919  *             if pp.info and pp.info.name:             # <<<<<<<<<<<<<<
11920  *                 protocol_list.append(Protocol(pp.info.id))
11921  *             iter = iter.next
11922  */
11923     __pyx_2 = (__pyx_v_pp->info != 0);
11924     if (__pyx_2) {
11925       __pyx_2 = (__pyx_v_pp->info->name != 0);
11926     }
11927     if (__pyx_2) {
11928
11929       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":387
11930  *             pp = <plugin.PurplePlugin*> iter.data
11931  *             if pp.info and pp.info.name:
11932  *                 protocol_list.append(Protocol(pp.info.id))             # <<<<<<<<<<<<<<
11933  *             iter = iter.next
11934  *         return protocol_list
11935  */
11936       __pyx_1 = __Pyx_PyBytes_FromString(__pyx_v_pp->info->id); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1;}
11937       __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1;}
11938       PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
11939       __pyx_1 = 0;
11940       __pyx_1 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Protocol), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1;}
11941       Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
11942       __pyx_3 = __Pyx_PyObject_Append(__pyx_v_protocol_list, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1;}
11943       Py_DECREF(__pyx_1); __pyx_1 = 0;
11944       Py_DECREF(__pyx_3); __pyx_3 = 0;
11945       goto __pyx_L6;
11946     }
11947     __pyx_L6:;
11948
11949     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":388
11950  *             if pp.info and pp.info.name:
11951  *                 protocol_list.append(Protocol(pp.info.id))
11952  *             iter = iter.next             # <<<<<<<<<<<<<<
11953  *         return protocol_list
11954  * 
11955  */
11956     __pyx_v_iter = __pyx_v_iter->next;
11957   }
11958
11959   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":389
11960  *                 protocol_list.append(Protocol(pp.info.id))
11961  *             iter = iter.next
11962  *         return protocol_list             # <<<<<<<<<<<<<<
11963  * 
11964  * include "protocol.pyx"
11965  */
11966   Py_INCREF(__pyx_v_protocol_list);
11967   __pyx_r = __pyx_v_protocol_list;
11968   goto __pyx_L0;
11969
11970   __pyx_r = Py_None; Py_INCREF(Py_None);
11971   goto __pyx_L0;
11972   __pyx_L1:;
11973   Py_XDECREF(__pyx_1);
11974   Py_XDECREF(__pyx_3);
11975   __Pyx_AddTraceback("purple.Purple.protocols_get_all");
11976   __pyx_r = NULL;
11977   __pyx_L0:;
11978   Py_DECREF(__pyx_v_protocol_list);
11979   return __pyx_r;
11980 }
11981
11982 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":30
11983  *     cdef object __exists
11984  * 
11985  *     def __init__(self, id):             # <<<<<<<<<<<<<<
11986  *         self.__id = id
11987  * 
11988  */
11989
11990 static int __pyx_pf_6purple_8Protocol___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11991 static int __pyx_pf_6purple_8Protocol___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11992   PyObject *__pyx_v_id = 0;
11993   int __pyx_r;
11994   int __pyx_1;
11995   static char *__pyx_argnames[] = {"id",0};
11996   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 1)) {
11997     __pyx_v_id = PyTuple_GET_ITEM(__pyx_args, 0);
11998   }
11999   else {
12000     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_id))) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L2;}
12001   }
12002   goto __pyx_L3;
12003   __pyx_L2:;
12004   __Pyx_AddTraceback("purple.Protocol.__init__");
12005   return -1;
12006   __pyx_L3:;
12007
12008   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":31
12009  * 
12010  *     def __init__(self, id):
12011  *         self.__id = id             # <<<<<<<<<<<<<<
12012  * 
12013  *         if self._get_structure() != NULL:
12014  */
12015   Py_INCREF(__pyx_v_id);
12016   Py_DECREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id);
12017   ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id = __pyx_v_id;
12018
12019   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":33
12020  *         self.__id = id
12021  * 
12022  *         if self._get_structure() != NULL:             # <<<<<<<<<<<<<<
12023  *             self.__exists = True
12024  *         else:
12025  */
12026   __pyx_1 = (((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)) != NULL);
12027   if (__pyx_1) {
12028
12029     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":34
12030  * 
12031  *         if self._get_structure() != NULL:
12032  *             self.__exists = True             # <<<<<<<<<<<<<<
12033  *         else:
12034  *             self.__exists = False
12035  */
12036     Py_INCREF(Py_True);
12037     Py_DECREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists);
12038     ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists = Py_True;
12039     goto __pyx_L4;
12040   }
12041   /*else*/ {
12042
12043     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":36
12044  *             self.__exists = True
12045  *         else:
12046  *             self.__exists = False             # <<<<<<<<<<<<<<
12047  * 
12048  *     cdef plugin.PurplePlugin *_get_structure(self):
12049  */
12050     Py_INCREF(Py_False);
12051     Py_DECREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists);
12052     ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists = Py_False;
12053   }
12054   __pyx_L4:;
12055
12056   __pyx_r = 0;
12057   return __pyx_r;
12058 }
12059
12060 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":38
12061  *             self.__exists = False
12062  * 
12063  *     cdef plugin.PurplePlugin *_get_structure(self):             # <<<<<<<<<<<<<<
12064  *         return plugin.purple_plugins_find_with_id(self.__id)
12065  * 
12066  */
12067
12068 static  PurplePlugin *__pyx_f_6purple_8Protocol__get_structure(struct __pyx_obj_6purple_Protocol *__pyx_v_self) {
12069   PurplePlugin *__pyx_r;
12070   char *__pyx_1;
12071
12072   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":39
12073  * 
12074  *     cdef plugin.PurplePlugin *_get_structure(self):
12075  *         return plugin.purple_plugins_find_with_id(self.__id)             # <<<<<<<<<<<<<<
12076  * 
12077  *     def __get_exists(self):
12078  */
12079   __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_self->__id); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
12080   __pyx_r = purple_plugins_find_with_id(__pyx_1);
12081   goto __pyx_L0;
12082
12083   __pyx_r = 0;
12084   goto __pyx_L0;
12085   __pyx_L1:;
12086   __Pyx_WriteUnraisable("purple.Protocol._get_structure");
12087   __pyx_r = 0;
12088   __pyx_L0:;
12089   return __pyx_r;
12090 }
12091
12092 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":41
12093  *         return plugin.purple_plugins_find_with_id(self.__id)
12094  * 
12095  *     def __get_exists(self):             # <<<<<<<<<<<<<<
12096  *         return self.__exists
12097  *     exists = property(__get_exists)
12098  */
12099
12100 static PyObject *__pyx_pf_6purple_8Protocol___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12101 static PyObject *__pyx_pf_6purple_8Protocol___get_exists(PyObject *__pyx_v_self, PyObject *unused) {
12102   PyObject *__pyx_r;
12103
12104   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":42
12105  * 
12106  *     def __get_exists(self):
12107  *         return self.__exists             # <<<<<<<<<<<<<<
12108  *     exists = property(__get_exists)
12109  * 
12110  */
12111   Py_INCREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists);
12112   __pyx_r = ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists;
12113   goto __pyx_L0;
12114
12115   __pyx_r = Py_None; Py_INCREF(Py_None);
12116   __pyx_L0:;
12117   return __pyx_r;
12118 }
12119
12120 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":45
12121  *     exists = property(__get_exists)
12122  * 
12123  *     def __get_id(self):             # <<<<<<<<<<<<<<
12124  *         return self.__id
12125  *     id = property(__get_id)
12126  */
12127
12128 static PyObject *__pyx_pf_6purple_8Protocol___get_id(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12129 static PyObject *__pyx_pf_6purple_8Protocol___get_id(PyObject *__pyx_v_self, PyObject *unused) {
12130   PyObject *__pyx_r;
12131
12132   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":46
12133  * 
12134  *     def __get_id(self):
12135  *         return self.__id             # <<<<<<<<<<<<<<
12136  *     id = property(__get_id)
12137  * 
12138  */
12139   Py_INCREF(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id);
12140   __pyx_r = ((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__id;
12141   goto __pyx_L0;
12142
12143   __pyx_r = Py_None; Py_INCREF(Py_None);
12144   __pyx_L0:;
12145   return __pyx_r;
12146 }
12147
12148 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":49
12149  *     id = property(__get_id)
12150  * 
12151  *     def __get_name(self):             # <<<<<<<<<<<<<<
12152  *         cdef char *name = NULL
12153  *         if self.__exists:
12154  */
12155
12156 static PyObject *__pyx_pf_6purple_8Protocol___get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12157 static PyObject *__pyx_pf_6purple_8Protocol___get_name(PyObject *__pyx_v_self, PyObject *unused) {
12158   char *__pyx_v_name;
12159   PyObject *__pyx_r;
12160   int __pyx_1;
12161   PyObject *__pyx_2 = 0;
12162
12163   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":50
12164  * 
12165  *     def __get_name(self):
12166  *         cdef char *name = NULL             # <<<<<<<<<<<<<<
12167  *         if self.__exists:
12168  *             name = <char *> plugin.purple_plugin_get_name(self._get_structure())
12169  */
12170   __pyx_v_name = NULL;
12171
12172
12173   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":51
12174  *     def __get_name(self):
12175  *         cdef char *name = NULL
12176  *         if self.__exists:             # <<<<<<<<<<<<<<
12177  *             name = <char *> plugin.purple_plugin_get_name(self._get_structure())
12178  *             if name != NULL:
12179  */
12180   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1;}
12181   if (__pyx_1) {
12182
12183     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":52
12184  *         cdef char *name = NULL
12185  *         if self.__exists:
12186  *             name = <char *> plugin.purple_plugin_get_name(self._get_structure())             # <<<<<<<<<<<<<<
12187  *             if name != NULL:
12188  *                 return name
12189  */
12190     __pyx_v_name = ((char *)purple_plugin_get_name(((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self))));
12191
12192     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":53
12193  *         if self.__exists:
12194  *             name = <char *> plugin.purple_plugin_get_name(self._get_structure())
12195  *             if name != NULL:             # <<<<<<<<<<<<<<
12196  *                 return name
12197  *             else:
12198  */
12199     __pyx_1 = (__pyx_v_name != NULL);
12200     if (__pyx_1) {
12201
12202       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":54
12203  *             name = <char *> plugin.purple_plugin_get_name(self._get_structure())
12204  *             if name != NULL:
12205  *                 return name             # <<<<<<<<<<<<<<
12206  *             else:
12207  *                 return None
12208  */
12209       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
12210       __pyx_r = __pyx_2;
12211       __pyx_2 = 0;
12212       goto __pyx_L0;
12213       goto __pyx_L5;
12214     }
12215     /*else*/ {
12216
12217       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":56
12218  *                 return name
12219  *             else:
12220  *                 return None             # <<<<<<<<<<<<<<
12221  *         return None
12222  *     name = property(__get_name)
12223  */
12224       Py_INCREF(Py_None);
12225       __pyx_r = Py_None;
12226       goto __pyx_L0;
12227     }
12228     __pyx_L5:;
12229     goto __pyx_L4;
12230   }
12231   __pyx_L4:;
12232
12233   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":57
12234  *             else:
12235  *                 return None
12236  *         return None             # <<<<<<<<<<<<<<
12237  *     name = property(__get_name)
12238  * 
12239  */
12240   Py_INCREF(Py_None);
12241   __pyx_r = Py_None;
12242   goto __pyx_L0;
12243
12244   __pyx_r = Py_None; Py_INCREF(Py_None);
12245   goto __pyx_L0;
12246   __pyx_L1:;
12247   Py_XDECREF(__pyx_2);
12248   __Pyx_AddTraceback("purple.Protocol.__get_name");
12249   __pyx_r = NULL;
12250   __pyx_L0:;
12251   return __pyx_r;
12252 }
12253
12254 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":60
12255  *     name = property(__get_name)
12256  * 
12257  *     def __get_options_labels(self):             # <<<<<<<<<<<<<<
12258  *         cdef prpl.PurplePluginProtocolInfo *prpl_info
12259  *         cdef glib.GList *iter
12260  */
12261
12262 static PyObject *__pyx_pf_6purple_8Protocol___get_options_labels(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12263 static PyObject *__pyx_pf_6purple_8Protocol___get_options_labels(PyObject *__pyx_v_self, PyObject *unused) {
12264   PurplePluginProtocolInfo *__pyx_v_prpl_info;
12265   GList *__pyx_v_iter;
12266   PurpleAccountOption *__pyx_v_option;
12267   PurplePrefType __pyx_v_type;
12268   const char *__pyx_v_label_name;
12269   const char *__pyx_v_setting;
12270   PyObject *__pyx_v_po;
12271   PyObject *__pyx_v_sett;
12272   PyObject *__pyx_v_label;
12273   PyObject *__pyx_r;
12274   int __pyx_1;
12275   int __pyx_2;
12276   PyObject *__pyx_3 = 0;
12277   PyObject *__pyx_4 = 0;
12278   __pyx_v_po = Py_None; Py_INCREF(Py_None);
12279   __pyx_v_sett = Py_None; Py_INCREF(Py_None);
12280   __pyx_v_label = Py_None; Py_INCREF(Py_None);
12281
12282   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":68
12283  *         cdef const_char *setting
12284  * 
12285  *         if not self.__exists:             # <<<<<<<<<<<<<<
12286  *             return None
12287  * 
12288  */
12289   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1;}
12290   __pyx_2 = (!__pyx_1);
12291   if (__pyx_2) {
12292
12293     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":69
12294  * 
12295  *         if not self.__exists:
12296  *             return None             # <<<<<<<<<<<<<<
12297  * 
12298  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure())
12299  */
12300     Py_INCREF(Py_None);
12301     __pyx_r = Py_None;
12302     goto __pyx_L0;
12303     goto __pyx_L4;
12304   }
12305   __pyx_L4:;
12306
12307   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":71
12308  *             return None
12309  * 
12310  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure())             # <<<<<<<<<<<<<<
12311  * 
12312  *         po = {}
12313  */
12314   __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)));
12315
12316   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":73
12317  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure())
12318  * 
12319  *         po = {}             # <<<<<<<<<<<<<<
12320  * 
12321  *         iter = prpl_info.protocol_options
12322  */
12323   __pyx_3 = PyDict_New(); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
12324   Py_DECREF(__pyx_v_po);
12325   __pyx_v_po = ((PyObject *)__pyx_3);
12326   __pyx_3 = 0;
12327
12328   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":75
12329  *         po = {}
12330  * 
12331  *         iter = prpl_info.protocol_options             # <<<<<<<<<<<<<<
12332  * 
12333  *         while iter:
12334  */
12335   __pyx_v_iter = __pyx_v_prpl_info->protocol_options;
12336
12337   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":77
12338  *         iter = prpl_info.protocol_options
12339  * 
12340  *         while iter:             # <<<<<<<<<<<<<<
12341  * 
12342  *             option = <accountopt.PurpleAccountOption *> iter.data
12343  */
12344   while (1) {
12345     __pyx_1 = (__pyx_v_iter != 0);
12346     if (!__pyx_1) break;
12347
12348     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":79
12349  *         while iter:
12350  * 
12351  *             option = <accountopt.PurpleAccountOption *> iter.data             # <<<<<<<<<<<<<<
12352  *             type = accountopt.purple_account_option_get_type(option)
12353  *             label_name = accountopt.purple_account_option_get_text(option)
12354  */
12355     __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data);
12356
12357     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":80
12358  * 
12359  *             option = <accountopt.PurpleAccountOption *> iter.data
12360  *             type = accountopt.purple_account_option_get_type(option)             # <<<<<<<<<<<<<<
12361  *             label_name = accountopt.purple_account_option_get_text(option)
12362  *             setting = accountopt.purple_account_option_get_setting(option)
12363  */
12364     __pyx_v_type = purple_account_option_get_type(__pyx_v_option);
12365
12366     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":81
12367  *             option = <accountopt.PurpleAccountOption *> iter.data
12368  *             type = accountopt.purple_account_option_get_type(option)
12369  *             label_name = accountopt.purple_account_option_get_text(option)             # <<<<<<<<<<<<<<
12370  *             setting = accountopt.purple_account_option_get_setting(option)
12371  * 
12372  */
12373     __pyx_v_label_name = purple_account_option_get_text(__pyx_v_option);
12374
12375     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":82
12376  *             type = accountopt.purple_account_option_get_type(option)
12377  *             label_name = accountopt.purple_account_option_get_text(option)
12378  *             setting = accountopt.purple_account_option_get_setting(option)             # <<<<<<<<<<<<<<
12379  * 
12380  *             sett = str(<char *> setting)
12381  */
12382     __pyx_v_setting = purple_account_option_get_setting(__pyx_v_option);
12383
12384     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":84
12385  *             setting = accountopt.purple_account_option_get_setting(option)
12386  * 
12387  *             sett = str(<char *> setting)             # <<<<<<<<<<<<<<
12388  *             label = str(<char *> label_name)
12389  * 
12390  */
12391     __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
12392     __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
12393     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
12394     __pyx_3 = 0;
12395     __pyx_3 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
12396     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
12397     Py_DECREF(__pyx_v_sett);
12398     __pyx_v_sett = __pyx_3;
12399     __pyx_3 = 0;
12400
12401     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":85
12402  * 
12403  *             sett = str(<char *> setting)
12404  *             label = str(<char *> label_name)             # <<<<<<<<<<<<<<
12405  * 
12406  *             iter = iter.next
12407  */
12408     __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_label_name)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
12409     __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
12410     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
12411     __pyx_4 = 0;
12412     __pyx_4 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
12413     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
12414     Py_DECREF(__pyx_v_label);
12415     __pyx_v_label = __pyx_4;
12416     __pyx_4 = 0;
12417
12418     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":87
12419  *             label = str(<char *> label_name)
12420  * 
12421  *             iter = iter.next             # <<<<<<<<<<<<<<
12422  * 
12423  *             po[sett] = label
12424  */
12425     __pyx_v_iter = __pyx_v_iter->next;
12426
12427     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":89
12428  *             iter = iter.next
12429  * 
12430  *             po[sett] = label             # <<<<<<<<<<<<<<
12431  * 
12432  *         return po
12433  */
12434     if (PyObject_SetItem(__pyx_v_po, __pyx_v_sett, __pyx_v_label) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
12435   }
12436
12437   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":91
12438  *             po[sett] = label
12439  * 
12440  *         return po             # <<<<<<<<<<<<<<
12441  *     options_labels = property(__get_options_labels)
12442  * 
12443  */
12444   Py_INCREF(__pyx_v_po);
12445   __pyx_r = __pyx_v_po;
12446   goto __pyx_L0;
12447
12448   __pyx_r = Py_None; Py_INCREF(Py_None);
12449   goto __pyx_L0;
12450   __pyx_L1:;
12451   Py_XDECREF(__pyx_3);
12452   Py_XDECREF(__pyx_4);
12453   __Pyx_AddTraceback("purple.Protocol.__get_options_labels");
12454   __pyx_r = NULL;
12455   __pyx_L0:;
12456   Py_DECREF(__pyx_v_po);
12457   Py_DECREF(__pyx_v_sett);
12458   Py_DECREF(__pyx_v_label);
12459   return __pyx_r;
12460 }
12461
12462 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":94
12463  *     options_labels = property(__get_options_labels)
12464  * 
12465  *     def __get_options_values(self):             # <<<<<<<<<<<<<<
12466  *         cdef prpl.PurplePluginProtocolInfo *prpl_info
12467  *         cdef glib.GList *iter
12468  */
12469
12470 static char __pyx_k_bool[] = "bool";
12471
12472 static PyObject *__pyx_kp_bool;
12473
12474 static PyObject *__pyx_builtin_bool;
12475
12476 static char __pyx_k_426[] = "";
12477
12478 static PyObject *__pyx_pf_6purple_8Protocol___get_options_values(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12479 static PyObject *__pyx_pf_6purple_8Protocol___get_options_values(PyObject *__pyx_v_self, PyObject *unused) {
12480   PurplePluginProtocolInfo *__pyx_v_prpl_info;
12481   GList *__pyx_v_iter;
12482   PurpleAccountOption *__pyx_v_option;
12483   PurplePrefType __pyx_v_type;
12484   const char *__pyx_v_str_value;
12485   const char *__pyx_v_setting;
12486   int __pyx_v_int_value;
12487   gboolean __pyx_v_bool_value;
12488   PyObject *__pyx_v_po;
12489   PyObject *__pyx_v_sett;
12490   PyObject *__pyx_v_val;
12491   PyObject *__pyx_r;
12492   int __pyx_1;
12493   int __pyx_2;
12494   PyObject *__pyx_3 = 0;
12495   PyObject *__pyx_4 = 0;
12496   __pyx_v_po = Py_None; Py_INCREF(Py_None);
12497   __pyx_v_sett = Py_None; Py_INCREF(Py_None);
12498   __pyx_v_val = Py_None; Py_INCREF(Py_None);
12499
12500   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":104
12501  *         cdef glib.gboolean bool_value
12502  * 
12503  *         if not self.__exists:             # <<<<<<<<<<<<<<
12504  *             return None
12505  * 
12506  */
12507   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1;}
12508   __pyx_2 = (!__pyx_1);
12509   if (__pyx_2) {
12510
12511     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":105
12512  * 
12513  *         if not self.__exists:
12514  *             return None             # <<<<<<<<<<<<<<
12515  * 
12516  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure())
12517  */
12518     Py_INCREF(Py_None);
12519     __pyx_r = Py_None;
12520     goto __pyx_L0;
12521     goto __pyx_L4;
12522   }
12523   __pyx_L4:;
12524
12525   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":107
12526  *             return None
12527  * 
12528  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure())             # <<<<<<<<<<<<<<
12529  * 
12530  *         po = {}
12531  */
12532   __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(((struct __pyx_vtabstruct_6purple_Protocol *)((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Protocol *)__pyx_v_self)));
12533
12534   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":109
12535  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(self._get_structure())
12536  * 
12537  *         po = {}             # <<<<<<<<<<<<<<
12538  * 
12539  *         iter = prpl_info.protocol_options
12540  */
12541   __pyx_3 = PyDict_New(); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
12542   Py_DECREF(__pyx_v_po);
12543   __pyx_v_po = ((PyObject *)__pyx_3);
12544   __pyx_3 = 0;
12545
12546   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":111
12547  *         po = {}
12548  * 
12549  *         iter = prpl_info.protocol_options             # <<<<<<<<<<<<<<
12550  * 
12551  *         while iter:
12552  */
12553   __pyx_v_iter = __pyx_v_prpl_info->protocol_options;
12554
12555   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":113
12556  *         iter = prpl_info.protocol_options
12557  * 
12558  *         while iter:             # <<<<<<<<<<<<<<
12559  * 
12560  *             option = <accountopt.PurpleAccountOption *> iter.data
12561  */
12562   while (1) {
12563     __pyx_1 = (__pyx_v_iter != 0);
12564     if (!__pyx_1) break;
12565
12566     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":115
12567  *         while iter:
12568  * 
12569  *             option = <accountopt.PurpleAccountOption *> iter.data             # <<<<<<<<<<<<<<
12570  *             type = accountopt.purple_account_option_get_type(option)
12571  *             setting = accountopt.purple_account_option_get_setting(option)
12572  */
12573     __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data);
12574
12575     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":116
12576  * 
12577  *             option = <accountopt.PurpleAccountOption *> iter.data
12578  *             type = accountopt.purple_account_option_get_type(option)             # <<<<<<<<<<<<<<
12579  *             setting = accountopt.purple_account_option_get_setting(option)
12580  * 
12581  */
12582     __pyx_v_type = purple_account_option_get_type(__pyx_v_option);
12583
12584     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":117
12585  *             option = <accountopt.PurpleAccountOption *> iter.data
12586  *             type = accountopt.purple_account_option_get_type(option)
12587  *             setting = accountopt.purple_account_option_get_setting(option)             # <<<<<<<<<<<<<<
12588  * 
12589  *             sett = str(<char *> setting)
12590  */
12591     __pyx_v_setting = purple_account_option_get_setting(__pyx_v_option);
12592
12593     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":119
12594  *             setting = accountopt.purple_account_option_get_setting(option)
12595  * 
12596  *             sett = str(<char *> setting)             # <<<<<<<<<<<<<<
12597  * 
12598  *             if type == prefs.PURPLE_PREF_STRING:
12599  */
12600     __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
12601     __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
12602     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
12603     __pyx_3 = 0;
12604     __pyx_3 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
12605     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
12606     Py_DECREF(__pyx_v_sett);
12607     __pyx_v_sett = __pyx_3;
12608     __pyx_3 = 0;
12609
12610     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":121
12611  *             sett = str(<char *> setting)
12612  * 
12613  *             if type == prefs.PURPLE_PREF_STRING:             # <<<<<<<<<<<<<<
12614  *                 str_value = accountopt.purple_account_option_get_default_string(option)
12615  *                 # Hack to set string "" as default value when the
12616  */
12617     __pyx_2 = (__pyx_v_type == PURPLE_PREF_STRING);
12618     if (__pyx_2) {
12619
12620       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":122
12621  * 
12622  *             if type == prefs.PURPLE_PREF_STRING:
12623  *                 str_value = accountopt.purple_account_option_get_default_string(option)             # <<<<<<<<<<<<<<
12624  *                 # Hack to set string "" as default value when the
12625  *                 # protocol's option is NULL
12626  */
12627       __pyx_v_str_value = purple_account_option_get_default_string(__pyx_v_option);
12628
12629       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":125
12630  *                 # Hack to set string "" as default value when the
12631  *                 # protocol's option is NULL
12632  *                 if str_value == NULL:             # <<<<<<<<<<<<<<
12633  *                     str_value = ""
12634  *                 val = str(<char *> str_value)
12635  */
12636       __pyx_1 = (__pyx_v_str_value == NULL);
12637       if (__pyx_1) {
12638
12639         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":126
12640  *                 # protocol's option is NULL
12641  *                 if str_value == NULL:
12642  *                     str_value = ""             # <<<<<<<<<<<<<<
12643  *                 val = str(<char *> str_value)
12644  * 
12645  */
12646         __pyx_v_str_value = __pyx_k_426;
12647         goto __pyx_L8;
12648       }
12649       __pyx_L8:;
12650
12651       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":127
12652  *                 if str_value == NULL:
12653  *                     str_value = ""
12654  *                 val = str(<char *> str_value)             # <<<<<<<<<<<<<<
12655  * 
12656  *             elif type == prefs.PURPLE_PREF_INT:
12657  */
12658       __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
12659       __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
12660       PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
12661       __pyx_4 = 0;
12662       __pyx_4 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
12663       Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
12664       Py_DECREF(__pyx_v_val);
12665       __pyx_v_val = __pyx_4;
12666       __pyx_4 = 0;
12667       goto __pyx_L7;
12668     }
12669
12670     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":129
12671  *                 val = str(<char *> str_value)
12672  * 
12673  *             elif type == prefs.PURPLE_PREF_INT:             # <<<<<<<<<<<<<<
12674  *                 int_value = accountopt.purple_account_option_get_default_int(option)
12675  *                 val = int(int_value)
12676  */
12677     __pyx_2 = (__pyx_v_type == PURPLE_PREF_INT);
12678     if (__pyx_2) {
12679
12680       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":130
12681  * 
12682  *             elif type == prefs.PURPLE_PREF_INT:
12683  *                 int_value = accountopt.purple_account_option_get_default_int(option)             # <<<<<<<<<<<<<<
12684  *                 val = int(int_value)
12685  * 
12686  */
12687       __pyx_v_int_value = purple_account_option_get_default_int(__pyx_v_option);
12688
12689       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":131
12690  *             elif type == prefs.PURPLE_PREF_INT:
12691  *                 int_value = accountopt.purple_account_option_get_default_int(option)
12692  *                 val = int(int_value)             # <<<<<<<<<<<<<<
12693  * 
12694  *             elif type == prefs.PURPLE_PREF_BOOLEAN:
12695  */
12696       __pyx_3 = PyInt_FromLong(__pyx_v_int_value); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
12697       __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
12698       PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
12699       __pyx_3 = 0;
12700       __pyx_3 = PyObject_Call(((PyObject*)&PyInt_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
12701       Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
12702       Py_DECREF(__pyx_v_val);
12703       __pyx_v_val = __pyx_3;
12704       __pyx_3 = 0;
12705       goto __pyx_L7;
12706     }
12707
12708     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":133
12709  *                 val = int(int_value)
12710  * 
12711  *             elif type == prefs.PURPLE_PREF_BOOLEAN:             # <<<<<<<<<<<<<<
12712  *                 bool_value = accountopt.purple_account_option_get_default_bool(option)
12713  * 
12714  */
12715     __pyx_1 = (__pyx_v_type == PURPLE_PREF_BOOLEAN);
12716     if (__pyx_1) {
12717
12718       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":134
12719  * 
12720  *             elif type == prefs.PURPLE_PREF_BOOLEAN:
12721  *                 bool_value = accountopt.purple_account_option_get_default_bool(option)             # <<<<<<<<<<<<<<
12722  * 
12723  *                 val = bool(bool_value)
12724  */
12725       __pyx_v_bool_value = purple_account_option_get_default_bool(__pyx_v_option);
12726
12727       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":136
12728  *                 bool_value = accountopt.purple_account_option_get_default_bool(option)
12729  * 
12730  *                 val = bool(bool_value)             # <<<<<<<<<<<<<<
12731  * 
12732  *             elif type == prefs.PURPLE_PREF_STRING_LIST:
12733  */
12734       __pyx_4 = PyInt_FromLong(__pyx_v_bool_value); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
12735       __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
12736       PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
12737       __pyx_4 = 0;
12738       __pyx_4 = PyObject_Call(__pyx_builtin_bool, ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
12739       Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
12740       Py_DECREF(__pyx_v_val);
12741       __pyx_v_val = __pyx_4;
12742       __pyx_4 = 0;
12743       goto __pyx_L7;
12744     }
12745
12746     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":138
12747  *                 val = bool(bool_value)
12748  * 
12749  *             elif type == prefs.PURPLE_PREF_STRING_LIST:             # <<<<<<<<<<<<<<
12750  *                 str_value = accountopt.purple_account_option_get_default_list_value(option)
12751  * 
12752  */
12753     __pyx_2 = (__pyx_v_type == PURPLE_PREF_STRING_LIST);
12754     if (__pyx_2) {
12755
12756       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":139
12757  * 
12758  *             elif type == prefs.PURPLE_PREF_STRING_LIST:
12759  *                 str_value = accountopt.purple_account_option_get_default_list_value(option)             # <<<<<<<<<<<<<<
12760  * 
12761  *                 val = str(<char *> str_value)
12762  */
12763       __pyx_v_str_value = purple_account_option_get_default_list_value(__pyx_v_option);
12764
12765       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":141
12766  *                 str_value = accountopt.purple_account_option_get_default_list_value(option)
12767  * 
12768  *                 val = str(<char *> str_value)             # <<<<<<<<<<<<<<
12769  * 
12770  *             iter = iter.next
12771  */
12772       __pyx_3 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
12773       __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
12774       PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
12775       __pyx_3 = 0;
12776       __pyx_3 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1;}
12777       Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
12778       Py_DECREF(__pyx_v_val);
12779       __pyx_v_val = __pyx_3;
12780       __pyx_3 = 0;
12781       goto __pyx_L7;
12782     }
12783     __pyx_L7:;
12784
12785     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":143
12786  *                 val = str(<char *> str_value)
12787  * 
12788  *             iter = iter.next             # <<<<<<<<<<<<<<
12789  * 
12790  *             po[sett] = val
12791  */
12792     __pyx_v_iter = __pyx_v_iter->next;
12793
12794     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":145
12795  *             iter = iter.next
12796  * 
12797  *             po[sett] = val             # <<<<<<<<<<<<<<
12798  * 
12799  *         return po
12800  */
12801     if (PyObject_SetItem(__pyx_v_po, __pyx_v_sett, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1;}
12802   }
12803
12804   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":147
12805  *             po[sett] = val
12806  * 
12807  *         return po             # <<<<<<<<<<<<<<
12808  *     options_values = property(__get_options_values)
12809  */
12810   Py_INCREF(__pyx_v_po);
12811   __pyx_r = __pyx_v_po;
12812   goto __pyx_L0;
12813
12814   __pyx_r = Py_None; Py_INCREF(Py_None);
12815   goto __pyx_L0;
12816   __pyx_L1:;
12817   Py_XDECREF(__pyx_3);
12818   Py_XDECREF(__pyx_4);
12819   __Pyx_AddTraceback("purple.Protocol.__get_options_values");
12820   __pyx_r = NULL;
12821   __pyx_L0:;
12822   Py_DECREF(__pyx_v_po);
12823   Py_DECREF(__pyx_v_sett);
12824   Py_DECREF(__pyx_v_val);
12825   return __pyx_r;
12826 }
12827
12828 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":25
12829  *     cdef proxy.PurpleProxyType c_type
12830  * 
12831  *     def __init__(self):             # <<<<<<<<<<<<<<
12832  *         self.c_type = proxy.PURPLE_PROXY_NONE
12833  * 
12834  */
12835
12836 static int __pyx_pf_6purple_13ProxyInfoType___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12837 static int __pyx_pf_6purple_13ProxyInfoType___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12838   int __pyx_r;
12839   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
12840     __Pyx_RaiseArgtupleTooLong(0, PyTuple_GET_SIZE(__pyx_args));
12841     return -1;
12842   }
12843   if (unlikely(__pyx_kwds)) {
12844     if (unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
12845   }
12846
12847   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":26
12848  * 
12849  *     def __init__(self):
12850  *         self.c_type = proxy.PURPLE_PROXY_NONE             # <<<<<<<<<<<<<<
12851  * 
12852  *     def get_NONE(self):
12853  */
12854   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_NONE;
12855
12856   __pyx_r = 0;
12857   return __pyx_r;
12858 }
12859
12860 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":28
12861  *         self.c_type = proxy.PURPLE_PROXY_NONE
12862  * 
12863  *     def get_NONE(self):             # <<<<<<<<<<<<<<
12864  *         self.c_type = proxy.PURPLE_PROXY_NONE
12865  *         return self
12866  */
12867
12868 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_NONE(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12869 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_NONE(PyObject *__pyx_v_self, PyObject *unused) {
12870   PyObject *__pyx_r;
12871
12872   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":29
12873  * 
12874  *     def get_NONE(self):
12875  *         self.c_type = proxy.PURPLE_PROXY_NONE             # <<<<<<<<<<<<<<
12876  *         return self
12877  *     NONE = property(get_NONE)
12878  */
12879   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_NONE;
12880
12881   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":30
12882  *     def get_NONE(self):
12883  *         self.c_type = proxy.PURPLE_PROXY_NONE
12884  *         return self             # <<<<<<<<<<<<<<
12885  *     NONE = property(get_NONE)
12886  * 
12887  */
12888   Py_INCREF(__pyx_v_self);
12889   __pyx_r = __pyx_v_self;
12890   goto __pyx_L0;
12891
12892   __pyx_r = Py_None; Py_INCREF(Py_None);
12893   __pyx_L0:;
12894   return __pyx_r;
12895 }
12896
12897 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":33
12898  *     NONE = property(get_NONE)
12899  * 
12900  *     def get_USE_GLOBAL(self):             # <<<<<<<<<<<<<<
12901  *         self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL
12902  *         return self
12903  */
12904
12905 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_GLOBAL(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12906 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_GLOBAL(PyObject *__pyx_v_self, PyObject *unused) {
12907   PyObject *__pyx_r;
12908
12909   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":34
12910  * 
12911  *     def get_USE_GLOBAL(self):
12912  *         self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL             # <<<<<<<<<<<<<<
12913  *         return self
12914  *     USE_GLOBAL = property(get_USE_GLOBAL)
12915  */
12916   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_USE_GLOBAL;
12917
12918   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":35
12919  *     def get_USE_GLOBAL(self):
12920  *         self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL
12921  *         return self             # <<<<<<<<<<<<<<
12922  *     USE_GLOBAL = property(get_USE_GLOBAL)
12923  * 
12924  */
12925   Py_INCREF(__pyx_v_self);
12926   __pyx_r = __pyx_v_self;
12927   goto __pyx_L0;
12928
12929   __pyx_r = Py_None; Py_INCREF(Py_None);
12930   __pyx_L0:;
12931   return __pyx_r;
12932 }
12933
12934 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":38
12935  *     USE_GLOBAL = property(get_USE_GLOBAL)
12936  * 
12937  *     def get_HTTP(self):             # <<<<<<<<<<<<<<
12938  *         self.c_type = proxy.PURPLE_PROXY_HTTP
12939  *         return self
12940  */
12941
12942 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_HTTP(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12943 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_HTTP(PyObject *__pyx_v_self, PyObject *unused) {
12944   PyObject *__pyx_r;
12945
12946   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":39
12947  * 
12948  *     def get_HTTP(self):
12949  *         self.c_type = proxy.PURPLE_PROXY_HTTP             # <<<<<<<<<<<<<<
12950  *         return self
12951  *     HTTP = property(get_HTTP)
12952  */
12953   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_HTTP;
12954
12955   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":40
12956  *     def get_HTTP(self):
12957  *         self.c_type = proxy.PURPLE_PROXY_HTTP
12958  *         return self             # <<<<<<<<<<<<<<
12959  *     HTTP = property(get_HTTP)
12960  * 
12961  */
12962   Py_INCREF(__pyx_v_self);
12963   __pyx_r = __pyx_v_self;
12964   goto __pyx_L0;
12965
12966   __pyx_r = Py_None; Py_INCREF(Py_None);
12967   __pyx_L0:;
12968   return __pyx_r;
12969 }
12970
12971 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":43
12972  *     HTTP = property(get_HTTP)
12973  * 
12974  *     def get_SOCKS4(self):             # <<<<<<<<<<<<<<
12975  *         self.c_type = proxy.PURPLE_PROXY_SOCKS4
12976  *         return self
12977  */
12978
12979 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS4(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
12980 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS4(PyObject *__pyx_v_self, PyObject *unused) {
12981   PyObject *__pyx_r;
12982
12983   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":44
12984  * 
12985  *     def get_SOCKS4(self):
12986  *         self.c_type = proxy.PURPLE_PROXY_SOCKS4             # <<<<<<<<<<<<<<
12987  *         return self
12988  * 
12989  */
12990   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_SOCKS4;
12991
12992   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":45
12993  *     def get_SOCKS4(self):
12994  *         self.c_type = proxy.PURPLE_PROXY_SOCKS4
12995  *         return self             # <<<<<<<<<<<<<<
12996  * 
12997  *     def get_SOCKS5(self):
12998  */
12999   Py_INCREF(__pyx_v_self);
13000   __pyx_r = __pyx_v_self;
13001   goto __pyx_L0;
13002
13003   __pyx_r = Py_None; Py_INCREF(Py_None);
13004   __pyx_L0:;
13005   return __pyx_r;
13006 }
13007
13008 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":47
13009  *         return self
13010  * 
13011  *     def get_SOCKS5(self):             # <<<<<<<<<<<<<<
13012  *         self.c_type = proxy.PURPLE_PROXY_SOCKS5
13013  *         return self
13014  */
13015
13016 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS5(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
13017 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_SOCKS5(PyObject *__pyx_v_self, PyObject *unused) {
13018   PyObject *__pyx_r;
13019
13020   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":48
13021  * 
13022  *     def get_SOCKS5(self):
13023  *         self.c_type = proxy.PURPLE_PROXY_SOCKS5             # <<<<<<<<<<<<<<
13024  *         return self
13025  * 
13026  */
13027   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_SOCKS5;
13028
13029   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":49
13030  *     def get_SOCKS5(self):
13031  *         self.c_type = proxy.PURPLE_PROXY_SOCKS5
13032  *         return self             # <<<<<<<<<<<<<<
13033  * 
13034  *     def get_USE_ENVVAR (self):
13035  */
13036   Py_INCREF(__pyx_v_self);
13037   __pyx_r = __pyx_v_self;
13038   goto __pyx_L0;
13039
13040   __pyx_r = Py_None; Py_INCREF(Py_None);
13041   __pyx_L0:;
13042   return __pyx_r;
13043 }
13044
13045 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":51
13046  *         return self
13047  * 
13048  *     def get_USE_ENVVAR (self):             # <<<<<<<<<<<<<<
13049  *         self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR
13050  *         return self
13051  */
13052
13053 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_ENVVAR(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
13054 static PyObject *__pyx_pf_6purple_13ProxyInfoType_get_USE_ENVVAR(PyObject *__pyx_v_self, PyObject *unused) {
13055   PyObject *__pyx_r;
13056
13057   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":52
13058  * 
13059  *     def get_USE_ENVVAR (self):
13060  *         self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR             # <<<<<<<<<<<<<<
13061  *         return self
13062  *     USE_ENVVAR = property(get_USE_ENVVAR)
13063  */
13064   ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_self)->c_type = PURPLE_PROXY_USE_ENVVAR;
13065
13066   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":53
13067  *     def get_USE_ENVVAR (self):
13068  *         self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR
13069  *         return self             # <<<<<<<<<<<<<<
13070  *     USE_ENVVAR = property(get_USE_ENVVAR)
13071  * 
13072  */
13073   Py_INCREF(__pyx_v_self);
13074   __pyx_r = __pyx_v_self;
13075   goto __pyx_L0;
13076
13077   __pyx_r = Py_None; Py_INCREF(Py_None);
13078   __pyx_L0:;
13079   return __pyx_r;
13080 }
13081
13082 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":61
13083  *     cdef object types
13084  * 
13085  *     def __init__(self):             # <<<<<<<<<<<<<<
13086  *         self.c_proxyinfo = NULL
13087  * 
13088  */
13089
13090 static char __pyx_k_427[] = "HTTP";
13091 static char __pyx_k_428[] = "USER_GLOBAL";
13092 static char __pyx_k_429[] = "USE_ENVVAR";
13093 static char __pyx_k_430[] = "SOCKS4";
13094 static char __pyx_k_431[] = "SOCKS5";
13095 static char __pyx_k_432[] = "NONE";
13096
13097 static PyObject *__pyx_kp_427;
13098 static PyObject *__pyx_kp_428;
13099 static PyObject *__pyx_kp_429;
13100 static PyObject *__pyx_kp_430;
13101 static PyObject *__pyx_kp_431;
13102 static PyObject *__pyx_kp_432;
13103
13104
13105
13106 static int __pyx_pf_6purple_9ProxyInfo___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13107 static int __pyx_pf_6purple_9ProxyInfo___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
13108   int __pyx_r;
13109   PyObject *__pyx_1 = 0;
13110   PyObject *__pyx_2 = 0;
13111   if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
13112     __Pyx_RaiseArgtupleTooLong(0, PyTuple_GET_SIZE(__pyx_args));
13113     return -1;
13114   }
13115   if (unlikely(__pyx_kwds)) {
13116     if (unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
13117   }
13118
13119   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":62
13120  * 
13121  *     def __init__(self):
13122  *         self.c_proxyinfo = NULL             # <<<<<<<<<<<<<<
13123  * 
13124  *         self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP,
13125  */
13126   ((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo = NULL;
13127
13128   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":64
13129  *         self.c_proxyinfo = NULL
13130  * 
13131  *         self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP,             # <<<<<<<<<<<<<<
13132  *                 "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL,
13133  *                 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,
13134  */
13135   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13136   __pyx_2 = PyInt_FromLong(PURPLE_PROXY_HTTP); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13137   if (PyDict_SetItem(__pyx_1, __pyx_kp_427, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13138   Py_DECREF(__pyx_2); __pyx_2 = 0;
13139
13140   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":65
13141  * 
13142  *         self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP,
13143  *                 "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL,             # <<<<<<<<<<<<<<
13144  *                 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,
13145  *                 "SOCKS4": proxy.PURPLE_PROXY_SOCKS4,
13146  */
13147   __pyx_2 = PyInt_FromLong(PURPLE_PROXY_USE_GLOBAL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
13148   if (PyDict_SetItem(__pyx_1, __pyx_kp_428, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13149   Py_DECREF(__pyx_2); __pyx_2 = 0;
13150
13151   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":66
13152  *         self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP,
13153  *                 "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL,
13154  *                 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,             # <<<<<<<<<<<<<<
13155  *                 "SOCKS4": proxy.PURPLE_PROXY_SOCKS4,
13156  *                 "SOCKS5": proxy.PURPLE_PROXY_SOCKS5,
13157  */
13158   __pyx_2 = PyInt_FromLong(PURPLE_PROXY_USE_ENVVAR); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1;}
13159   if (PyDict_SetItem(__pyx_1, __pyx_kp_429, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13160   Py_DECREF(__pyx_2); __pyx_2 = 0;
13161
13162   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":67
13163  *                 "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL,
13164  *                 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,
13165  *                 "SOCKS4": proxy.PURPLE_PROXY_SOCKS4,             # <<<<<<<<<<<<<<
13166  *                 "SOCKS5": proxy.PURPLE_PROXY_SOCKS5,
13167  *                 "NONE": proxy.PURPLE_PROXY_NONE}
13168  */
13169   __pyx_2 = PyInt_FromLong(PURPLE_PROXY_SOCKS4); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1;}
13170   if (PyDict_SetItem(__pyx_1, __pyx_kp_430, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13171   Py_DECREF(__pyx_2); __pyx_2 = 0;
13172
13173   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":68
13174  *                 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,
13175  *                 "SOCKS4": proxy.PURPLE_PROXY_SOCKS4,
13176  *                 "SOCKS5": proxy.PURPLE_PROXY_SOCKS5,             # <<<<<<<<<<<<<<
13177  *                 "NONE": proxy.PURPLE_PROXY_NONE}
13178  * 
13179  */
13180   __pyx_2 = PyInt_FromLong(PURPLE_PROXY_SOCKS5); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1;}
13181   if (PyDict_SetItem(__pyx_1, __pyx_kp_431, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13182   Py_DECREF(__pyx_2); __pyx_2 = 0;
13183
13184   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":69
13185  *                 "SOCKS4": proxy.PURPLE_PROXY_SOCKS4,
13186  *                 "SOCKS5": proxy.PURPLE_PROXY_SOCKS5,
13187  *                 "NONE": proxy.PURPLE_PROXY_NONE}             # <<<<<<<<<<<<<<
13188  * 
13189  * 
13190  */
13191   __pyx_2 = PyInt_FromLong(PURPLE_PROXY_NONE); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1;}
13192   if (PyDict_SetItem(__pyx_1, __pyx_kp_432, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
13193   Py_DECREF(__pyx_2); __pyx_2 = 0;
13194
13195   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":64
13196  *         self.c_proxyinfo = NULL
13197  * 
13198  *         self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP,             # <<<<<<<<<<<<<<
13199  *                 "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL,
13200  *                 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,
13201  */
13202   Py_DECREF(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types);
13203   ((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types = ((PyObject *)__pyx_1);
13204   __pyx_1 = 0;
13205
13206   __pyx_r = 0;
13207   goto __pyx_L0;
13208   __pyx_L1:;
13209   Py_XDECREF(__pyx_1);
13210   Py_XDECREF(__pyx_2);
13211   __Pyx_AddTraceback("purple.ProxyInfo.__init__");
13212   __pyx_r = -1;
13213   __pyx_L0:;
13214   return __pyx_r;
13215 }
13216
13217 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":72
13218  * 
13219  * 
13220  *     def set_type(self, ProxyInfoType type):             # <<<<<<<<<<<<<<
13221  *         if self.c_proxyinfo:
13222  *             proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type)
13223  */
13224
13225 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_type(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
13226 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_type(PyObject *__pyx_v_self, PyObject *__pyx_v_type) {
13227   PyObject *__pyx_r;
13228   int __pyx_1;
13229   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_type), __pyx_ptype_6purple_ProxyInfoType, 1, "type", 0))) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
13230
13231   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":73
13232  * 
13233  *     def set_type(self, ProxyInfoType type):
13234  *         if self.c_proxyinfo:             # <<<<<<<<<<<<<<
13235  *             proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type)
13236  * 
13237  */
13238   __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0);
13239   if (__pyx_1) {
13240
13241     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":74
13242  *     def set_type(self, ProxyInfoType type):
13243  *         if self.c_proxyinfo:
13244  *             proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type)             # <<<<<<<<<<<<<<
13245  * 
13246  *     def set_host(self, char *host):
13247  */
13248     purple_proxy_info_set_type(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, ((struct __pyx_obj_6purple_ProxyInfoType *)__pyx_v_type)->c_type);
13249     goto __pyx_L4;
13250   }
13251   __pyx_L4:;
13252
13253   __pyx_r = Py_None; Py_INCREF(Py_None);
13254   goto __pyx_L0;
13255   __pyx_L1:;
13256   __Pyx_AddTraceback("purple.ProxyInfo.set_type");
13257   __pyx_r = NULL;
13258   __pyx_L0:;
13259   return __pyx_r;
13260 }
13261
13262 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":76
13263  *             proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type)
13264  * 
13265  *     def set_host(self, char *host):             # <<<<<<<<<<<<<<
13266  *         if self.c_proxyinfo:
13267  *             proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host)
13268  */
13269
13270 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_host(PyObject *__pyx_v_self, PyObject *__pyx_arg_host); /*proto*/
13271 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_host(PyObject *__pyx_v_self, PyObject *__pyx_arg_host) {
13272   char *__pyx_v_host;
13273   PyObject *__pyx_r;
13274   int __pyx_1;
13275   assert(__pyx_arg_host); {
13276     __pyx_v_host = __Pyx_PyBytes_AsString(__pyx_arg_host); if (unlikely((!__pyx_v_host) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L2;}
13277   }
13278   goto __pyx_L3;
13279   __pyx_L2:;
13280   __Pyx_AddTraceback("purple.ProxyInfo.set_host");
13281   return NULL;
13282   __pyx_L3:;
13283
13284   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":77
13285  * 
13286  *     def set_host(self, char *host):
13287  *         if self.c_proxyinfo:             # <<<<<<<<<<<<<<
13288  *             proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host)
13289  * 
13290  */
13291   __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0);
13292   if (__pyx_1) {
13293
13294     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":78
13295  *     def set_host(self, char *host):
13296  *         if self.c_proxyinfo:
13297  *             proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host)             # <<<<<<<<<<<<<<
13298  * 
13299  *     def set_port(self, int port):
13300  */
13301     purple_proxy_info_set_host(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_host);
13302     goto __pyx_L4;
13303   }
13304   __pyx_L4:;
13305
13306   __pyx_r = Py_None; Py_INCREF(Py_None);
13307   return __pyx_r;
13308 }
13309
13310 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":80
13311  *             proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host)
13312  * 
13313  *     def set_port(self, int port):             # <<<<<<<<<<<<<<
13314  *         if self.c_proxyinfo:
13315  *             proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port)
13316  */
13317
13318 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_port(PyObject *__pyx_v_self, PyObject *__pyx_arg_port); /*proto*/
13319 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_port(PyObject *__pyx_v_self, PyObject *__pyx_arg_port) {
13320   int __pyx_v_port;
13321   PyObject *__pyx_r;
13322   int __pyx_1;
13323   assert(__pyx_arg_port); {
13324     __pyx_v_port = __pyx_PyInt_int(__pyx_arg_port); if (unlikely((__pyx_v_port == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L2;}
13325   }
13326   goto __pyx_L3;
13327   __pyx_L2:;
13328   __Pyx_AddTraceback("purple.ProxyInfo.set_port");
13329   return NULL;
13330   __pyx_L3:;
13331
13332   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":81
13333  * 
13334  *     def set_port(self, int port):
13335  *         if self.c_proxyinfo:             # <<<<<<<<<<<<<<
13336  *             proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port)
13337  * 
13338  */
13339   __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0);
13340   if (__pyx_1) {
13341
13342     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":82
13343  *     def set_port(self, int port):
13344  *         if self.c_proxyinfo:
13345  *             proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port)             # <<<<<<<<<<<<<<
13346  * 
13347  *     def set_username(self, char *username):
13348  */
13349     purple_proxy_info_set_port(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_port);
13350     goto __pyx_L4;
13351   }
13352   __pyx_L4:;
13353
13354   __pyx_r = Py_None; Py_INCREF(Py_None);
13355   return __pyx_r;
13356 }
13357
13358 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":84
13359  *             proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port)
13360  * 
13361  *     def set_username(self, char *username):             # <<<<<<<<<<<<<<
13362  *         if self.c_proxyinfo:
13363  *             proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username)
13364  */
13365
13366 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_username(PyObject *__pyx_v_self, PyObject *__pyx_arg_username); /*proto*/
13367 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_username(PyObject *__pyx_v_self, PyObject *__pyx_arg_username) {
13368   char *__pyx_v_username;
13369   PyObject *__pyx_r;
13370   int __pyx_1;
13371   assert(__pyx_arg_username); {
13372     __pyx_v_username = __Pyx_PyBytes_AsString(__pyx_arg_username); if (unlikely((!__pyx_v_username) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L2;}
13373   }
13374   goto __pyx_L3;
13375   __pyx_L2:;
13376   __Pyx_AddTraceback("purple.ProxyInfo.set_username");
13377   return NULL;
13378   __pyx_L3:;
13379
13380   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":85
13381  * 
13382  *     def set_username(self, char *username):
13383  *         if self.c_proxyinfo:             # <<<<<<<<<<<<<<
13384  *             proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username)
13385  * 
13386  */
13387   __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0);
13388   if (__pyx_1) {
13389
13390     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":86
13391  *     def set_username(self, char *username):
13392  *         if self.c_proxyinfo:
13393  *             proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username)             # <<<<<<<<<<<<<<
13394  * 
13395  *     def set_password(self, char *password):
13396  */
13397     purple_proxy_info_set_username(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_username);
13398     goto __pyx_L4;
13399   }
13400   __pyx_L4:;
13401
13402   __pyx_r = Py_None; Py_INCREF(Py_None);
13403   return __pyx_r;
13404 }
13405
13406 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":88
13407  *             proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username)
13408  * 
13409  *     def set_password(self, char *password):             # <<<<<<<<<<<<<<
13410  *         if self.c_proxyinfo:
13411  *             proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password)
13412  */
13413
13414 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_password(PyObject *__pyx_v_self, PyObject *__pyx_arg_password); /*proto*/
13415 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_password(PyObject *__pyx_v_self, PyObject *__pyx_arg_password) {
13416   char *__pyx_v_password;
13417   PyObject *__pyx_r;
13418   int __pyx_1;
13419   assert(__pyx_arg_password); {
13420     __pyx_v_password = __Pyx_PyBytes_AsString(__pyx_arg_password); if (unlikely((!__pyx_v_password) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L2;}
13421   }
13422   goto __pyx_L3;
13423   __pyx_L2:;
13424   __Pyx_AddTraceback("purple.ProxyInfo.set_password");
13425   return NULL;
13426   __pyx_L3:;
13427
13428   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":89
13429  * 
13430  *     def set_password(self, char *password):
13431  *         if self.c_proxyinfo:             # <<<<<<<<<<<<<<
13432  *             proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password)
13433  * 
13434  */
13435   __pyx_1 = (((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo != 0);
13436   if (__pyx_1) {
13437
13438     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":90
13439  *     def set_password(self, char *password):
13440  *         if self.c_proxyinfo:
13441  *             proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password)             # <<<<<<<<<<<<<<
13442  * 
13443  *     def get_types(self):
13444  */
13445     purple_proxy_info_set_password(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->c_proxyinfo, __pyx_v_password);
13446     goto __pyx_L4;
13447   }
13448   __pyx_L4:;
13449
13450   __pyx_r = Py_None; Py_INCREF(Py_None);
13451   return __pyx_r;
13452 }
13453
13454 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":92
13455  *             proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password)
13456  * 
13457  *     def get_types(self):             # <<<<<<<<<<<<<<
13458  *         return self.types.keys()
13459  * 
13460  */
13461
13462 static char __pyx_k_keys[] = "keys";
13463
13464 static PyObject *__pyx_kp_keys;
13465
13466 static PyObject *__pyx_pf_6purple_9ProxyInfo_get_types(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
13467 static PyObject *__pyx_pf_6purple_9ProxyInfo_get_types(PyObject *__pyx_v_self, PyObject *unused) {
13468   PyObject *__pyx_r;
13469   PyObject *__pyx_1 = 0;
13470   PyObject *__pyx_2 = 0;
13471
13472   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":93
13473  * 
13474  *     def get_types(self):
13475  *         return self.types.keys()             # <<<<<<<<<<<<<<
13476  * 
13477  *     def set_info(self, acc, info):
13478  */
13479   __pyx_1 = PyObject_GetAttr(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types, __pyx_kp_keys); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1;}
13480   __pyx_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1;}
13481   Py_DECREF(__pyx_1); __pyx_1 = 0;
13482   __pyx_r = __pyx_2;
13483   __pyx_2 = 0;
13484   goto __pyx_L0;
13485
13486   __pyx_r = Py_None; Py_INCREF(Py_None);
13487   goto __pyx_L0;
13488   __pyx_L1:;
13489   Py_XDECREF(__pyx_1);
13490   Py_XDECREF(__pyx_2);
13491   __Pyx_AddTraceback("purple.ProxyInfo.get_types");
13492   __pyx_r = NULL;
13493   __pyx_L0:;
13494   return __pyx_r;
13495 }
13496
13497 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":95
13498  *         return self.types.keys()
13499  * 
13500  *     def set_info(self, acc, info):             # <<<<<<<<<<<<<<
13501  *         ''' @param acc Tuple (username, protocol id) '''
13502  *         ''' @param info Dictionary {'type': "HTTP", 'port': "1234", '''
13503  */
13504
13505 static char __pyx_k_433[] = "type";
13506 static char __pyx_k_434[] = "type";
13507 static char __pyx_k_435[] = "type";
13508 static char __pyx_k_436[] = "HTTP";
13509 static char __pyx_k_437[] = "host";
13510 static char __pyx_k_438[] = "host";
13511 static char __pyx_k_439[] = "host";
13512 static char __pyx_k_440[] = "port";
13513 static char __pyx_k_441[] = "port";
13514 static char __pyx_k_442[] = "port";
13515 static char __pyx_k_443[] = "username";
13516 static char __pyx_k_444[] = "username";
13517 static char __pyx_k_445[] = "username";
13518 static char __pyx_k_446[] = "password";
13519 static char __pyx_k_447[] = "password";
13520 static char __pyx_k_448[] = "password";
13521
13522 static PyObject *__pyx_kp_433;
13523 static PyObject *__pyx_kp_434;
13524 static PyObject *__pyx_kp_435;
13525 static PyObject *__pyx_kp_436;
13526 static PyObject *__pyx_kp_437;
13527 static PyObject *__pyx_kp_438;
13528 static PyObject *__pyx_kp_439;
13529 static PyObject *__pyx_kp_440;
13530 static PyObject *__pyx_kp_441;
13531 static PyObject *__pyx_kp_442;
13532 static PyObject *__pyx_kp_443;
13533 static PyObject *__pyx_kp_444;
13534 static PyObject *__pyx_kp_445;
13535 static PyObject *__pyx_kp_446;
13536 static PyObject *__pyx_kp_447;
13537 static PyObject *__pyx_kp_448;
13538
13539
13540
13541 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13542 static char __pyx_doc_6purple_9ProxyInfo_set_info[] = " @param acc Tuple (username, protocol id) ";
13543 static PyObject *__pyx_pf_6purple_9ProxyInfo_set_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
13544   PyObject *__pyx_v_acc = 0;
13545   PyObject *__pyx_v_info = 0;
13546   PurpleAccount *__pyx_v_c_account;
13547   PurpleProxyInfo *__pyx_v_c_proxyinfo;
13548   PyObject *__pyx_v_type;
13549   PyObject *__pyx_v_host;
13550   PyObject *__pyx_v_port;
13551   PyObject *__pyx_v_username;
13552   PyObject *__pyx_v_password;
13553   PyObject *__pyx_r;
13554   PyObject *__pyx_1 = 0;
13555   char *__pyx_2;
13556   char *__pyx_3;
13557   int __pyx_4;
13558   PyObject *__pyx_5 = 0;
13559   PyObject *__pyx_6 = 0;
13560   int __pyx_7;
13561   PurpleProxyType __pyx_8;
13562   int __pyx_9;
13563   static char *__pyx_argnames[] = {"acc","info",0};
13564   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 2)) {
13565     __pyx_v_acc = PyTuple_GET_ITEM(__pyx_args, 0);
13566     __pyx_v_info = PyTuple_GET_ITEM(__pyx_args, 1);
13567   }
13568   else {
13569     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_acc, &__pyx_v_info))) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L2;}
13570   }
13571   goto __pyx_L3;
13572   __pyx_L2:;
13573   __Pyx_AddTraceback("purple.ProxyInfo.set_info");
13574   return NULL;
13575   __pyx_L3:;
13576   __pyx_v_type = Py_None; Py_INCREF(Py_None);
13577   __pyx_v_host = Py_None; Py_INCREF(Py_None);
13578   __pyx_v_port = Py_None; Py_INCREF(Py_None);
13579   __pyx_v_username = Py_None; Py_INCREF(Py_None);
13580   __pyx_v_password = Py_None; Py_INCREF(Py_None);
13581
13582   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":102
13583  *         cdef account.PurpleAccount *c_account
13584  *         cdef proxy.PurpleProxyInfo *c_proxyinfo
13585  *         c_account = account.purple_accounts_find(acc[0], acc[1])             # <<<<<<<<<<<<<<
13586  * 
13587  *         if c_account == NULL:
13588  */
13589   __pyx_1 = __Pyx_GetItemInt(__pyx_v_acc, 0, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
13590   __pyx_2 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
13591   Py_DECREF(__pyx_1); __pyx_1 = 0;
13592   __pyx_1 = __Pyx_GetItemInt(__pyx_v_acc, 1, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
13593   __pyx_3 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
13594   Py_DECREF(__pyx_1); __pyx_1 = 0;
13595   __pyx_v_c_account = purple_accounts_find(__pyx_2, __pyx_3);
13596
13597   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":104
13598  *         c_account = account.purple_accounts_find(acc[0], acc[1])
13599  * 
13600  *         if c_account == NULL:             # <<<<<<<<<<<<<<
13601  *             #FIXME: Message error or call a callback handle to error
13602  *             return False
13603  */
13604   __pyx_4 = (__pyx_v_c_account == NULL);
13605   if (__pyx_4) {
13606
13607     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":106
13608  *         if c_account == NULL:
13609  *             #FIXME: Message error or call a callback handle to error
13610  *             return False             # <<<<<<<<<<<<<<
13611  * 
13612  *         c_proxyinfo = account.purple_account_get_proxy_info(c_account)
13613  */
13614     Py_INCREF(Py_False);
13615     __pyx_r = Py_False;
13616     goto __pyx_L0;
13617     goto __pyx_L4;
13618   }
13619   __pyx_L4:;
13620
13621   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":108
13622  *             return False
13623  * 
13624  *         c_proxyinfo = account.purple_account_get_proxy_info(c_account)             # <<<<<<<<<<<<<<
13625  *         if c_proxyinfo == NULL:
13626  *                 c_proxyinfo = proxy.c_purple_proxy_info_new()
13627  */
13628   __pyx_v_c_proxyinfo = purple_account_get_proxy_info(__pyx_v_c_account);
13629
13630   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":109
13631  * 
13632  *         c_proxyinfo = account.purple_account_get_proxy_info(c_account)
13633  *         if c_proxyinfo == NULL:             # <<<<<<<<<<<<<<
13634  *                 c_proxyinfo = proxy.c_purple_proxy_info_new()
13635  *                 account.purple_account_set_proxy_info(c_account, c_proxyinfo)
13636  */
13637   __pyx_4 = (__pyx_v_c_proxyinfo == NULL);
13638   if (__pyx_4) {
13639
13640     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":110
13641  *         c_proxyinfo = account.purple_account_get_proxy_info(c_account)
13642  *         if c_proxyinfo == NULL:
13643  *                 c_proxyinfo = proxy.c_purple_proxy_info_new()             # <<<<<<<<<<<<<<
13644  *                 account.purple_account_set_proxy_info(c_account, c_proxyinfo)
13645  * 
13646  */
13647     __pyx_v_c_proxyinfo = purple_proxy_info_new();
13648
13649     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":111
13650  *         if c_proxyinfo == NULL:
13651  *                 c_proxyinfo = proxy.c_purple_proxy_info_new()
13652  *                 account.purple_account_set_proxy_info(c_account, c_proxyinfo)             # <<<<<<<<<<<<<<
13653  * 
13654  *         if info.has_key('type') and info['type']:
13655  */
13656     purple_account_set_proxy_info(__pyx_v_c_account, __pyx_v_c_proxyinfo);
13657     goto __pyx_L5;
13658   }
13659   __pyx_L5:;
13660
13661   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":113
13662  *                 account.purple_account_set_proxy_info(c_account, c_proxyinfo)
13663  * 
13664  *         if info.has_key('type') and info['type']:             # <<<<<<<<<<<<<<
13665  *             type = info['type']
13666  *             if not type in self.types.keys():
13667  */
13668   __pyx_5 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
13669   __pyx_6 = PyTuple_New(1); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
13670   Py_INCREF(__pyx_kp_433);
13671   PyTuple_SET_ITEM(__pyx_6, 0, __pyx_kp_433);
13672   __pyx_1 = PyObject_Call(__pyx_5, ((PyObject *)__pyx_6), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
13673   Py_DECREF(__pyx_5); __pyx_5 = 0;
13674   Py_DECREF(((PyObject *)__pyx_6)); __pyx_6 = 0;
13675   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
13676   if (__pyx_4) {
13677     Py_DECREF(__pyx_1); __pyx_1 = 0;
13678     __pyx_1 = PyObject_GetItem(__pyx_v_info, __pyx_kp_434); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
13679   }
13680   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1;}
13681   Py_DECREF(__pyx_1); __pyx_1 = 0;
13682   if (__pyx_4) {
13683
13684     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":114
13685  * 
13686  *         if info.has_key('type') and info['type']:
13687  *             type = info['type']             # <<<<<<<<<<<<<<
13688  *             if not type in self.types.keys():
13689  *                 type = 'HTTP'
13690  */
13691     __pyx_5 = PyObject_GetItem(__pyx_v_info, __pyx_kp_435); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1;}
13692     Py_DECREF(__pyx_v_type);
13693     __pyx_v_type = __pyx_5;
13694     __pyx_5 = 0;
13695
13696     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":115
13697  *         if info.has_key('type') and info['type']:
13698  *             type = info['type']
13699  *             if not type in self.types.keys():             # <<<<<<<<<<<<<<
13700  *                 type = 'HTTP'
13701  *             proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type])
13702  */
13703     __pyx_6 = PyObject_GetAttr(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types, __pyx_kp_keys); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1;}
13704     __pyx_1 = PyObject_Call(__pyx_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1;}
13705     Py_DECREF(__pyx_6); __pyx_6 = 0;
13706     __pyx_4 = (PySequence_Contains(__pyx_1, __pyx_v_type)); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1;}
13707     Py_DECREF(__pyx_1); __pyx_1 = 0;
13708     __pyx_7 = (!__pyx_4);
13709     if (__pyx_7) {
13710
13711       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":116
13712  *             type = info['type']
13713  *             if not type in self.types.keys():
13714  *                 type = 'HTTP'             # <<<<<<<<<<<<<<
13715  *             proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type])
13716  * 
13717  */
13718       Py_INCREF(__pyx_kp_436);
13719       Py_DECREF(__pyx_v_type);
13720       __pyx_v_type = __pyx_kp_436;
13721       goto __pyx_L7;
13722     }
13723     __pyx_L7:;
13724
13725     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":117
13726  *             if not type in self.types.keys():
13727  *                 type = 'HTTP'
13728  *             proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type])             # <<<<<<<<<<<<<<
13729  * 
13730  *         if info.has_key('host') and info['host']:
13731  */
13732     __pyx_5 = PyObject_GetItem(((struct __pyx_obj_6purple_ProxyInfo *)__pyx_v_self)->types, __pyx_v_type); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1;}
13733     __pyx_8 = ((PurpleProxyType)PyInt_AsLong(__pyx_5)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1;}
13734     Py_DECREF(__pyx_5); __pyx_5 = 0;
13735     purple_proxy_info_set_type(__pyx_v_c_proxyinfo, __pyx_8);
13736     goto __pyx_L6;
13737   }
13738   __pyx_L6:;
13739
13740   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":119
13741  *             proxy.c_purple_proxy_info_set_type(c_proxyinfo, self.types[type])
13742  * 
13743  *         if info.has_key('host') and info['host']:             # <<<<<<<<<<<<<<
13744  *             host = info['host']
13745  *             proxy.c_purple_proxy_info_set_host(c_proxyinfo, host)
13746  */
13747   __pyx_1 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
13748   __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
13749   Py_INCREF(__pyx_kp_437);
13750   PyTuple_SET_ITEM(__pyx_5, 0, __pyx_kp_437);
13751   __pyx_6 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
13752   Py_DECREF(__pyx_1); __pyx_1 = 0;
13753   Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
13754   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
13755   if (__pyx_4) {
13756     Py_DECREF(__pyx_6); __pyx_6 = 0;
13757     __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_438); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
13758   }
13759   __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
13760   Py_DECREF(__pyx_6); __pyx_6 = 0;
13761   if (__pyx_7) {
13762
13763     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":120
13764  * 
13765  *         if info.has_key('host') and info['host']:
13766  *             host = info['host']             # <<<<<<<<<<<<<<
13767  *             proxy.c_purple_proxy_info_set_host(c_proxyinfo, host)
13768  * 
13769  */
13770     __pyx_1 = PyObject_GetItem(__pyx_v_info, __pyx_kp_439); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
13771     Py_DECREF(__pyx_v_host);
13772     __pyx_v_host = __pyx_1;
13773     __pyx_1 = 0;
13774
13775     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":121
13776  *         if info.has_key('host') and info['host']:
13777  *             host = info['host']
13778  *             proxy.c_purple_proxy_info_set_host(c_proxyinfo, host)             # <<<<<<<<<<<<<<
13779  * 
13780  *         if info.has_key('port') and info['port']:
13781  */
13782     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_host); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1;}
13783     purple_proxy_info_set_host(__pyx_v_c_proxyinfo, __pyx_2);
13784     goto __pyx_L8;
13785   }
13786   __pyx_L8:;
13787
13788   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":123
13789  *             proxy.c_purple_proxy_info_set_host(c_proxyinfo, host)
13790  * 
13791  *         if info.has_key('port') and info['port']:             # <<<<<<<<<<<<<<
13792  *             port = int(info['port'])
13793  *             proxy.c_purple_proxy_info_set_port(c_proxyinfo, port)
13794  */
13795   __pyx_6 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
13796   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
13797   Py_INCREF(__pyx_kp_440);
13798   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_440);
13799   __pyx_5 = PyObject_Call(__pyx_6, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
13800   Py_DECREF(__pyx_6); __pyx_6 = 0;
13801   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
13802   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
13803   if (__pyx_4) {
13804     Py_DECREF(__pyx_5); __pyx_5 = 0;
13805     __pyx_5 = PyObject_GetItem(__pyx_v_info, __pyx_kp_441); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
13806   }
13807   __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
13808   Py_DECREF(__pyx_5); __pyx_5 = 0;
13809   if (__pyx_7) {
13810
13811     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":124
13812  * 
13813  *         if info.has_key('port') and info['port']:
13814  *             port = int(info['port'])             # <<<<<<<<<<<<<<
13815  *             proxy.c_purple_proxy_info_set_port(c_proxyinfo, port)
13816  * 
13817  */
13818     __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_442); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1;}
13819     __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1;}
13820     PyTuple_SET_ITEM(__pyx_1, 0, __pyx_6);
13821     __pyx_6 = 0;
13822     __pyx_5 = PyObject_Call(((PyObject*)&PyInt_Type), ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1;}
13823     Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
13824     Py_DECREF(__pyx_v_port);
13825     __pyx_v_port = __pyx_5;
13826     __pyx_5 = 0;
13827
13828     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":125
13829  *         if info.has_key('port') and info['port']:
13830  *             port = int(info['port'])
13831  *             proxy.c_purple_proxy_info_set_port(c_proxyinfo, port)             # <<<<<<<<<<<<<<
13832  * 
13833  *         if info.has_key('username') and info['username']:
13834  */
13835     __pyx_9 = __pyx_PyInt_int(__pyx_v_port); if (unlikely((__pyx_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1;}
13836     purple_proxy_info_set_port(__pyx_v_c_proxyinfo, __pyx_9);
13837     goto __pyx_L9;
13838   }
13839   __pyx_L9:;
13840
13841   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":127
13842  *             proxy.c_purple_proxy_info_set_port(c_proxyinfo, port)
13843  * 
13844  *         if info.has_key('username') and info['username']:             # <<<<<<<<<<<<<<
13845  *             username = info['username']
13846  *             proxy.c_purple_proxy_info_set_username(c_proxyinfo, username)
13847  */
13848   __pyx_1 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
13849   __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
13850   Py_INCREF(__pyx_kp_443);
13851   PyTuple_SET_ITEM(__pyx_5, 0, __pyx_kp_443);
13852   __pyx_6 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
13853   Py_DECREF(__pyx_1); __pyx_1 = 0;
13854   Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
13855   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
13856   if (__pyx_4) {
13857     Py_DECREF(__pyx_6); __pyx_6 = 0;
13858     __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_444); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
13859   }
13860   __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_6); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1;}
13861   Py_DECREF(__pyx_6); __pyx_6 = 0;
13862   if (__pyx_7) {
13863
13864     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":128
13865  * 
13866  *         if info.has_key('username') and info['username']:
13867  *             username = info['username']             # <<<<<<<<<<<<<<
13868  *             proxy.c_purple_proxy_info_set_username(c_proxyinfo, username)
13869  * 
13870  */
13871     __pyx_1 = PyObject_GetItem(__pyx_v_info, __pyx_kp_445); if (!__pyx_1) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
13872     Py_DECREF(__pyx_v_username);
13873     __pyx_v_username = __pyx_1;
13874     __pyx_1 = 0;
13875
13876     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":129
13877  *         if info.has_key('username') and info['username']:
13878  *             username = info['username']
13879  *             proxy.c_purple_proxy_info_set_username(c_proxyinfo, username)             # <<<<<<<<<<<<<<
13880  * 
13881  *         if info.has_key('password') and info['password']:
13882  */
13883     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_username); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1;}
13884     purple_proxy_info_set_username(__pyx_v_c_proxyinfo, __pyx_3);
13885     goto __pyx_L10;
13886   }
13887   __pyx_L10:;
13888
13889   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":131
13890  *             proxy.c_purple_proxy_info_set_username(c_proxyinfo, username)
13891  * 
13892  *         if info.has_key('password') and info['password']:             # <<<<<<<<<<<<<<
13893  *             password = info['password']
13894  *             proxy.c_purple_proxy_info_set_password(c_proxyinfo, password)
13895  */
13896   __pyx_6 = PyObject_GetAttr(__pyx_v_info, __pyx_kp_has_key); if (unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
13897   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
13898   Py_INCREF(__pyx_kp_446);
13899   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_kp_446);
13900   __pyx_5 = PyObject_Call(__pyx_6, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
13901   Py_DECREF(__pyx_6); __pyx_6 = 0;
13902   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
13903   __pyx_4 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_4 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
13904   if (__pyx_4) {
13905     Py_DECREF(__pyx_5); __pyx_5 = 0;
13906     __pyx_5 = PyObject_GetItem(__pyx_v_info, __pyx_kp_447); if (!__pyx_5) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
13907   }
13908   __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
13909   Py_DECREF(__pyx_5); __pyx_5 = 0;
13910   if (__pyx_7) {
13911
13912     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":132
13913  * 
13914  *         if info.has_key('password') and info['password']:
13915  *             password = info['password']             # <<<<<<<<<<<<<<
13916  *             proxy.c_purple_proxy_info_set_password(c_proxyinfo, password)
13917  * 
13918  */
13919     __pyx_6 = PyObject_GetItem(__pyx_v_info, __pyx_kp_448); if (!__pyx_6) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
13920     Py_DECREF(__pyx_v_password);
13921     __pyx_v_password = __pyx_6;
13922     __pyx_6 = 0;
13923
13924     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":133
13925  *         if info.has_key('password') and info['password']:
13926  *             password = info['password']
13927  *             proxy.c_purple_proxy_info_set_password(c_proxyinfo, password)             # <<<<<<<<<<<<<<
13928  * 
13929  *         return True
13930  */
13931     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_password); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1;}
13932     purple_proxy_info_set_password(__pyx_v_c_proxyinfo, __pyx_2);
13933     goto __pyx_L11;
13934   }
13935   __pyx_L11:;
13936
13937   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":135
13938  *             proxy.c_purple_proxy_info_set_password(c_proxyinfo, password)
13939  * 
13940  *         return True             # <<<<<<<<<<<<<<
13941  */
13942   Py_INCREF(Py_True);
13943   __pyx_r = Py_True;
13944   goto __pyx_L0;
13945
13946   __pyx_r = Py_None; Py_INCREF(Py_None);
13947   goto __pyx_L0;
13948   __pyx_L1:;
13949   Py_XDECREF(__pyx_1);
13950   Py_XDECREF(__pyx_5);
13951   Py_XDECREF(__pyx_6);
13952   __Pyx_AddTraceback("purple.ProxyInfo.set_info");
13953   __pyx_r = NULL;
13954   __pyx_L0:;
13955   Py_DECREF(__pyx_v_type);
13956   Py_DECREF(__pyx_v_host);
13957   Py_DECREF(__pyx_v_port);
13958   Py_DECREF(__pyx_v_username);
13959   Py_DECREF(__pyx_v_password);
13960   return __pyx_r;
13961 }
13962
13963 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":35
13964  *     cdef object __exists
13965  * 
13966  *     def __init__(self, username, protocol, core):             # <<<<<<<<<<<<<<
13967  *         self.__username = username
13968  *         self.__protocol = protocol
13969  */
13970
13971 static int __pyx_pf_6purple_7Account___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13972 static int __pyx_pf_6purple_7Account___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
13973   PyObject *__pyx_v_username = 0;
13974   PyObject *__pyx_v_protocol = 0;
13975   PyObject *__pyx_v_core = 0;
13976   int __pyx_r;
13977   PyObject *__pyx_1 = 0;
13978   int __pyx_2;
13979   static char *__pyx_argnames[] = {"username","protocol","core",0};
13980   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 3)) {
13981     __pyx_v_username = PyTuple_GET_ITEM(__pyx_args, 0);
13982     __pyx_v_protocol = PyTuple_GET_ITEM(__pyx_args, 1);
13983     __pyx_v_core = PyTuple_GET_ITEM(__pyx_args, 2);
13984   }
13985   else {
13986     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOO", __pyx_argnames, &__pyx_v_username, &__pyx_v_protocol, &__pyx_v_core))) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L2;}
13987   }
13988   goto __pyx_L3;
13989   __pyx_L2:;
13990   __Pyx_AddTraceback("purple.Account.__init__");
13991   return -1;
13992   __pyx_L3:;
13993
13994   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":36
13995  * 
13996  *     def __init__(self, username, protocol, core):
13997  *         self.__username = username             # <<<<<<<<<<<<<<
13998  *         self.__protocol = protocol
13999  *         self.__core = core
14000  */
14001   Py_INCREF(__pyx_v_username);
14002   Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username);
14003   ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username = __pyx_v_username;
14004
14005   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":37
14006  *     def __init__(self, username, protocol, core):
14007  *         self.__username = username
14008  *         self.__protocol = protocol             # <<<<<<<<<<<<<<
14009  *         self.__core = core
14010  * 
14011  */
14012   Py_INCREF(__pyx_v_protocol);
14013   Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol);
14014   ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol = __pyx_v_protocol;
14015
14016   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":38
14017  *         self.__username = username
14018  *         self.__protocol = protocol
14019  *         self.__core = core             # <<<<<<<<<<<<<<
14020  * 
14021  *         if protocol.exists and self._get_structure() != NULL:
14022  */
14023   Py_INCREF(__pyx_v_core);
14024   Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core);
14025   ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core = __pyx_v_core;
14026
14027   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":40
14028  *         self.__core = core
14029  * 
14030  *         if protocol.exists and self._get_structure() != NULL:             # <<<<<<<<<<<<<<
14031  *             self.__exists = True
14032  *         else:
14033  */
14034   __pyx_1 = PyObject_GetAttr(__pyx_v_protocol, __pyx_kp_exists); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
14035   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
14036   if (__pyx_2) {
14037     Py_DECREF(__pyx_1); __pyx_1 = 0;
14038     __pyx_1 = __Pyx_PyBool_FromLong((((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)) != NULL)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
14039   }
14040   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
14041   Py_DECREF(__pyx_1); __pyx_1 = 0;
14042   if (__pyx_2) {
14043
14044     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":41
14045  * 
14046  *         if protocol.exists and self._get_structure() != NULL:
14047  *             self.__exists = True             # <<<<<<<<<<<<<<
14048  *         else:
14049  *             self.__exists = False
14050  */
14051     Py_INCREF(Py_True);
14052     Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists);
14053     ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists = Py_True;
14054     goto __pyx_L4;
14055   }
14056   /*else*/ {
14057
14058     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":43
14059  *             self.__exists = True
14060  *         else:
14061  *             self.__exists = False             # <<<<<<<<<<<<<<
14062  * 
14063  *     cdef account.PurpleAccount *_get_structure(self):
14064  */
14065     Py_INCREF(Py_False);
14066     Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists);
14067     ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists = Py_False;
14068   }
14069   __pyx_L4:;
14070
14071   __pyx_r = 0;
14072   goto __pyx_L0;
14073   __pyx_L1:;
14074   Py_XDECREF(__pyx_1);
14075   __Pyx_AddTraceback("purple.Account.__init__");
14076   __pyx_r = -1;
14077   __pyx_L0:;
14078   return __pyx_r;
14079 }
14080
14081 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":45
14082  *             self.__exists = False
14083  * 
14084  *     cdef account.PurpleAccount *_get_structure(self):             # <<<<<<<<<<<<<<
14085  *         return account.purple_accounts_find(self.__username, \
14086  *                 self.__protocol.id)
14087  */
14088
14089 static  PurpleAccount *__pyx_f_6purple_7Account__get_structure(struct __pyx_obj_6purple_Account *__pyx_v_self) {
14090   PurpleAccount *__pyx_r;
14091   char *__pyx_1;
14092   PyObject *__pyx_2 = 0;
14093   char *__pyx_3;
14094
14095   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":46
14096  * 
14097  *     cdef account.PurpleAccount *_get_structure(self):
14098  *         return account.purple_accounts_find(self.__username, \             # <<<<<<<<<<<<<<
14099  *                 self.__protocol.id)
14100  * 
14101  */
14102   __pyx_1 = __Pyx_PyBytes_AsString(__pyx_v_self->__username); if (unlikely((!__pyx_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1;}
14103
14104   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":47
14105  *     cdef account.PurpleAccount *_get_structure(self):
14106  *         return account.purple_accounts_find(self.__username, \
14107  *                 self.__protocol.id)             # <<<<<<<<<<<<<<
14108  * 
14109  *     def __is_connected(self):
14110  */
14111   __pyx_2 = PyObject_GetAttr(__pyx_v_self->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
14112   __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
14113   Py_DECREF(__pyx_2); __pyx_2 = 0;
14114   __pyx_r = purple_accounts_find(__pyx_1, __pyx_3);
14115   goto __pyx_L0;
14116
14117   __pyx_r = 0;
14118   goto __pyx_L0;
14119   __pyx_L1:;
14120   Py_XDECREF(__pyx_2);
14121   __Pyx_WriteUnraisable("purple.Account._get_structure");
14122   __pyx_r = 0;
14123   __pyx_L0:;
14124   return __pyx_r;
14125 }
14126
14127 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":49
14128  *                 self.__protocol.id)
14129  * 
14130  *     def __is_connected(self):             # <<<<<<<<<<<<<<
14131  *         if self.__exists:
14132  *             return account.purple_account_is_connected(self._get_structure())
14133  */
14134
14135 static PyObject *__pyx_pf_6purple_7Account___is_connected(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14136 static PyObject *__pyx_pf_6purple_7Account___is_connected(PyObject *__pyx_v_self, PyObject *unused) {
14137   PyObject *__pyx_r;
14138   int __pyx_1;
14139   PyObject *__pyx_2 = 0;
14140
14141   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":50
14142  * 
14143  *     def __is_connected(self):
14144  *         if self.__exists:             # <<<<<<<<<<<<<<
14145  *             return account.purple_account_is_connected(self._get_structure())
14146  *         else:
14147  */
14148   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1;}
14149   if (__pyx_1) {
14150
14151     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":51
14152  *     def __is_connected(self):
14153  *         if self.__exists:
14154  *             return account.purple_account_is_connected(self._get_structure())             # <<<<<<<<<<<<<<
14155  *         else:
14156  *             return None
14157  */
14158     __pyx_2 = PyInt_FromLong(purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1;}
14159     __pyx_r = __pyx_2;
14160     __pyx_2 = 0;
14161     goto __pyx_L0;
14162     goto __pyx_L4;
14163   }
14164   /*else*/ {
14165
14166     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":53
14167  *             return account.purple_account_is_connected(self._get_structure())
14168  *         else:
14169  *             return None             # <<<<<<<<<<<<<<
14170  *     is_connected = property(__is_connected)
14171  * 
14172  */
14173     Py_INCREF(Py_None);
14174     __pyx_r = Py_None;
14175     goto __pyx_L0;
14176   }
14177   __pyx_L4:;
14178
14179   __pyx_r = Py_None; Py_INCREF(Py_None);
14180   goto __pyx_L0;
14181   __pyx_L1:;
14182   Py_XDECREF(__pyx_2);
14183   __Pyx_AddTraceback("purple.Account.__is_connected");
14184   __pyx_r = NULL;
14185   __pyx_L0:;
14186   return __pyx_r;
14187 }
14188
14189 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":56
14190  *     is_connected = property(__is_connected)
14191  * 
14192  *     def __is_connecting(self):             # <<<<<<<<<<<<<<
14193  *         if self.__exists:
14194  *             return account.purple_account_is_connecting(self._get_structure())
14195  */
14196
14197 static PyObject *__pyx_pf_6purple_7Account___is_connecting(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14198 static PyObject *__pyx_pf_6purple_7Account___is_connecting(PyObject *__pyx_v_self, PyObject *unused) {
14199   PyObject *__pyx_r;
14200   int __pyx_1;
14201   PyObject *__pyx_2 = 0;
14202
14203   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":57
14204  * 
14205  *     def __is_connecting(self):
14206  *         if self.__exists:             # <<<<<<<<<<<<<<
14207  *             return account.purple_account_is_connecting(self._get_structure())
14208  *         else:
14209  */
14210   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1;}
14211   if (__pyx_1) {
14212
14213     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":58
14214  *     def __is_connecting(self):
14215  *         if self.__exists:
14216  *             return account.purple_account_is_connecting(self._get_structure())             # <<<<<<<<<<<<<<
14217  *         else:
14218  *             return None
14219  */
14220     __pyx_2 = PyInt_FromLong(purple_account_is_connecting(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1;}
14221     __pyx_r = __pyx_2;
14222     __pyx_2 = 0;
14223     goto __pyx_L0;
14224     goto __pyx_L4;
14225   }
14226   /*else*/ {
14227
14228     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":60
14229  *             return account.purple_account_is_connecting(self._get_structure())
14230  *         else:
14231  *             return None             # <<<<<<<<<<<<<<
14232  *     is_connecting = property(__is_connecting)
14233  * 
14234  */
14235     Py_INCREF(Py_None);
14236     __pyx_r = Py_None;
14237     goto __pyx_L0;
14238   }
14239   __pyx_L4:;
14240
14241   __pyx_r = Py_None; Py_INCREF(Py_None);
14242   goto __pyx_L0;
14243   __pyx_L1:;
14244   Py_XDECREF(__pyx_2);
14245   __Pyx_AddTraceback("purple.Account.__is_connecting");
14246   __pyx_r = NULL;
14247   __pyx_L0:;
14248   return __pyx_r;
14249 }
14250
14251 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":63
14252  *     is_connecting = property(__is_connecting)
14253  * 
14254  *     def __is_disconnected(self):             # <<<<<<<<<<<<<<
14255  *         if self.__exists:
14256  *             return account.purple_account_is_disconnected( \
14257  */
14258
14259 static PyObject *__pyx_pf_6purple_7Account___is_disconnected(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14260 static PyObject *__pyx_pf_6purple_7Account___is_disconnected(PyObject *__pyx_v_self, PyObject *unused) {
14261   PyObject *__pyx_r;
14262   int __pyx_1;
14263   PyObject *__pyx_2 = 0;
14264
14265   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":64
14266  * 
14267  *     def __is_disconnected(self):
14268  *         if self.__exists:             # <<<<<<<<<<<<<<
14269  *             return account.purple_account_is_disconnected( \
14270  *                     self._get_structure())
14271  */
14272   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
14273   if (__pyx_1) {
14274
14275     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":66
14276  *         if self.__exists:
14277  *             return account.purple_account_is_disconnected( \
14278  *                     self._get_structure())             # <<<<<<<<<<<<<<
14279  *         else:
14280  *             return None
14281  */
14282     __pyx_2 = PyInt_FromLong(purple_account_is_disconnected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1;}
14283     __pyx_r = __pyx_2;
14284     __pyx_2 = 0;
14285     goto __pyx_L0;
14286     goto __pyx_L4;
14287   }
14288   /*else*/ {
14289
14290     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":68
14291  *                     self._get_structure())
14292  *         else:
14293  *             return None             # <<<<<<<<<<<<<<
14294  *     is_disconnected = property(__is_disconnected)
14295  * 
14296  */
14297     Py_INCREF(Py_None);
14298     __pyx_r = Py_None;
14299     goto __pyx_L0;
14300   }
14301   __pyx_L4:;
14302
14303   __pyx_r = Py_None; Py_INCREF(Py_None);
14304   goto __pyx_L0;
14305   __pyx_L1:;
14306   Py_XDECREF(__pyx_2);
14307   __Pyx_AddTraceback("purple.Account.__is_disconnected");
14308   __pyx_r = NULL;
14309   __pyx_L0:;
14310   return __pyx_r;
14311 }
14312
14313 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":71
14314  *     is_disconnected = property(__is_disconnected)
14315  * 
14316  *     def __get_core(self):             # <<<<<<<<<<<<<<
14317  *         return self.__core
14318  *     core = property(__get_core)
14319  */
14320
14321 static PyObject *__pyx_pf_6purple_7Account___get_core(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14322 static PyObject *__pyx_pf_6purple_7Account___get_core(PyObject *__pyx_v_self, PyObject *unused) {
14323   PyObject *__pyx_r;
14324
14325   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":72
14326  * 
14327  *     def __get_core(self):
14328  *         return self.__core             # <<<<<<<<<<<<<<
14329  *     core = property(__get_core)
14330  * 
14331  */
14332   Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core);
14333   __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core;
14334   goto __pyx_L0;
14335
14336   __pyx_r = Py_None; Py_INCREF(Py_None);
14337   __pyx_L0:;
14338   return __pyx_r;
14339 }
14340
14341 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":75
14342  *     core = property(__get_core)
14343  * 
14344  *     def __get_exists(self):             # <<<<<<<<<<<<<<
14345  *         return self.__exists
14346  *     exists = property(__get_exists)
14347  */
14348
14349 static PyObject *__pyx_pf_6purple_7Account___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14350 static PyObject *__pyx_pf_6purple_7Account___get_exists(PyObject *__pyx_v_self, PyObject *unused) {
14351   PyObject *__pyx_r;
14352
14353   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":76
14354  * 
14355  *     def __get_exists(self):
14356  *         return self.__exists             # <<<<<<<<<<<<<<
14357  *     exists = property(__get_exists)
14358  * 
14359  */
14360   Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists);
14361   __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists;
14362   goto __pyx_L0;
14363
14364   __pyx_r = Py_None; Py_INCREF(Py_None);
14365   __pyx_L0:;
14366   return __pyx_r;
14367 }
14368
14369 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":79
14370  *     exists = property(__get_exists)
14371  * 
14372  *     def __get_username(self):             # <<<<<<<<<<<<<<
14373  *         cdef char *username = NULL
14374  *         if self.__exists:
14375  */
14376
14377 static PyObject *__pyx_pf_6purple_7Account___get_username(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14378 static PyObject *__pyx_pf_6purple_7Account___get_username(PyObject *__pyx_v_self, PyObject *unused) {
14379   char *__pyx_v_username;
14380   PyObject *__pyx_r;
14381   int __pyx_1;
14382   PyObject *__pyx_2 = 0;
14383
14384   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":80
14385  * 
14386  *     def __get_username(self):
14387  *         cdef char *username = NULL             # <<<<<<<<<<<<<<
14388  *         if self.__exists:
14389  *             username = <char *> account.purple_account_get_username( \
14390  */
14391   __pyx_v_username = NULL;
14392
14393
14394   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":81
14395  *     def __get_username(self):
14396  *         cdef char *username = NULL
14397  *         if self.__exists:             # <<<<<<<<<<<<<<
14398  *             username = <char *> account.purple_account_get_username( \
14399  *                     self._get_structure())
14400  */
14401   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1;}
14402   if (__pyx_1) {
14403
14404     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":83
14405  *         if self.__exists:
14406  *             username = <char *> account.purple_account_get_username( \
14407  *                     self._get_structure())             # <<<<<<<<<<<<<<
14408  *             if username:
14409  *                 return username
14410  */
14411     __pyx_v_username = ((char *)purple_account_get_username(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))));
14412
14413     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":84
14414  *             username = <char *> account.purple_account_get_username( \
14415  *                     self._get_structure())
14416  *             if username:             # <<<<<<<<<<<<<<
14417  *                 return username
14418  *             else:
14419  */
14420     __pyx_1 = (__pyx_v_username != 0);
14421     if (__pyx_1) {
14422
14423       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":85
14424  *                     self._get_structure())
14425  *             if username:
14426  *                 return username             # <<<<<<<<<<<<<<
14427  *             else:
14428  *                 return None
14429  */
14430       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
14431       __pyx_r = __pyx_2;
14432       __pyx_2 = 0;
14433       goto __pyx_L0;
14434       goto __pyx_L5;
14435     }
14436     /*else*/ {
14437
14438       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":87
14439  *                 return username
14440  *             else:
14441  *                 return None             # <<<<<<<<<<<<<<
14442  *         else:
14443  *             return self.__username
14444  */
14445       Py_INCREF(Py_None);
14446       __pyx_r = Py_None;
14447       goto __pyx_L0;
14448     }
14449     __pyx_L5:;
14450     goto __pyx_L4;
14451   }
14452   /*else*/ {
14453
14454     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":89
14455  *                 return None
14456  *         else:
14457  *             return self.__username             # <<<<<<<<<<<<<<
14458  *     username = property(__get_username)
14459  * 
14460  */
14461     Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username);
14462     __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username;
14463     goto __pyx_L0;
14464   }
14465   __pyx_L4:;
14466
14467   __pyx_r = Py_None; Py_INCREF(Py_None);
14468   goto __pyx_L0;
14469   __pyx_L1:;
14470   Py_XDECREF(__pyx_2);
14471   __Pyx_AddTraceback("purple.Account.__get_username");
14472   __pyx_r = NULL;
14473   __pyx_L0:;
14474   return __pyx_r;
14475 }
14476
14477 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":92
14478  *     username = property(__get_username)
14479  * 
14480  *     def __get_protocol(self):             # <<<<<<<<<<<<<<
14481  *         return self.__protocol
14482  *     protocol = property(__get_protocol)
14483  */
14484
14485 static PyObject *__pyx_pf_6purple_7Account___get_protocol(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14486 static PyObject *__pyx_pf_6purple_7Account___get_protocol(PyObject *__pyx_v_self, PyObject *unused) {
14487   PyObject *__pyx_r;
14488
14489   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":93
14490  * 
14491  *     def __get_protocol(self):
14492  *         return self.__protocol             # <<<<<<<<<<<<<<
14493  *     protocol = property(__get_protocol)
14494  * 
14495  */
14496   Py_INCREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol);
14497   __pyx_r = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol;
14498   goto __pyx_L0;
14499
14500   __pyx_r = Py_None; Py_INCREF(Py_None);
14501   __pyx_L0:;
14502   return __pyx_r;
14503 }
14504
14505 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":96
14506  *     protocol = property(__get_protocol)
14507  * 
14508  *     def _get_protocol_options(self):             # <<<<<<<<<<<<<<
14509  *         """
14510  *         @return Dictionary {'setting': value, ...}
14511  */
14512
14513 static char __pyx_k_449[] = "";
14514
14515 static PyObject *__pyx_pf_6purple_7Account__get_protocol_options(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14516 static char __pyx_doc_6purple_7Account__get_protocol_options[] = "\n        @return Dictionary {\'setting\': value, ...}\n        ";
14517 static PyObject *__pyx_pf_6purple_7Account__get_protocol_options(PyObject *__pyx_v_self, PyObject *unused) {
14518   GList *__pyx_v_iter;
14519   PurpleAccount *__pyx_v_c_account;
14520   PurplePlugin *__pyx_v_c_plugin;
14521   PurplePluginProtocolInfo *__pyx_v_prpl_info;
14522   PurpleAccountOption *__pyx_v_option;
14523   PurplePrefType __pyx_v_type;
14524   char *__pyx_v_label_name;
14525   char *__pyx_v_str_value;
14526   char *__pyx_v_setting;
14527   int __pyx_v_int_value;
14528   gboolean __pyx_v_bool_value;
14529   PyObject *__pyx_v_po;
14530   PyObject *__pyx_v_sett;
14531   PyObject *__pyx_v_val;
14532   PyObject *__pyx_r;
14533   int __pyx_1;
14534   PyObject *__pyx_2 = 0;
14535   char *__pyx_3;
14536   PyObject *__pyx_4 = 0;
14537   __pyx_v_po = Py_None; Py_INCREF(Py_None);
14538   __pyx_v_sett = Py_None; Py_INCREF(Py_None);
14539   __pyx_v_val = Py_None; Py_INCREF(Py_None);
14540
14541   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":112
14542  *         cdef glib.gboolean bool_value
14543  * 
14544  *         c_account = self._get_structure()             # <<<<<<<<<<<<<<
14545  * 
14546  *         if c_account == NULL:
14547  */
14548   __pyx_v_c_account = ((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self));
14549
14550   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":114
14551  *         c_account = self._get_structure()
14552  * 
14553  *         if c_account == NULL:             # <<<<<<<<<<<<<<
14554  *             return None
14555  * 
14556  */
14557   __pyx_1 = (__pyx_v_c_account == NULL);
14558   if (__pyx_1) {
14559
14560     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":115
14561  * 
14562  *         if c_account == NULL:
14563  *             return None             # <<<<<<<<<<<<<<
14564  * 
14565  *         po = {}
14566  */
14567     Py_INCREF(Py_None);
14568     __pyx_r = Py_None;
14569     goto __pyx_L0;
14570     goto __pyx_L4;
14571   }
14572   __pyx_L4:;
14573
14574   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":117
14575  *             return None
14576  * 
14577  *         po = {}             # <<<<<<<<<<<<<<
14578  * 
14579  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)
14580  */
14581   __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1;}
14582   Py_DECREF(__pyx_v_po);
14583   __pyx_v_po = ((PyObject *)__pyx_2);
14584   __pyx_2 = 0;
14585
14586   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":119
14587  *         po = {}
14588  * 
14589  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)             # <<<<<<<<<<<<<<
14590  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)
14591  *         iter = prpl_info.protocol_options
14592  */
14593   __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
14594   __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1;}
14595   Py_DECREF(__pyx_2); __pyx_2 = 0;
14596   __pyx_v_c_plugin = purple_plugins_find_with_id(__pyx_3);
14597
14598   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":120
14599  * 
14600  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)
14601  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)             # <<<<<<<<<<<<<<
14602  *         iter = prpl_info.protocol_options
14603  * 
14604  */
14605   __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(__pyx_v_c_plugin);
14606
14607   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":121
14608  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)
14609  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)
14610  *         iter = prpl_info.protocol_options             # <<<<<<<<<<<<<<
14611  * 
14612  *         while iter:
14613  */
14614   __pyx_v_iter = __pyx_v_prpl_info->protocol_options;
14615
14616   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":123
14617  *         iter = prpl_info.protocol_options
14618  * 
14619  *         while iter:             # <<<<<<<<<<<<<<
14620  * 
14621  *             option = <accountopt.PurpleAccountOption *> iter.data
14622  */
14623   while (1) {
14624     __pyx_1 = (__pyx_v_iter != 0);
14625     if (!__pyx_1) break;
14626
14627     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":125
14628  *         while iter:
14629  * 
14630  *             option = <accountopt.PurpleAccountOption *> iter.data             # <<<<<<<<<<<<<<
14631  *             type = accountopt.purple_account_option_get_type(option)
14632  *             label_name = <char *> accountopt.purple_account_option_get_text(option)
14633  */
14634     __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data);
14635
14636     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":126
14637  * 
14638  *             option = <accountopt.PurpleAccountOption *> iter.data
14639  *             type = accountopt.purple_account_option_get_type(option)             # <<<<<<<<<<<<<<
14640  *             label_name = <char *> accountopt.purple_account_option_get_text(option)
14641  *             setting = <char *> accountopt.purple_account_option_get_setting(option)
14642  */
14643     __pyx_v_type = purple_account_option_get_type(__pyx_v_option);
14644
14645     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":127
14646  *             option = <accountopt.PurpleAccountOption *> iter.data
14647  *             type = accountopt.purple_account_option_get_type(option)
14648  *             label_name = <char *> accountopt.purple_account_option_get_text(option)             # <<<<<<<<<<<<<<
14649  *             setting = <char *> accountopt.purple_account_option_get_setting(option)
14650  * 
14651  */
14652     __pyx_v_label_name = ((char *)purple_account_option_get_text(__pyx_v_option));
14653
14654     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":128
14655  *             type = accountopt.purple_account_option_get_type(option)
14656  *             label_name = <char *> accountopt.purple_account_option_get_text(option)
14657  *             setting = <char *> accountopt.purple_account_option_get_setting(option)             # <<<<<<<<<<<<<<
14658  * 
14659  *             sett = str(<char *> setting)
14660  */
14661     __pyx_v_setting = ((char *)purple_account_option_get_setting(__pyx_v_option));
14662
14663     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":130
14664  *             setting = <char *> accountopt.purple_account_option_get_setting(option)
14665  * 
14666  *             sett = str(<char *> setting)             # <<<<<<<<<<<<<<
14667  * 
14668  *             if type == prefs.PURPLE_PREF_STRING:
14669  */
14670     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
14671     __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
14672     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
14673     __pyx_2 = 0;
14674     __pyx_2 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1;}
14675     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
14676     Py_DECREF(__pyx_v_sett);
14677     __pyx_v_sett = __pyx_2;
14678     __pyx_2 = 0;
14679
14680     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":132
14681  *             sett = str(<char *> setting)
14682  * 
14683  *             if type == prefs.PURPLE_PREF_STRING:             # <<<<<<<<<<<<<<
14684  * 
14685  *                 str_value = <char *> accountopt.purple_account_option_get_default_string(option)
14686  */
14687     __pyx_1 = (__pyx_v_type == PURPLE_PREF_STRING);
14688     if (__pyx_1) {
14689
14690       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":134
14691  *             if type == prefs.PURPLE_PREF_STRING:
14692  * 
14693  *                 str_value = <char *> accountopt.purple_account_option_get_default_string(option)             # <<<<<<<<<<<<<<
14694  * 
14695  *                 # Hack to set string "" as default value to Account options when
14696  */
14697       __pyx_v_str_value = ((char *)purple_account_option_get_default_string(__pyx_v_option));
14698
14699       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":138
14700  *                 # Hack to set string "" as default value to Account options when
14701  *                 # the default value of the protocol is NULL
14702  *                 if str_value == NULL:             # <<<<<<<<<<<<<<
14703  *                     str_value = ""
14704  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)
14705  */
14706       __pyx_1 = (__pyx_v_str_value == NULL);
14707       if (__pyx_1) {
14708
14709         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":139
14710  *                 # the default value of the protocol is NULL
14711  *                 if str_value == NULL:
14712  *                     str_value = ""             # <<<<<<<<<<<<<<
14713  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)
14714  * 
14715  */
14716         __pyx_v_str_value = __pyx_k_449;
14717         goto __pyx_L8;
14718       }
14719       __pyx_L8:;
14720
14721       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":140
14722  *                 if str_value == NULL:
14723  *                     str_value = ""
14724  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)             # <<<<<<<<<<<<<<
14725  * 
14726  *                 val = str(<char *> str_value)
14727  */
14728       __pyx_v_str_value = ((char *)purple_account_get_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value));
14729
14730       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":142
14731  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)
14732  * 
14733  *                 val = str(<char *> str_value)             # <<<<<<<<<<<<<<
14734  * 
14735  *             elif type == prefs.PURPLE_PREF_INT:
14736  */
14737       __pyx_4 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
14738       __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
14739       PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
14740       __pyx_4 = 0;
14741       __pyx_4 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1;}
14742       Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
14743       Py_DECREF(__pyx_v_val);
14744       __pyx_v_val = __pyx_4;
14745       __pyx_4 = 0;
14746       goto __pyx_L7;
14747     }
14748
14749     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":144
14750  *                 val = str(<char *> str_value)
14751  * 
14752  *             elif type == prefs.PURPLE_PREF_INT:             # <<<<<<<<<<<<<<
14753  * 
14754  *                 int_value = accountopt.purple_account_option_get_default_int(option)
14755  */
14756     __pyx_1 = (__pyx_v_type == PURPLE_PREF_INT);
14757     if (__pyx_1) {
14758
14759       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":146
14760  *             elif type == prefs.PURPLE_PREF_INT:
14761  * 
14762  *                 int_value = accountopt.purple_account_option_get_default_int(option)             # <<<<<<<<<<<<<<
14763  *                 int_value = account.purple_account_get_int(c_account, setting, int_value)
14764  * 
14765  */
14766       __pyx_v_int_value = purple_account_option_get_default_int(__pyx_v_option);
14767
14768       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":147
14769  * 
14770  *                 int_value = accountopt.purple_account_option_get_default_int(option)
14771  *                 int_value = account.purple_account_get_int(c_account, setting, int_value)             # <<<<<<<<<<<<<<
14772  * 
14773  *                 val = int(int_value)
14774  */
14775       __pyx_v_int_value = purple_account_get_int(__pyx_v_c_account, __pyx_v_setting, __pyx_v_int_value);
14776
14777       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":149
14778  *                 int_value = account.purple_account_get_int(c_account, setting, int_value)
14779  * 
14780  *                 val = int(int_value)             # <<<<<<<<<<<<<<
14781  * 
14782  *             elif type == prefs.PURPLE_PREF_BOOLEAN:
14783  */
14784       __pyx_2 = PyInt_FromLong(__pyx_v_int_value); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
14785       __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
14786       PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
14787       __pyx_2 = 0;
14788       __pyx_2 = PyObject_Call(((PyObject*)&PyInt_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1;}
14789       Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
14790       Py_DECREF(__pyx_v_val);
14791       __pyx_v_val = __pyx_2;
14792       __pyx_2 = 0;
14793       goto __pyx_L7;
14794     }
14795
14796     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":151
14797  *                 val = int(int_value)
14798  * 
14799  *             elif type == prefs.PURPLE_PREF_BOOLEAN:             # <<<<<<<<<<<<<<
14800  * 
14801  *                 bool_value = accountopt.purple_account_option_get_default_bool(option)
14802  */
14803     __pyx_1 = (__pyx_v_type == PURPLE_PREF_BOOLEAN);
14804     if (__pyx_1) {
14805
14806       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":153
14807  *             elif type == prefs.PURPLE_PREF_BOOLEAN:
14808  * 
14809  *                 bool_value = accountopt.purple_account_option_get_default_bool(option)             # <<<<<<<<<<<<<<
14810  *                 bool_value = account.purple_account_get_bool(c_account, setting, bool_value)
14811  * 
14812  */
14813       __pyx_v_bool_value = purple_account_option_get_default_bool(__pyx_v_option);
14814
14815       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":154
14816  * 
14817  *                 bool_value = accountopt.purple_account_option_get_default_bool(option)
14818  *                 bool_value = account.purple_account_get_bool(c_account, setting, bool_value)             # <<<<<<<<<<<<<<
14819  * 
14820  *                 val = bool(bool_value)
14821  */
14822       __pyx_v_bool_value = purple_account_get_bool(__pyx_v_c_account, __pyx_v_setting, __pyx_v_bool_value);
14823
14824       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":156
14825  *                 bool_value = account.purple_account_get_bool(c_account, setting, bool_value)
14826  * 
14827  *                 val = bool(bool_value)             # <<<<<<<<<<<<<<
14828  * 
14829  *             elif type == prefs.PURPLE_PREF_STRING_LIST:
14830  */
14831       __pyx_4 = PyInt_FromLong(__pyx_v_bool_value); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
14832       __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
14833       PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
14834       __pyx_4 = 0;
14835       __pyx_4 = PyObject_Call(__pyx_builtin_bool, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1;}
14836       Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
14837       Py_DECREF(__pyx_v_val);
14838       __pyx_v_val = __pyx_4;
14839       __pyx_4 = 0;
14840       goto __pyx_L7;
14841     }
14842
14843     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":158
14844  *                 val = bool(bool_value)
14845  * 
14846  *             elif type == prefs.PURPLE_PREF_STRING_LIST:             # <<<<<<<<<<<<<<
14847  * 
14848  *                 str_value = <char *> accountopt.purple_account_option_get_default_list_value(option)
14849  */
14850     __pyx_1 = (__pyx_v_type == PURPLE_PREF_STRING_LIST);
14851     if (__pyx_1) {
14852
14853       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":160
14854  *             elif type == prefs.PURPLE_PREF_STRING_LIST:
14855  * 
14856  *                 str_value = <char *> accountopt.purple_account_option_get_default_list_value(option)             # <<<<<<<<<<<<<<
14857  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)
14858  * 
14859  */
14860       __pyx_v_str_value = ((char *)purple_account_option_get_default_list_value(__pyx_v_option));
14861
14862       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":161
14863  * 
14864  *                 str_value = <char *> accountopt.purple_account_option_get_default_list_value(option)
14865  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)             # <<<<<<<<<<<<<<
14866  * 
14867  *                 val = str(<char *> str_value)
14868  */
14869       __pyx_v_str_value = ((char *)purple_account_get_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value));
14870
14871       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":163
14872  *                 str_value = <char *> account.purple_account_get_string(c_account, setting, str_value)
14873  * 
14874  *                 val = str(<char *> str_value)             # <<<<<<<<<<<<<<
14875  * 
14876  *             iter = iter.next
14877  */
14878       __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_str_value)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
14879       __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
14880       PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
14881       __pyx_2 = 0;
14882       __pyx_2 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
14883       Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
14884       Py_DECREF(__pyx_v_val);
14885       __pyx_v_val = __pyx_2;
14886       __pyx_2 = 0;
14887       goto __pyx_L7;
14888     }
14889     __pyx_L7:;
14890
14891     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":165
14892  *                 val = str(<char *> str_value)
14893  * 
14894  *             iter = iter.next             # <<<<<<<<<<<<<<
14895  * 
14896  *             po[sett] = val
14897  */
14898     __pyx_v_iter = __pyx_v_iter->next;
14899
14900     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":167
14901  *             iter = iter.next
14902  * 
14903  *             po[sett] = val             # <<<<<<<<<<<<<<
14904  * 
14905  *         return po
14906  */
14907     if (PyObject_SetItem(__pyx_v_po, __pyx_v_sett, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1;}
14908   }
14909
14910   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":169
14911  *             po[sett] = val
14912  * 
14913  *         return po             # <<<<<<<<<<<<<<
14914  *     protocol_options = property(_get_protocol_options)
14915  * 
14916  */
14917   Py_INCREF(__pyx_v_po);
14918   __pyx_r = __pyx_v_po;
14919   goto __pyx_L0;
14920
14921   __pyx_r = Py_None; Py_INCREF(Py_None);
14922   goto __pyx_L0;
14923   __pyx_L1:;
14924   Py_XDECREF(__pyx_2);
14925   Py_XDECREF(__pyx_4);
14926   __Pyx_AddTraceback("purple.Account._get_protocol_options");
14927   __pyx_r = NULL;
14928   __pyx_L0:;
14929   Py_DECREF(__pyx_v_po);
14930   Py_DECREF(__pyx_v_sett);
14931   Py_DECREF(__pyx_v_val);
14932   return __pyx_r;
14933 }
14934
14935 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":172
14936  *     protocol_options = property(_get_protocol_options)
14937  * 
14938  *     def __get_password(self):             # <<<<<<<<<<<<<<
14939  *         cdef char *password = NULL
14940  *         if self.__exists:
14941  */
14942
14943 static PyObject *__pyx_pf_6purple_7Account___get_password(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
14944 static PyObject *__pyx_pf_6purple_7Account___get_password(PyObject *__pyx_v_self, PyObject *unused) {
14945   char *__pyx_v_password;
14946   PyObject *__pyx_r;
14947   int __pyx_1;
14948   PyObject *__pyx_2 = 0;
14949
14950   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":173
14951  * 
14952  *     def __get_password(self):
14953  *         cdef char *password = NULL             # <<<<<<<<<<<<<<
14954  *         if self.__exists:
14955  *             password = <char *> account.purple_account_get_password( \
14956  */
14957   __pyx_v_password = NULL;
14958
14959
14960   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":174
14961  *     def __get_password(self):
14962  *         cdef char *password = NULL
14963  *         if self.__exists:             # <<<<<<<<<<<<<<
14964  *             password = <char *> account.purple_account_get_password( \
14965  *                     self._get_structure())
14966  */
14967   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1;}
14968   if (__pyx_1) {
14969
14970     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":176
14971  *         if self.__exists:
14972  *             password = <char *> account.purple_account_get_password( \
14973  *                     self._get_structure())             # <<<<<<<<<<<<<<
14974  *             if password:
14975  *                 return password
14976  */
14977     __pyx_v_password = ((char *)purple_account_get_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))));
14978
14979     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":177
14980  *             password = <char *> account.purple_account_get_password( \
14981  *                     self._get_structure())
14982  *             if password:             # <<<<<<<<<<<<<<
14983  *                 return password
14984  *             else:
14985  */
14986     __pyx_1 = (__pyx_v_password != 0);
14987     if (__pyx_1) {
14988
14989       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":178
14990  *                     self._get_structure())
14991  *             if password:
14992  *                 return password             # <<<<<<<<<<<<<<
14993  *             else:
14994  *                 return None
14995  */
14996       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_password); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1;}
14997       __pyx_r = __pyx_2;
14998       __pyx_2 = 0;
14999       goto __pyx_L0;
15000       goto __pyx_L5;
15001     }
15002     /*else*/ {
15003
15004       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":180
15005  *                 return password
15006  *             else:
15007  *                 return None             # <<<<<<<<<<<<<<
15008  *         else:
15009  *             return None
15010  */
15011       Py_INCREF(Py_None);
15012       __pyx_r = Py_None;
15013       goto __pyx_L0;
15014     }
15015     __pyx_L5:;
15016     goto __pyx_L4;
15017   }
15018   /*else*/ {
15019
15020     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":182
15021  *                 return None
15022  *         else:
15023  *             return None             # <<<<<<<<<<<<<<
15024  *     password = property(__get_password)
15025  * 
15026  */
15027     Py_INCREF(Py_None);
15028     __pyx_r = Py_None;
15029     goto __pyx_L0;
15030   }
15031   __pyx_L4:;
15032
15033   __pyx_r = Py_None; Py_INCREF(Py_None);
15034   goto __pyx_L0;
15035   __pyx_L1:;
15036   Py_XDECREF(__pyx_2);
15037   __Pyx_AddTraceback("purple.Account.__get_password");
15038   __pyx_r = NULL;
15039   __pyx_L0:;
15040   return __pyx_r;
15041 }
15042
15043 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":185
15044  *     password = property(__get_password)
15045  * 
15046  *     def __get_alias(self):             # <<<<<<<<<<<<<<
15047  *         cdef char *alias = NULL
15048  *         if self.__exists:
15049  */
15050
15051 static PyObject *__pyx_pf_6purple_7Account___get_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
15052 static PyObject *__pyx_pf_6purple_7Account___get_alias(PyObject *__pyx_v_self, PyObject *unused) {
15053   char *__pyx_v_alias;
15054   PyObject *__pyx_r;
15055   int __pyx_1;
15056   PyObject *__pyx_2 = 0;
15057
15058   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":186
15059  * 
15060  *     def __get_alias(self):
15061  *         cdef char *alias = NULL             # <<<<<<<<<<<<<<
15062  *         if self.__exists:
15063  *             alias = <char *> account.purple_account_get_alias(self._get_structure())
15064  */
15065   __pyx_v_alias = NULL;
15066
15067
15068   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":187
15069  *     def __get_alias(self):
15070  *         cdef char *alias = NULL
15071  *         if self.__exists:             # <<<<<<<<<<<<<<
15072  *             alias = <char *> account.purple_account_get_alias(self._get_structure())
15073  *             if alias:
15074  */
15075   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1;}
15076   if (__pyx_1) {
15077
15078     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":188
15079  *         cdef char *alias = NULL
15080  *         if self.__exists:
15081  *             alias = <char *> account.purple_account_get_alias(self._get_structure())             # <<<<<<<<<<<<<<
15082  *             if alias:
15083  *                 return alias
15084  */
15085     __pyx_v_alias = ((char *)purple_account_get_alias(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))));
15086
15087     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":189
15088  *         if self.__exists:
15089  *             alias = <char *> account.purple_account_get_alias(self._get_structure())
15090  *             if alias:             # <<<<<<<<<<<<<<
15091  *                 return alias
15092  *             else:
15093  */
15094     __pyx_1 = (__pyx_v_alias != 0);
15095     if (__pyx_1) {
15096
15097       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":190
15098  *             alias = <char *> account.purple_account_get_alias(self._get_structure())
15099  *             if alias:
15100  *                 return alias             # <<<<<<<<<<<<<<
15101  *             else:
15102  *                 return None
15103  */
15104       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1;}
15105       __pyx_r = __pyx_2;
15106       __pyx_2 = 0;
15107       goto __pyx_L0;
15108       goto __pyx_L5;
15109     }
15110     /*else*/ {
15111
15112       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":192
15113  *                 return alias
15114  *             else:
15115  *                 return None             # <<<<<<<<<<<<<<
15116  *         else:
15117  *             return None
15118  */
15119       Py_INCREF(Py_None);
15120       __pyx_r = Py_None;
15121       goto __pyx_L0;
15122     }
15123     __pyx_L5:;
15124     goto __pyx_L4;
15125   }
15126   /*else*/ {
15127
15128     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":194
15129  *                 return None
15130  *         else:
15131  *             return None             # <<<<<<<<<<<<<<
15132  *     alias = property(__get_alias)
15133  * 
15134  */
15135     Py_INCREF(Py_None);
15136     __pyx_r = Py_None;
15137     goto __pyx_L0;
15138   }
15139   __pyx_L4:;
15140
15141   __pyx_r = Py_None; Py_INCREF(Py_None);
15142   goto __pyx_L0;
15143   __pyx_L1:;
15144   Py_XDECREF(__pyx_2);
15145   __Pyx_AddTraceback("purple.Account.__get_alias");
15146   __pyx_r = NULL;
15147   __pyx_L0:;
15148   return __pyx_r;
15149 }
15150
15151 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":197
15152  *     alias = property(__get_alias)
15153  * 
15154  *     def __get_user_info(self):             # <<<<<<<<<<<<<<
15155  *         cdef char *user_info = NULL
15156  *         if self.__exists:
15157  */
15158
15159 static PyObject *__pyx_pf_6purple_7Account___get_user_info(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
15160 static PyObject *__pyx_pf_6purple_7Account___get_user_info(PyObject *__pyx_v_self, PyObject *unused) {
15161   char *__pyx_v_user_info;
15162   PyObject *__pyx_r;
15163   int __pyx_1;
15164   PyObject *__pyx_2 = 0;
15165
15166   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":198
15167  * 
15168  *     def __get_user_info(self):
15169  *         cdef char *user_info = NULL             # <<<<<<<<<<<<<<
15170  *         if self.__exists:
15171  *             user_info = <char *> account.purple_account_get_user_info(self._get_structure())
15172  */
15173   __pyx_v_user_info = NULL;
15174
15175
15176   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":199
15177  *     def __get_user_info(self):
15178  *         cdef char *user_info = NULL
15179  *         if self.__exists:             # <<<<<<<<<<<<<<
15180  *             user_info = <char *> account.purple_account_get_user_info(self._get_structure())
15181  *             if user_info:
15182  */
15183   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1;}
15184   if (__pyx_1) {
15185
15186     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":200
15187  *         cdef char *user_info = NULL
15188  *         if self.__exists:
15189  *             user_info = <char *> account.purple_account_get_user_info(self._get_structure())             # <<<<<<<<<<<<<<
15190  *             if user_info:
15191  *                 return user_info
15192  */
15193     __pyx_v_user_info = ((char *)purple_account_get_user_info(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))));
15194
15195     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":201
15196  *         if self.__exists:
15197  *             user_info = <char *> account.purple_account_get_user_info(self._get_structure())
15198  *             if user_info:             # <<<<<<<<<<<<<<
15199  *                 return user_info
15200  *             else:
15201  */
15202     __pyx_1 = (__pyx_v_user_info != 0);
15203     if (__pyx_1) {
15204
15205       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":202
15206  *             user_info = <char *> account.purple_account_get_user_info(self._get_structure())
15207  *             if user_info:
15208  *                 return user_info             # <<<<<<<<<<<<<<
15209  *             else:
15210  *                 return None
15211  */
15212       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_user_info); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1;}
15213       __pyx_r = __pyx_2;
15214       __pyx_2 = 0;
15215       goto __pyx_L0;
15216       goto __pyx_L5;
15217     }
15218     /*else*/ {
15219
15220       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":204
15221  *                 return user_info
15222  *             else:
15223  *                 return None             # <<<<<<<<<<<<<<
15224  *         else:
15225  *             return None
15226  */
15227       Py_INCREF(Py_None);
15228       __pyx_r = Py_None;
15229       goto __pyx_L0;
15230     }
15231     __pyx_L5:;
15232     goto __pyx_L4;
15233   }
15234   /*else*/ {
15235
15236     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":206
15237  *                 return None
15238  *         else:
15239  *             return None             # <<<<<<<<<<<<<<
15240  *     user_info = property(__get_user_info)
15241  * 
15242  */
15243     Py_INCREF(Py_None);
15244     __pyx_r = Py_None;
15245     goto __pyx_L0;
15246   }
15247   __pyx_L4:;
15248
15249   __pyx_r = Py_None; Py_INCREF(Py_None);
15250   goto __pyx_L0;
15251   __pyx_L1:;
15252   Py_XDECREF(__pyx_2);
15253   __Pyx_AddTraceback("purple.Account.__get_user_info");
15254   __pyx_r = NULL;
15255   __pyx_L0:;
15256   return __pyx_r;
15257 }
15258
15259 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":209
15260  *     user_info = property(__get_user_info)
15261  * 
15262  *     def __get_remember_password(self):             # <<<<<<<<<<<<<<
15263  *         if self.__exists:
15264  *             return account.purple_account_get_remember_password( \
15265  */
15266
15267 static PyObject *__pyx_pf_6purple_7Account___get_remember_password(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
15268 static PyObject *__pyx_pf_6purple_7Account___get_remember_password(PyObject *__pyx_v_self, PyObject *unused) {
15269   PyObject *__pyx_r;
15270   int __pyx_1;
15271   PyObject *__pyx_2 = 0;
15272
15273   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":210
15274  * 
15275  *     def __get_remember_password(self):
15276  *         if self.__exists:             # <<<<<<<<<<<<<<
15277  *             return account.purple_account_get_remember_password( \
15278  *                     self._get_structure())
15279  */
15280   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1;}
15281   if (__pyx_1) {
15282
15283     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":212
15284  *         if self.__exists:
15285  *             return account.purple_account_get_remember_password( \
15286  *                     self._get_structure())             # <<<<<<<<<<<<<<
15287  *         else:
15288  *             return None
15289  */
15290     __pyx_2 = PyInt_FromLong(purple_account_get_remember_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1;}
15291     __pyx_r = __pyx_2;
15292     __pyx_2 = 0;
15293     goto __pyx_L0;
15294     goto __pyx_L4;
15295   }
15296   /*else*/ {
15297
15298     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":214
15299  *                     self._get_structure())
15300  *         else:
15301  *             return None             # <<<<<<<<<<<<<<
15302  *     remember_password = property(__get_remember_password)
15303  * 
15304  */
15305     Py_INCREF(Py_None);
15306     __pyx_r = Py_None;
15307     goto __pyx_L0;
15308   }
15309   __pyx_L4:;
15310
15311   __pyx_r = Py_None; Py_INCREF(Py_None);
15312   goto __pyx_L0;
15313   __pyx_L1:;
15314   Py_XDECREF(__pyx_2);
15315   __Pyx_AddTraceback("purple.Account.__get_remember_password");
15316   __pyx_r = NULL;
15317   __pyx_L0:;
15318   return __pyx_r;
15319 }
15320
15321 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":217
15322  *     remember_password = property(__get_remember_password)
15323  * 
15324  *     def __get_enabled(self):             # <<<<<<<<<<<<<<
15325  *         if self.__exists:
15326  *             return account.purple_account_get_enabled(self._get_structure(), \
15327  */
15328
15329 static PyObject *__pyx_pf_6purple_7Account___get_enabled(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
15330 static PyObject *__pyx_pf_6purple_7Account___get_enabled(PyObject *__pyx_v_self, PyObject *unused) {
15331   PyObject *__pyx_r;
15332   int __pyx_1;
15333   PyObject *__pyx_2 = 0;
15334   char *__pyx_3;
15335
15336   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":218
15337  * 
15338  *     def __get_enabled(self):
15339  *         if self.__exists:             # <<<<<<<<<<<<<<
15340  *             return account.purple_account_get_enabled(self._get_structure(), \
15341  *                     self.__core.ui_name)
15342  */
15343   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1;}
15344   if (__pyx_1) {
15345
15346     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":220
15347  *         if self.__exists:
15348  *             return account.purple_account_get_enabled(self._get_structure(), \
15349  *                     self.__core.ui_name)             # <<<<<<<<<<<<<<
15350  *         else:
15351  *             return None
15352  */
15353     __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core, __pyx_kp_ui_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
15354     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1;}
15355     Py_DECREF(__pyx_2); __pyx_2 = 0;
15356     __pyx_2 = PyInt_FromLong(purple_account_get_enabled(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1;}
15357     __pyx_r = __pyx_2;
15358     __pyx_2 = 0;
15359     goto __pyx_L0;
15360     goto __pyx_L4;
15361   }
15362   /*else*/ {
15363
15364     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":222
15365  *                     self.__core.ui_name)
15366  *         else:
15367  *             return None             # <<<<<<<<<<<<<<
15368  *     enabled = property(__get_enabled)
15369  * 
15370  */
15371     Py_INCREF(Py_None);
15372     __pyx_r = Py_None;
15373     goto __pyx_L0;
15374   }
15375   __pyx_L4:;
15376
15377   __pyx_r = Py_None; Py_INCREF(Py_None);
15378   goto __pyx_L0;
15379   __pyx_L1:;
15380   Py_XDECREF(__pyx_2);
15381   __Pyx_AddTraceback("purple.Account.__get_enabled");
15382   __pyx_r = NULL;
15383   __pyx_L0:;
15384   return __pyx_r;
15385 }
15386
15387 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":225
15388  *     enabled = property(__get_enabled)
15389  * 
15390  *     def __get_status_types(self):             # <<<<<<<<<<<<<<
15391  *         cdef glib.GList *iter = NULL
15392  *         cdef status.PurpleStatusType *c_statustype = NULL
15393  */
15394
15395 static PyObject *__pyx_pf_6purple_7Account___get_status_types(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
15396 static PyObject *__pyx_pf_6purple_7Account___get_status_types(PyObject *__pyx_v_self, PyObject *unused) {
15397   GList *__pyx_v_iter;
15398   PurpleStatusType *__pyx_v_c_statustype;
15399   char *__pyx_v_id;
15400   char *__pyx_v_name;
15401   PyObject *__pyx_v_status_types;
15402   PyObject *__pyx_r;
15403   int __pyx_1;
15404   PyObject *__pyx_2 = 0;
15405   PyObject *__pyx_3 = 0;
15406   PyObject *__pyx_4 = 0;
15407   __pyx_v_status_types = Py_None; Py_INCREF(Py_None);
15408
15409   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":226
15410  * 
15411  *     def __get_status_types(self):
15412  *         cdef glib.GList *iter = NULL             # <<<<<<<<<<<<<<
15413  *         cdef status.PurpleStatusType *c_statustype = NULL
15414  *         cdef char *id = NULL
15415  */
15416   __pyx_v_iter = NULL;
15417
15418
15419   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":227
15420  *     def __get_status_types(self):
15421  *         cdef glib.GList *iter = NULL
15422  *         cdef status.PurpleStatusType *c_statustype = NULL             # <<<<<<<<<<<<<<
15423  *         cdef char *id = NULL
15424  *         cdef char *name = NULL
15425  */
15426   __pyx_v_c_statustype = NULL;
15427
15428
15429   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":228
15430  *         cdef glib.GList *iter = NULL
15431  *         cdef status.PurpleStatusType *c_statustype = NULL
15432  *         cdef char *id = NULL             # <<<<<<<<<<<<<<
15433  *         cdef char *name = NULL
15434  * 
15435  */
15436   __pyx_v_id = NULL;
15437
15438
15439   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":229
15440  *         cdef status.PurpleStatusType *c_statustype = NULL
15441  *         cdef char *id = NULL
15442  *         cdef char *name = NULL             # <<<<<<<<<<<<<<
15443  * 
15444  *         if self.__exists:
15445  */
15446   __pyx_v_name = NULL;
15447
15448
15449   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":231
15450  *         cdef char *name = NULL
15451  * 
15452  *         if self.__exists:             # <<<<<<<<<<<<<<
15453  *             status_types = []
15454  *             iter = account.purple_account_get_status_types(self._get_structure())
15455  */
15456   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1;}
15457   if (__pyx_1) {
15458
15459     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":232
15460  * 
15461  *         if self.__exists:
15462  *             status_types = []             # <<<<<<<<<<<<<<
15463  *             iter = account.purple_account_get_status_types(self._get_structure())
15464  *             while iter:
15465  */
15466     __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1;}
15467     Py_DECREF(__pyx_v_status_types);
15468     __pyx_v_status_types = ((PyObject *)__pyx_2);
15469     __pyx_2 = 0;
15470
15471     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":233
15472  *         if self.__exists:
15473  *             status_types = []
15474  *             iter = account.purple_account_get_status_types(self._get_structure())             # <<<<<<<<<<<<<<
15475  *             while iter:
15476  *                 c_statustype = <status.PurpleStatusType *> iter.data
15477  */
15478     __pyx_v_iter = purple_account_get_status_types(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)));
15479
15480     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":234
15481  *             status_types = []
15482  *             iter = account.purple_account_get_status_types(self._get_structure())
15483  *             while iter:             # <<<<<<<<<<<<<<
15484  *                 c_statustype = <status.PurpleStatusType *> iter.data
15485  *                 id = <char *> status.purple_status_type_get_id(c_statustype)
15486  */
15487     while (1) {
15488       __pyx_1 = (__pyx_v_iter != 0);
15489       if (!__pyx_1) break;
15490
15491       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":235
15492  *             iter = account.purple_account_get_status_types(self._get_structure())
15493  *             while iter:
15494  *                 c_statustype = <status.PurpleStatusType *> iter.data             # <<<<<<<<<<<<<<
15495  *                 id = <char *> status.purple_status_type_get_id(c_statustype)
15496  *                 name = <char *> status.purple_status_type_get_name(c_statustype)
15497  */
15498       __pyx_v_c_statustype = ((PurpleStatusType *)__pyx_v_iter->data);
15499
15500       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":236
15501  *             while iter:
15502  *                 c_statustype = <status.PurpleStatusType *> iter.data
15503  *                 id = <char *> status.purple_status_type_get_id(c_statustype)             # <<<<<<<<<<<<<<
15504  *                 name = <char *> status.purple_status_type_get_name(c_statustype)
15505  *                 status_types.append((id, name))
15506  */
15507       __pyx_v_id = ((char *)purple_status_type_get_id(__pyx_v_c_statustype));
15508
15509       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":237
15510  *                 c_statustype = <status.PurpleStatusType *> iter.data
15511  *                 id = <char *> status.purple_status_type_get_id(c_statustype)
15512  *                 name = <char *> status.purple_status_type_get_name(c_statustype)             # <<<<<<<<<<<<<<
15513  *                 status_types.append((id, name))
15514  *                 iter = iter.next
15515  */
15516       __pyx_v_name = ((char *)purple_status_type_get_name(__pyx_v_c_statustype));
15517
15518       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":238
15519  *                 id = <char *> status.purple_status_type_get_id(c_statustype)
15520  *                 name = <char *> status.purple_status_type_get_name(c_statustype)
15521  *                 status_types.append((id, name))             # <<<<<<<<<<<<<<
15522  *                 iter = iter.next
15523  *             return status_types
15524  */
15525       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1;}
15526       __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1;}
15527       __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1;}
15528       PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
15529       PyTuple_SET_ITEM(__pyx_4, 1, __pyx_3);
15530       __pyx_2 = 0;
15531       __pyx_3 = 0;
15532       __pyx_2 = __Pyx_PyObject_Append(__pyx_v_status_types, ((PyObject *)__pyx_4)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1;}
15533       Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
15534       Py_DECREF(__pyx_2); __pyx_2 = 0;
15535
15536       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":239
15537  *                 name = <char *> status.purple_status_type_get_name(c_statustype)
15538  *                 status_types.append((id, name))
15539  *                 iter = iter.next             # <<<<<<<<<<<<<<
15540  *             return status_types
15541  *         else:
15542  */
15543       __pyx_v_iter = __pyx_v_iter->next;
15544     }
15545
15546     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":240
15547  *                 status_types.append((id, name))
15548  *                 iter = iter.next
15549  *             return status_types             # <<<<<<<<<<<<<<
15550  *         else:
15551  *              return None
15552  */
15553     Py_INCREF(__pyx_v_status_types);
15554     __pyx_r = __pyx_v_status_types;
15555     goto __pyx_L0;
15556     goto __pyx_L4;
15557   }
15558   /*else*/ {
15559
15560     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":242
15561  *             return status_types
15562  *         else:
15563  *              return None             # <<<<<<<<<<<<<<
15564  * 
15565  *     status_types = property(__get_status_types)
15566  */
15567     Py_INCREF(Py_None);
15568     __pyx_r = Py_None;
15569     goto __pyx_L0;
15570   }
15571   __pyx_L4:;
15572
15573   __pyx_r = Py_None; Py_INCREF(Py_None);
15574   goto __pyx_L0;
15575   __pyx_L1:;
15576   Py_XDECREF(__pyx_2);
15577   Py_XDECREF(__pyx_3);
15578   Py_XDECREF(__pyx_4);
15579   __Pyx_AddTraceback("purple.Account.__get_status_types");
15580   __pyx_r = NULL;
15581   __pyx_L0:;
15582   Py_DECREF(__pyx_v_status_types);
15583   return __pyx_r;
15584 }
15585
15586 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":246
15587  *     status_types = property(__get_status_types)
15588  * 
15589  *     def __get_active_status(self):             # <<<<<<<<<<<<<<
15590  *         cdef status.PurpleStatus* c_status = NULL
15591  *         cdef char *type = NULL
15592  */
15593
15594 static char __pyx_k_451[] = "type";
15595 static char __pyx_k_452[] = "name";
15596 static char __pyx_k_453[] = "message";
15597
15598 static PyObject *__pyx_kp_451;
15599 static PyObject *__pyx_kp_452;
15600 static PyObject *__pyx_kp_453;
15601
15602
15603 static char __pyx_k_450[] = "message";
15604
15605 static PyObject *__pyx_pf_6purple_7Account___get_active_status(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
15606 static PyObject *__pyx_pf_6purple_7Account___get_active_status(PyObject *__pyx_v_self, PyObject *unused) {
15607   PurpleStatus *__pyx_v_c_status;
15608   char *__pyx_v_type;
15609   char *__pyx_v_name;
15610   char *__pyx_v_msg;
15611   PyObject *__pyx_v_active;
15612   PyObject *__pyx_r;
15613   int __pyx_1;
15614   PyObject *__pyx_2 = 0;
15615   __pyx_v_active = Py_None; Py_INCREF(Py_None);
15616
15617   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":247
15618  * 
15619  *     def __get_active_status(self):
15620  *         cdef status.PurpleStatus* c_status = NULL             # <<<<<<<<<<<<<<
15621  *         cdef char *type = NULL
15622  *         cdef char *name = NULL
15623  */
15624   __pyx_v_c_status = NULL;
15625
15626
15627   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":248
15628  *     def __get_active_status(self):
15629  *         cdef status.PurpleStatus* c_status = NULL
15630  *         cdef char *type = NULL             # <<<<<<<<<<<<<<
15631  *         cdef char *name = NULL
15632  *         cdef char *msg = NULL
15633  */
15634   __pyx_v_type = NULL;
15635
15636
15637   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":249
15638  *         cdef status.PurpleStatus* c_status = NULL
15639  *         cdef char *type = NULL
15640  *         cdef char *name = NULL             # <<<<<<<<<<<<<<
15641  *         cdef char *msg = NULL
15642  *         if self.__exists:
15643  */
15644   __pyx_v_name = NULL;
15645
15646
15647   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":250
15648  *         cdef char *type = NULL
15649  *         cdef char *name = NULL
15650  *         cdef char *msg = NULL             # <<<<<<<<<<<<<<
15651  *         if self.__exists:
15652  *             active = {}
15653  */
15654   __pyx_v_msg = NULL;
15655
15656
15657   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":251
15658  *         cdef char *name = NULL
15659  *         cdef char *msg = NULL
15660  *         if self.__exists:             # <<<<<<<<<<<<<<
15661  *             active = {}
15662  *             c_status = <status.PurpleStatus*> account.purple_account_get_active_status(self._get_structure())
15663  */
15664   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1;}
15665   if (__pyx_1) {
15666
15667     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":252
15668  *         cdef char *msg = NULL
15669  *         if self.__exists:
15670  *             active = {}             # <<<<<<<<<<<<<<
15671  *             c_status = <status.PurpleStatus*> account.purple_account_get_active_status(self._get_structure())
15672  *             type = <char *> status.purple_status_get_id(c_status)
15673  */
15674     __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1;}
15675     Py_DECREF(__pyx_v_active);
15676     __pyx_v_active = ((PyObject *)__pyx_2);
15677     __pyx_2 = 0;
15678
15679     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":253
15680  *         if self.__exists:
15681  *             active = {}
15682  *             c_status = <status.PurpleStatus*> account.purple_account_get_active_status(self._get_structure())             # <<<<<<<<<<<<<<
15683  *             type = <char *> status.purple_status_get_id(c_status)
15684  *             name = <char *> status.purple_status_get_name(c_status)
15685  */
15686     __pyx_v_c_status = ((PurpleStatus *)purple_account_get_active_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self))));
15687
15688     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":254
15689  *             active = {}
15690  *             c_status = <status.PurpleStatus*> account.purple_account_get_active_status(self._get_structure())
15691  *             type = <char *> status.purple_status_get_id(c_status)             # <<<<<<<<<<<<<<
15692  *             name = <char *> status.purple_status_get_name(c_status)
15693  *             msg = <char *> status.purple_status_get_attr_string(c_status,
15694  */
15695     __pyx_v_type = ((char *)purple_status_get_id(__pyx_v_c_status));
15696
15697     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":255
15698  *             c_status = <status.PurpleStatus*> account.purple_account_get_active_status(self._get_structure())
15699  *             type = <char *> status.purple_status_get_id(c_status)
15700  *             name = <char *> status.purple_status_get_name(c_status)             # <<<<<<<<<<<<<<
15701  *             msg = <char *> status.purple_status_get_attr_string(c_status,
15702  *                 "message")
15703  */
15704     __pyx_v_name = ((char *)purple_status_get_name(__pyx_v_c_status));
15705
15706     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":257
15707  *             name = <char *> status.purple_status_get_name(c_status)
15708  *             msg = <char *> status.purple_status_get_attr_string(c_status,
15709  *                 "message")             # <<<<<<<<<<<<<<
15710  * 
15711  *             active['type'] = type
15712  */
15713     __pyx_v_msg = ((char *)purple_status_get_attr_string(__pyx_v_c_status, __pyx_k_450));
15714
15715     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":259
15716  *                 "message")
15717  * 
15718  *             active['type'] = type             # <<<<<<<<<<<<<<
15719  *             active['name'] = name
15720  *             if msg:
15721  */
15722     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1;}
15723     if (PyObject_SetItem(__pyx_v_active, __pyx_kp_451, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1;}
15724     Py_DECREF(__pyx_2); __pyx_2 = 0;
15725
15726     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":260
15727  * 
15728  *             active['type'] = type
15729  *             active['name'] = name             # <<<<<<<<<<<<<<
15730  *             if msg:
15731  *                 active['message'] = msg
15732  */
15733     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1;}
15734     if (PyObject_SetItem(__pyx_v_active, __pyx_kp_452, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1;}
15735     Py_DECREF(__pyx_2); __pyx_2 = 0;
15736
15737     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":261
15738  *             active['type'] = type
15739  *             active['name'] = name
15740  *             if msg:             # <<<<<<<<<<<<<<
15741  *                 active['message'] = msg
15742  * 
15743  */
15744     __pyx_1 = (__pyx_v_msg != 0);
15745     if (__pyx_1) {
15746
15747       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":262
15748  *             active['name'] = name
15749  *             if msg:
15750  *                 active['message'] = msg             # <<<<<<<<<<<<<<
15751  * 
15752  *             return active
15753  */
15754       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_msg); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1;}
15755       if (PyObject_SetItem(__pyx_v_active, __pyx_kp_453, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1;}
15756       Py_DECREF(__pyx_2); __pyx_2 = 0;
15757       goto __pyx_L5;
15758     }
15759     __pyx_L5:;
15760
15761     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":264
15762  *                 active['message'] = msg
15763  * 
15764  *             return active             # <<<<<<<<<<<<<<
15765  *         else:
15766  *             return None
15767  */
15768     Py_INCREF(__pyx_v_active);
15769     __pyx_r = __pyx_v_active;
15770     goto __pyx_L0;
15771     goto __pyx_L4;
15772   }
15773   /*else*/ {
15774
15775     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":266
15776  *             return active
15777  *         else:
15778  *             return None             # <<<<<<<<<<<<<<
15779  *     active_status = property(__get_active_status)
15780  * 
15781  */
15782     Py_INCREF(Py_None);
15783     __pyx_r = Py_None;
15784     goto __pyx_L0;
15785   }
15786   __pyx_L4:;
15787
15788   __pyx_r = Py_None; Py_INCREF(Py_None);
15789   goto __pyx_L0;
15790   __pyx_L1:;
15791   Py_XDECREF(__pyx_2);
15792   __Pyx_AddTraceback("purple.Account.__get_active_status");
15793   __pyx_r = NULL;
15794   __pyx_L0:;
15795   Py_DECREF(__pyx_v_active);
15796   return __pyx_r;
15797 }
15798
15799 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":269
15800  *     active_status = property(__get_active_status)
15801  * 
15802  *     def set_username(self, username):             # <<<<<<<<<<<<<<
15803  *         """
15804  *         Sets the account's username.
15805  */
15806
15807 static PyObject *__pyx_pf_6purple_7Account_set_username(PyObject *__pyx_v_self, PyObject *__pyx_v_username); /*proto*/
15808 static char __pyx_doc_6purple_7Account_set_username[] = "\n        Sets the account\'s username.\n\n        @param username The username\n        @return True if successful, False if account doesn\'t exists\n        ";
15809 static PyObject *__pyx_pf_6purple_7Account_set_username(PyObject *__pyx_v_self, PyObject *__pyx_v_username) {
15810   PyObject *__pyx_r;
15811   int __pyx_1;
15812   char *__pyx_2;
15813
15814   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":276
15815  *         @return True if successful, False if account doesn't exists
15816  *         """
15817  *         if self.__exists:             # <<<<<<<<<<<<<<
15818  *             account.purple_account_set_username(self._get_structure(), \
15819  *                     username)
15820  */
15821   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1;}
15822   if (__pyx_1) {
15823
15824     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":278
15825  *         if self.__exists:
15826  *             account.purple_account_set_username(self._get_structure(), \
15827  *                     username)             # <<<<<<<<<<<<<<
15828  *             return True
15829  *         else:
15830  */
15831     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1;}
15832     purple_account_set_username(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2);
15833
15834     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":279
15835  *             account.purple_account_set_username(self._get_structure(), \
15836  *                     username)
15837  *             return True             # <<<<<<<<<<<<<<
15838  *         else:
15839  *             return False
15840  */
15841     Py_INCREF(Py_True);
15842     __pyx_r = Py_True;
15843     goto __pyx_L0;
15844     goto __pyx_L4;
15845   }
15846   /*else*/ {
15847
15848     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":281
15849  *             return True
15850  *         else:
15851  *             return False             # <<<<<<<<<<<<<<
15852  * 
15853  *     def set_protocol(self, protocol):
15854  */
15855     Py_INCREF(Py_False);
15856     __pyx_r = Py_False;
15857     goto __pyx_L0;
15858   }
15859   __pyx_L4:;
15860
15861   __pyx_r = Py_None; Py_INCREF(Py_None);
15862   goto __pyx_L0;
15863   __pyx_L1:;
15864   __Pyx_AddTraceback("purple.Account.set_username");
15865   __pyx_r = NULL;
15866   __pyx_L0:;
15867   return __pyx_r;
15868 }
15869
15870 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":283
15871  *             return False
15872  * 
15873  *     def set_protocol(self, protocol):             # <<<<<<<<<<<<<<
15874  *         """
15875  *         Sets the account's protocol.
15876  */
15877
15878 static PyObject *__pyx_pf_6purple_7Account_set_protocol(PyObject *__pyx_v_self, PyObject *__pyx_v_protocol); /*proto*/
15879 static char __pyx_doc_6purple_7Account_set_protocol[] = "\n        Sets the account\'s protocol.\n\n        @param protocol A Protocol class instance\n        @return True if successful, False if account doesn\'t exists\n        ";
15880 static PyObject *__pyx_pf_6purple_7Account_set_protocol(PyObject *__pyx_v_self, PyObject *__pyx_v_protocol) {
15881   PyObject *__pyx_r;
15882   PyObject *__pyx_1 = 0;
15883   int __pyx_2;
15884   char *__pyx_3;
15885
15886   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":290
15887  *         @return True if successful, False if account doesn't exists
15888  *         """
15889  *         if protocol.exists and self.__exists:             # <<<<<<<<<<<<<<
15890  *             account.purple_account_set_protocol_id(self._get_structure(), \
15891  *                         protocol.id)
15892  */
15893   __pyx_1 = PyObject_GetAttr(__pyx_v_protocol, __pyx_kp_exists); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1;}
15894   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1;}
15895   if (__pyx_2) {
15896     Py_DECREF(__pyx_1); __pyx_1 = 0;
15897     __pyx_1 = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists;
15898     Py_INCREF(__pyx_1);
15899   }
15900   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1;}
15901   Py_DECREF(__pyx_1); __pyx_1 = 0;
15902   if (__pyx_2) {
15903
15904     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":292
15905  *         if protocol.exists and self.__exists:
15906  *             account.purple_account_set_protocol_id(self._get_structure(), \
15907  *                         protocol.id)             # <<<<<<<<<<<<<<
15908  *             self.__protocol = protocol
15909  *             return True
15910  */
15911     __pyx_1 = PyObject_GetAttr(__pyx_v_protocol, __pyx_kp_id); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1;}
15912     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1;}
15913     Py_DECREF(__pyx_1); __pyx_1 = 0;
15914     purple_account_set_protocol_id(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3);
15915
15916     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":293
15917  *             account.purple_account_set_protocol_id(self._get_structure(), \
15918  *                         protocol.id)
15919  *             self.__protocol = protocol             # <<<<<<<<<<<<<<
15920  *             return True
15921  *         else:
15922  */
15923     Py_INCREF(__pyx_v_protocol);
15924     Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol);
15925     ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol = __pyx_v_protocol;
15926
15927     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":294
15928  *                         protocol.id)
15929  *             self.__protocol = protocol
15930  *             return True             # <<<<<<<<<<<<<<
15931  *         else:
15932  *             return False
15933  */
15934     Py_INCREF(Py_True);
15935     __pyx_r = Py_True;
15936     goto __pyx_L0;
15937     goto __pyx_L4;
15938   }
15939   /*else*/ {
15940
15941     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":296
15942  *             return True
15943  *         else:
15944  *             return False             # <<<<<<<<<<<<<<
15945  * 
15946  *     def set_protocol_options(self, po):
15947  */
15948     Py_INCREF(Py_False);
15949     __pyx_r = Py_False;
15950     goto __pyx_L0;
15951   }
15952   __pyx_L4:;
15953
15954   __pyx_r = Py_None; Py_INCREF(Py_None);
15955   goto __pyx_L0;
15956   __pyx_L1:;
15957   Py_XDECREF(__pyx_1);
15958   __Pyx_AddTraceback("purple.Account.set_protocol");
15959   __pyx_r = NULL;
15960   __pyx_L0:;
15961   return __pyx_r;
15962 }
15963
15964 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":298
15965  *             return False
15966  * 
15967  *     def set_protocol_options(self, po):             # <<<<<<<<<<<<<<
15968  *         """
15969  *         @param po Dictionary {'setting': value, ...} options to be updated
15970  */
15971
15972 static PyObject *__pyx_pf_6purple_7Account_set_protocol_options(PyObject *__pyx_v_self, PyObject *__pyx_v_po); /*proto*/
15973 static char __pyx_doc_6purple_7Account_set_protocol_options[] = "\n        @param po Dictionary {\'setting\': value, ...} options to be updated\n        @return True to success or False to failure\n        ";
15974 static PyObject *__pyx_pf_6purple_7Account_set_protocol_options(PyObject *__pyx_v_self, PyObject *__pyx_v_po) {
15975   GList *__pyx_v_iter;
15976   PurpleAccount *__pyx_v_c_account;
15977   PurplePlugin *__pyx_v_c_plugin;
15978   PurplePluginProtocolInfo *__pyx_v_prpl_info;
15979   PurpleAccountOption *__pyx_v_option;
15980   PurplePrefType __pyx_v_type;
15981   char *__pyx_v_str_value;
15982   char *__pyx_v_setting;
15983   int __pyx_v_int_value;
15984   gboolean __pyx_v_bool_value;
15985   PyObject *__pyx_v_sett;
15986   PyObject *__pyx_r;
15987   int __pyx_1;
15988   PyObject *__pyx_2 = 0;
15989   char *__pyx_3;
15990   PyObject *__pyx_4 = 0;
15991   PyObject *__pyx_5 = 0;
15992   int __pyx_6;
15993   int __pyx_7;
15994   gboolean __pyx_8;
15995   __pyx_v_sett = Py_None; Py_INCREF(Py_None);
15996
15997   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":314
15998  *         cdef glib.gboolean bool_value
15999  * 
16000  *         c_account = self._get_structure()             # <<<<<<<<<<<<<<
16001  * 
16002  *         if c_account == NULL:
16003  */
16004   __pyx_v_c_account = ((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self));
16005
16006   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":316
16007  *         c_account = self._get_structure()
16008  * 
16009  *         if c_account == NULL:             # <<<<<<<<<<<<<<
16010  *             return False
16011  * 
16012  */
16013   __pyx_1 = (__pyx_v_c_account == NULL);
16014   if (__pyx_1) {
16015
16016     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":317
16017  * 
16018  *         if c_account == NULL:
16019  *             return False             # <<<<<<<<<<<<<<
16020  * 
16021  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)
16022  */
16023     Py_INCREF(Py_False);
16024     __pyx_r = Py_False;
16025     goto __pyx_L0;
16026     goto __pyx_L4;
16027   }
16028   __pyx_L4:;
16029
16030   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":319
16031  *             return False
16032  * 
16033  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)             # <<<<<<<<<<<<<<
16034  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)
16035  *         iter = prpl_info.protocol_options
16036  */
16037   __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol, __pyx_kp_id); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1;}
16038   __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1;}
16039   Py_DECREF(__pyx_2); __pyx_2 = 0;
16040   __pyx_v_c_plugin = purple_plugins_find_with_id(__pyx_3);
16041
16042   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":320
16043  * 
16044  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)
16045  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)             # <<<<<<<<<<<<<<
16046  *         iter = prpl_info.protocol_options
16047  * 
16048  */
16049   __pyx_v_prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(__pyx_v_c_plugin);
16050
16051   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":321
16052  *         c_plugin = plugin.purple_plugins_find_with_id(self.__protocol.id)
16053  *         prpl_info = plugin.PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)
16054  *         iter = prpl_info.protocol_options             # <<<<<<<<<<<<<<
16055  * 
16056  *         while iter:
16057  */
16058   __pyx_v_iter = __pyx_v_prpl_info->protocol_options;
16059
16060   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":323
16061  *         iter = prpl_info.protocol_options
16062  * 
16063  *         while iter:             # <<<<<<<<<<<<<<
16064  * 
16065  *             option = <accountopt.PurpleAccountOption *> iter.data
16066  */
16067   while (1) {
16068     __pyx_1 = (__pyx_v_iter != 0);
16069     if (!__pyx_1) break;
16070
16071     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":325
16072  *         while iter:
16073  * 
16074  *             option = <accountopt.PurpleAccountOption *> iter.data             # <<<<<<<<<<<<<<
16075  *             type = accountopt.purple_account_option_get_type(option)
16076  *             setting = <char *> accountopt.purple_account_option_get_setting(option)
16077  */
16078     __pyx_v_option = ((PurpleAccountOption *)__pyx_v_iter->data);
16079
16080     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":326
16081  * 
16082  *             option = <accountopt.PurpleAccountOption *> iter.data
16083  *             type = accountopt.purple_account_option_get_type(option)             # <<<<<<<<<<<<<<
16084  *             setting = <char *> accountopt.purple_account_option_get_setting(option)
16085  * 
16086  */
16087     __pyx_v_type = purple_account_option_get_type(__pyx_v_option);
16088
16089     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":327
16090  *             option = <accountopt.PurpleAccountOption *> iter.data
16091  *             type = accountopt.purple_account_option_get_type(option)
16092  *             setting = <char *> accountopt.purple_account_option_get_setting(option)             # <<<<<<<<<<<<<<
16093  * 
16094  *             sett = str(<char *> setting)
16095  */
16096     __pyx_v_setting = ((char *)purple_account_option_get_setting(__pyx_v_option));
16097
16098     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":329
16099  *             setting = <char *> accountopt.purple_account_option_get_setting(option)
16100  * 
16101  *             sett = str(<char *> setting)             # <<<<<<<<<<<<<<
16102  * 
16103  *             if not po.has_key(sett):
16104  */
16105     __pyx_2 = __Pyx_PyBytes_FromString(((char *)__pyx_v_setting)); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1;}
16106     __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1;}
16107     PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
16108     __pyx_2 = 0;
16109     __pyx_2 = PyObject_Call(((PyObject*)&PyBytes_Type), ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1;}
16110     Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
16111     Py_DECREF(__pyx_v_sett);
16112     __pyx_v_sett = __pyx_2;
16113     __pyx_2 = 0;
16114
16115     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":331
16116  *             sett = str(<char *> setting)
16117  * 
16118  *             if not po.has_key(sett):             # <<<<<<<<<<<<<<
16119  *                 iter = iter.next
16120  *                 continue
16121  */
16122     __pyx_4 = PyObject_GetAttr(__pyx_v_po, __pyx_kp_has_key); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1;}
16123     __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1;}
16124     Py_INCREF(__pyx_v_sett);
16125     PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_sett);
16126     __pyx_5 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1;}
16127     Py_DECREF(__pyx_4); __pyx_4 = 0;
16128     Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
16129     __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1;}
16130     Py_DECREF(__pyx_5); __pyx_5 = 0;
16131     __pyx_6 = (!__pyx_1);
16132     if (__pyx_6) {
16133
16134       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":332
16135  * 
16136  *             if not po.has_key(sett):
16137  *                 iter = iter.next             # <<<<<<<<<<<<<<
16138  *                 continue
16139  * 
16140  */
16141       __pyx_v_iter = __pyx_v_iter->next;
16142
16143       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":333
16144  *             if not po.has_key(sett):
16145  *                 iter = iter.next
16146  *                 continue             # <<<<<<<<<<<<<<
16147  * 
16148  *             if type == prefs.PURPLE_PREF_STRING:
16149  */
16150       goto __pyx_L5;
16151       goto __pyx_L7;
16152     }
16153     __pyx_L7:;
16154
16155     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":335
16156  *                 continue
16157  * 
16158  *             if type == prefs.PURPLE_PREF_STRING:             # <<<<<<<<<<<<<<
16159  * 
16160  *                 str_value = <char *> po[sett]
16161  */
16162     __pyx_1 = (__pyx_v_type == PURPLE_PREF_STRING);
16163     if (__pyx_1) {
16164
16165       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":337
16166  *             if type == prefs.PURPLE_PREF_STRING:
16167  * 
16168  *                 str_value = <char *> po[sett]             # <<<<<<<<<<<<<<
16169  *                 account.purple_account_set_string(c_account, setting, str_value)
16170  * 
16171  */
16172       __pyx_4 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_4) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1;}
16173       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_4); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1;}
16174       Py_DECREF(__pyx_4); __pyx_4 = 0;
16175       __pyx_v_str_value = ((char *)__pyx_3);
16176
16177       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":338
16178  * 
16179  *                 str_value = <char *> po[sett]
16180  *                 account.purple_account_set_string(c_account, setting, str_value)             # <<<<<<<<<<<<<<
16181  * 
16182  *             elif type == prefs.PURPLE_PREF_INT:
16183  */
16184       purple_account_set_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value);
16185       goto __pyx_L8;
16186     }
16187
16188     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":340
16189  *                 account.purple_account_set_string(c_account, setting, str_value)
16190  * 
16191  *             elif type == prefs.PURPLE_PREF_INT:             # <<<<<<<<<<<<<<
16192  * 
16193  *                 int_value = int(po[sett])
16194  */
16195     __pyx_6 = (__pyx_v_type == PURPLE_PREF_INT);
16196     if (__pyx_6) {
16197
16198       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":342
16199  *             elif type == prefs.PURPLE_PREF_INT:
16200  * 
16201  *                 int_value = int(po[sett])             # <<<<<<<<<<<<<<
16202  *                 account.purple_account_set_int(c_account, setting, int_value)
16203  * 
16204  */
16205       __pyx_2 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_2) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1;}
16206       __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1;}
16207       PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
16208       __pyx_2 = 0;
16209       __pyx_4 = PyObject_Call(((PyObject*)&PyInt_Type), ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1;}
16210       Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
16211       __pyx_7 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1;}
16212       Py_DECREF(__pyx_4); __pyx_4 = 0;
16213       __pyx_v_int_value = __pyx_7;
16214
16215       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":343
16216  * 
16217  *                 int_value = int(po[sett])
16218  *                 account.purple_account_set_int(c_account, setting, int_value)             # <<<<<<<<<<<<<<
16219  * 
16220  *             elif type == prefs.PURPLE_PREF_BOOLEAN:
16221  */
16222       purple_account_set_int(__pyx_v_c_account, __pyx_v_setting, __pyx_v_int_value);
16223       goto __pyx_L8;
16224     }
16225
16226     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":345
16227  *                 account.purple_account_set_int(c_account, setting, int_value)
16228  * 
16229  *             elif type == prefs.PURPLE_PREF_BOOLEAN:             # <<<<<<<<<<<<<<
16230  * 
16231  *                 bool_value = bool(po[sett])
16232  */
16233     __pyx_1 = (__pyx_v_type == PURPLE_PREF_BOOLEAN);
16234     if (__pyx_1) {
16235
16236       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":347
16237  *             elif type == prefs.PURPLE_PREF_BOOLEAN:
16238  * 
16239  *                 bool_value = bool(po[sett])             # <<<<<<<<<<<<<<
16240  *                 account.purple_account_set_bool(c_account, setting, bool_value)
16241  * 
16242  */
16243       __pyx_2 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_2) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1;}
16244       __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1;}
16245       PyTuple_SET_ITEM(__pyx_5, 0, __pyx_2);
16246       __pyx_2 = 0;
16247       __pyx_4 = PyObject_Call(__pyx_builtin_bool, ((PyObject *)__pyx_5), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1;}
16248       Py_DECREF(((PyObject *)__pyx_5)); __pyx_5 = 0;
16249       __pyx_8 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1;}
16250       Py_DECREF(__pyx_4); __pyx_4 = 0;
16251       __pyx_v_bool_value = __pyx_8;
16252
16253       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":348
16254  * 
16255  *                 bool_value = bool(po[sett])
16256  *                 account.purple_account_set_bool(c_account, setting, bool_value)             # <<<<<<<<<<<<<<
16257  * 
16258  *             elif type == prefs.PURPLE_PREF_STRING_LIST:
16259  */
16260       purple_account_set_bool(__pyx_v_c_account, __pyx_v_setting, __pyx_v_bool_value);
16261       goto __pyx_L8;
16262     }
16263
16264     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":350
16265  *                 account.purple_account_set_bool(c_account, setting, bool_value)
16266  * 
16267  *             elif type == prefs.PURPLE_PREF_STRING_LIST:             # <<<<<<<<<<<<<<
16268  * 
16269  *                 str_value = <char *> po[sett]
16270  */
16271     __pyx_6 = (__pyx_v_type == PURPLE_PREF_STRING_LIST);
16272     if (__pyx_6) {
16273
16274       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":352
16275  *             elif type == prefs.PURPLE_PREF_STRING_LIST:
16276  * 
16277  *                 str_value = <char *> po[sett]             # <<<<<<<<<<<<<<
16278  *                 account.purple_account_set_string(c_account, setting, str_value)
16279  * 
16280  */
16281       __pyx_2 = PyObject_GetItem(__pyx_v_po, __pyx_v_sett); if (!__pyx_2) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1;}
16282       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1;}
16283       Py_DECREF(__pyx_2); __pyx_2 = 0;
16284       __pyx_v_str_value = ((char *)__pyx_3);
16285
16286       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":353
16287  * 
16288  *                 str_value = <char *> po[sett]
16289  *                 account.purple_account_set_string(c_account, setting, str_value)             # <<<<<<<<<<<<<<
16290  * 
16291  *             iter = iter.next
16292  */
16293       purple_account_set_string(__pyx_v_c_account, __pyx_v_setting, __pyx_v_str_value);
16294       goto __pyx_L8;
16295     }
16296     __pyx_L8:;
16297
16298     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":355
16299  *                 account.purple_account_set_string(c_account, setting, str_value)
16300  * 
16301  *             iter = iter.next             # <<<<<<<<<<<<<<
16302  * 
16303  *         return True
16304  */
16305     __pyx_v_iter = __pyx_v_iter->next;
16306     __pyx_L5:;
16307   }
16308
16309   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":357
16310  *             iter = iter.next
16311  * 
16312  *         return True             # <<<<<<<<<<<<<<
16313  * 
16314  *     def set_password(self, password):
16315  */
16316   Py_INCREF(Py_True);
16317   __pyx_r = Py_True;
16318   goto __pyx_L0;
16319
16320   __pyx_r = Py_None; Py_INCREF(Py_None);
16321   goto __pyx_L0;
16322   __pyx_L1:;
16323   Py_XDECREF(__pyx_2);
16324   Py_XDECREF(__pyx_4);
16325   Py_XDECREF(__pyx_5);
16326   __Pyx_AddTraceback("purple.Account.set_protocol_options");
16327   __pyx_r = NULL;
16328   __pyx_L0:;
16329   Py_DECREF(__pyx_v_sett);
16330   return __pyx_r;
16331 }
16332
16333 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":359
16334  *         return True
16335  * 
16336  *     def set_password(self, password):             # <<<<<<<<<<<<<<
16337  *         """
16338  *         Sets the account's password.
16339  */
16340
16341 static PyObject *__pyx_pf_6purple_7Account_set_password(PyObject *__pyx_v_self, PyObject *__pyx_v_password); /*proto*/
16342 static char __pyx_doc_6purple_7Account_set_password[] = "\n        Sets the account\'s password.\n\n        @param password The password\n        @return True if successful, False if account doesn\'t exists\n        ";
16343 static PyObject *__pyx_pf_6purple_7Account_set_password(PyObject *__pyx_v_self, PyObject *__pyx_v_password) {
16344   PyObject *__pyx_r;
16345   int __pyx_1;
16346   char *__pyx_2;
16347
16348   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":366
16349  *         @return True if successful, False if account doesn't exists
16350  *         """
16351  *         if self.__exists:             # <<<<<<<<<<<<<<
16352  *             account.purple_account_set_password(self._get_structure(), \
16353  *                     password)
16354  */
16355   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1;}
16356   if (__pyx_1) {
16357
16358     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":368
16359  *         if self.__exists:
16360  *             account.purple_account_set_password(self._get_structure(), \
16361  *                     password)             # <<<<<<<<<<<<<<
16362  *             return True
16363  *         else:
16364  */
16365     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_password); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1;}
16366     purple_account_set_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2);
16367
16368     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":369
16369  *             account.purple_account_set_password(self._get_structure(), \
16370  *                     password)
16371  *             return True             # <<<<<<<<<<<<<<
16372  *         else:
16373  *             return False
16374  */
16375     Py_INCREF(Py_True);
16376     __pyx_r = Py_True;
16377     goto __pyx_L0;
16378     goto __pyx_L4;
16379   }
16380   /*else*/ {
16381
16382     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":371
16383  *             return True
16384  *         else:
16385  *             return False             # <<<<<<<<<<<<<<
16386  * 
16387  *     def set_alias(self, alias):
16388  */
16389     Py_INCREF(Py_False);
16390     __pyx_r = Py_False;
16391     goto __pyx_L0;
16392   }
16393   __pyx_L4:;
16394
16395   __pyx_r = Py_None; Py_INCREF(Py_None);
16396   goto __pyx_L0;
16397   __pyx_L1:;
16398   __Pyx_AddTraceback("purple.Account.set_password");
16399   __pyx_r = NULL;
16400   __pyx_L0:;
16401   return __pyx_r;
16402 }
16403
16404 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":373
16405  *             return False
16406  * 
16407  *     def set_alias(self, alias):             # <<<<<<<<<<<<<<
16408  *         """
16409  *         Sets the account's alias
16410  */
16411
16412 static PyObject *__pyx_pf_6purple_7Account_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
16413 static char __pyx_doc_6purple_7Account_set_alias[] = "\n        Sets the account\'s alias\n\n        @param alias The alias\n        @return True if successful, False if account doesn\'t exists\n        ";
16414 static PyObject *__pyx_pf_6purple_7Account_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias) {
16415   PyObject *__pyx_r;
16416   int __pyx_1;
16417   char *__pyx_2;
16418
16419   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":380
16420  *         @return True if successful, False if account doesn't exists
16421  *         """
16422  *         if self.__exists:             # <<<<<<<<<<<<<<
16423  *             account.purple_account_set_alias(self._get_structure(), \
16424  *                     alias)
16425  */
16426   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1;}
16427   if (__pyx_1) {
16428
16429     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":382
16430  *         if self.__exists:
16431  *             account.purple_account_set_alias(self._get_structure(), \
16432  *                     alias)             # <<<<<<<<<<<<<<
16433  *             return True
16434  *         else:
16435  */
16436     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_alias); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1;}
16437     purple_account_set_alias(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2);
16438
16439     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":383
16440  *             account.purple_account_set_alias(self._get_structure(), \
16441  *                     alias)
16442  *             return True             # <<<<<<<<<<<<<<
16443  *         else:
16444  *             return False
16445  */
16446     Py_INCREF(Py_True);
16447     __pyx_r = Py_True;
16448     goto __pyx_L0;
16449     goto __pyx_L4;
16450   }
16451   /*else*/ {
16452
16453     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":385
16454  *             return True
16455  *         else:
16456  *             return False             # <<<<<<<<<<<<<<
16457  * 
16458  *     def set_user_info(self, user_info):
16459  */
16460     Py_INCREF(Py_False);
16461     __pyx_r = Py_False;
16462     goto __pyx_L0;
16463   }
16464   __pyx_L4:;
16465
16466   __pyx_r = Py_None; Py_INCREF(Py_None);
16467   goto __pyx_L0;
16468   __pyx_L1:;
16469   __Pyx_AddTraceback("purple.Account.set_alias");
16470   __pyx_r = NULL;
16471   __pyx_L0:;
16472   return __pyx_r;
16473 }
16474
16475 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":387
16476  *             return False
16477  * 
16478  *     def set_user_info(self, user_info):             # <<<<<<<<<<<<<<
16479  *         """
16480  *         Sets the account's user information
16481  */
16482
16483 static PyObject *__pyx_pf_6purple_7Account_set_user_info(PyObject *__pyx_v_self, PyObject *__pyx_v_user_info); /*proto*/
16484 static char __pyx_doc_6purple_7Account_set_user_info[] = "\n        Sets the account\'s user information\n\n        @param user_info The user information\n        @return True if successful, False if account doesn\'t exists\n        ";
16485 static PyObject *__pyx_pf_6purple_7Account_set_user_info(PyObject *__pyx_v_self, PyObject *__pyx_v_user_info) {
16486   PyObject *__pyx_r;
16487   int __pyx_1;
16488   char *__pyx_2;
16489
16490   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":394
16491  *         @return True if successful, False if account doesn't exists
16492  *         """
16493  *         if self.__exists:             # <<<<<<<<<<<<<<
16494  *             account.purple_account_set_user_info(self._get_structure(), \
16495  *                     user_info)
16496  */
16497   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1;}
16498   if (__pyx_1) {
16499
16500     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":396
16501  *         if self.__exists:
16502  *             account.purple_account_set_user_info(self._get_structure(), \
16503  *                     user_info)             # <<<<<<<<<<<<<<
16504  *             return True
16505  *         else:
16506  */
16507     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_user_info); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1;}
16508     purple_account_set_user_info(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2);
16509
16510     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":397
16511  *             account.purple_account_set_user_info(self._get_structure(), \
16512  *                     user_info)
16513  *             return True             # <<<<<<<<<<<<<<
16514  *         else:
16515  *             return False
16516  */
16517     Py_INCREF(Py_True);
16518     __pyx_r = Py_True;
16519     goto __pyx_L0;
16520     goto __pyx_L4;
16521   }
16522   /*else*/ {
16523
16524     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":399
16525  *             return True
16526  *         else:
16527  *             return False             # <<<<<<<<<<<<<<
16528  * 
16529  *     def set_remember_password(self, remember_password):
16530  */
16531     Py_INCREF(Py_False);
16532     __pyx_r = Py_False;
16533     goto __pyx_L0;
16534   }
16535   __pyx_L4:;
16536
16537   __pyx_r = Py_None; Py_INCREF(Py_None);
16538   goto __pyx_L0;
16539   __pyx_L1:;
16540   __Pyx_AddTraceback("purple.Account.set_user_info");
16541   __pyx_r = NULL;
16542   __pyx_L0:;
16543   return __pyx_r;
16544 }
16545
16546 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":401
16547  *             return False
16548  * 
16549  *     def set_remember_password(self, remember_password):             # <<<<<<<<<<<<<<
16550  *         """
16551  *         Sets whether or not this account should save its password.
16552  */
16553
16554 static PyObject *__pyx_pf_6purple_7Account_set_remember_password(PyObject *__pyx_v_self, PyObject *__pyx_v_remember_password); /*proto*/
16555 static char __pyx_doc_6purple_7Account_set_remember_password[] = "\n        Sets whether or not this account should save its password.\n\n        @param remember_password True if should remember the password,\n                                 or False otherwise\n        @return True if successful, False if account doesn\'t exists\n        ";
16556 static PyObject *__pyx_pf_6purple_7Account_set_remember_password(PyObject *__pyx_v_self, PyObject *__pyx_v_remember_password) {
16557   PyObject *__pyx_r;
16558   int __pyx_1;
16559   gboolean __pyx_2;
16560
16561   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":409
16562  *         @return True if successful, False if account doesn't exists
16563  *         """
16564  *         if self.__exists:             # <<<<<<<<<<<<<<
16565  *             account.purple_account_set_remember_password( \
16566  *                 self._get_structure(), remember_password)
16567  */
16568   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1;}
16569   if (__pyx_1) {
16570
16571     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":411
16572  *         if self.__exists:
16573  *             account.purple_account_set_remember_password( \
16574  *                 self._get_structure(), remember_password)             # <<<<<<<<<<<<<<
16575  *             return True
16576  *         else:
16577  */
16578     __pyx_2 = __pyx_PyInt_int(__pyx_v_remember_password); if (unlikely((__pyx_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1;}
16579     purple_account_set_remember_password(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2);
16580
16581     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":412
16582  *             account.purple_account_set_remember_password( \
16583  *                 self._get_structure(), remember_password)
16584  *             return True             # <<<<<<<<<<<<<<
16585  *         else:
16586  *             return False
16587  */
16588     Py_INCREF(Py_True);
16589     __pyx_r = Py_True;
16590     goto __pyx_L0;
16591     goto __pyx_L4;
16592   }
16593   /*else*/ {
16594
16595     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":414
16596  *             return True
16597  *         else:
16598  *             return False             # <<<<<<<<<<<<<<
16599  * 
16600  *     def set_enabled(self, value):
16601  */
16602     Py_INCREF(Py_False);
16603     __pyx_r = Py_False;
16604     goto __pyx_L0;
16605   }
16606   __pyx_L4:;
16607
16608   __pyx_r = Py_None; Py_INCREF(Py_None);
16609   goto __pyx_L0;
16610   __pyx_L1:;
16611   __Pyx_AddTraceback("purple.Account.set_remember_password");
16612   __pyx_r = NULL;
16613   __pyx_L0:;
16614   return __pyx_r;
16615 }
16616
16617 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":416
16618  *             return False
16619  * 
16620  *     def set_enabled(self, value):             # <<<<<<<<<<<<<<
16621  *         """
16622  *         Sets wheter or not this account is enabled.
16623  */
16624
16625 static PyObject *__pyx_pf_6purple_7Account_set_enabled(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
16626 static char __pyx_doc_6purple_7Account_set_enabled[] = "\n        Sets wheter or not this account is enabled.\n\n        @param value True if it is enabled, or False otherwise\n        @return True if successful, False if account doesn\'t exists\n        ";
16627 static PyObject *__pyx_pf_6purple_7Account_set_enabled(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
16628   PyObject *__pyx_r;
16629   int __pyx_1;
16630   PyObject *__pyx_2 = 0;
16631   char *__pyx_3;
16632   PyObject *__pyx_4 = 0;
16633   gboolean __pyx_5;
16634
16635   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":423
16636  *         @return True if successful, False if account doesn't exists
16637  *         """
16638  *         if self.__exists:             # <<<<<<<<<<<<<<
16639  *             account.purple_account_set_enabled(self._get_structure(), \
16640  *                     self.__core.ui_name, bool(value))
16641  */
16642   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1;}
16643   if (__pyx_1) {
16644
16645     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":425
16646  *         if self.__exists:
16647  *             account.purple_account_set_enabled(self._get_structure(), \
16648  *                     self.__core.ui_name, bool(value))             # <<<<<<<<<<<<<<
16649  *             return True
16650  *         else:
16651  */
16652     __pyx_2 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__core, __pyx_kp_ui_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1;}
16653     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_2); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1;}
16654     Py_DECREF(__pyx_2); __pyx_2 = 0;
16655     __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1;}
16656     Py_INCREF(__pyx_v_value);
16657     PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_value);
16658     __pyx_4 = PyObject_Call(__pyx_builtin_bool, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1;}
16659     Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
16660     __pyx_5 = __pyx_PyInt_int(__pyx_4); if (unlikely((__pyx_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1;}
16661     Py_DECREF(__pyx_4); __pyx_4 = 0;
16662     purple_account_set_enabled(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3, __pyx_5);
16663
16664     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":426
16665  *             account.purple_account_set_enabled(self._get_structure(), \
16666  *                     self.__core.ui_name, bool(value))
16667  *             return True             # <<<<<<<<<<<<<<
16668  *         else:
16669  *             return False
16670  */
16671     Py_INCREF(Py_True);
16672     __pyx_r = Py_True;
16673     goto __pyx_L0;
16674     goto __pyx_L4;
16675   }
16676   /*else*/ {
16677
16678     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":428
16679  *             return True
16680  *         else:
16681  *             return False             # <<<<<<<<<<<<<<
16682  * 
16683  *     def new(self):
16684  */
16685     Py_INCREF(Py_False);
16686     __pyx_r = Py_False;
16687     goto __pyx_L0;
16688   }
16689   __pyx_L4:;
16690
16691   __pyx_r = Py_None; Py_INCREF(Py_None);
16692   goto __pyx_L0;
16693   __pyx_L1:;
16694   Py_XDECREF(__pyx_2);
16695   Py_XDECREF(__pyx_4);
16696   __Pyx_AddTraceback("purple.Account.set_enabled");
16697   __pyx_r = NULL;
16698   __pyx_L0:;
16699   return __pyx_r;
16700 }
16701
16702 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":430
16703  *             return False
16704  * 
16705  *     def new(self):             # <<<<<<<<<<<<<<
16706  *         """
16707  *         Creates a new account.
16708  */
16709
16710 static PyObject *__pyx_pf_6purple_7Account_new(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
16711 static char __pyx_doc_6purple_7Account_new[] = "\n        Creates a new account.\n\n        @return True if successful, False if account already exists\n        ";
16712 static PyObject *__pyx_pf_6purple_7Account_new(PyObject *__pyx_v_self, PyObject *unused) {
16713   PyObject *__pyx_r;
16714   int __pyx_1;
16715   char *__pyx_2;
16716   PyObject *__pyx_3 = 0;
16717   char *__pyx_4;
16718
16719   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":436
16720  *         @return True if successful, False if account already exists
16721  *         """
16722  *         if self.__exists:             # <<<<<<<<<<<<<<
16723  *             return False
16724  *         else:
16725  */
16726   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1;}
16727   if (__pyx_1) {
16728
16729     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":437
16730  *         """
16731  *         if self.__exists:
16732  *             return False             # <<<<<<<<<<<<<<
16733  *         else:
16734  *             account.purple_accounts_add(account.purple_account_new( \
16735  */
16736     Py_INCREF(Py_False);
16737     __pyx_r = Py_False;
16738     goto __pyx_L0;
16739     goto __pyx_L4;
16740   }
16741   /*else*/ {
16742
16743     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":440
16744  *         else:
16745  *             account.purple_accounts_add(account.purple_account_new( \
16746  *                     self.__username, self.__protocol.id))             # <<<<<<<<<<<<<<
16747  * 
16748  *             self.__exists = True
16749  */
16750     __pyx_2 = __Pyx_PyBytes_AsString(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1;}
16751     __pyx_3 = PyObject_GetAttr(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__protocol, __pyx_kp_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1;}
16752     __pyx_4 = __Pyx_PyBytes_AsString(__pyx_3); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1;}
16753     Py_DECREF(__pyx_3); __pyx_3 = 0;
16754     purple_accounts_add(purple_account_new(__pyx_2, __pyx_4));
16755
16756     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":442
16757  *                     self.__username, self.__protocol.id))
16758  * 
16759  *             self.__exists = True             # <<<<<<<<<<<<<<
16760  *             return True
16761  * 
16762  */
16763     Py_INCREF(Py_True);
16764     Py_DECREF(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists);
16765     ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists = Py_True;
16766
16767     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":443
16768  * 
16769  *             self.__exists = True
16770  *             return True             # <<<<<<<<<<<<<<
16771  * 
16772  *     def remove(self):
16773  */
16774     Py_INCREF(Py_True);
16775     __pyx_r = Py_True;
16776     goto __pyx_L0;
16777   }
16778   __pyx_L4:;
16779
16780   __pyx_r = Py_None; Py_INCREF(Py_None);
16781   goto __pyx_L0;
16782   __pyx_L1:;
16783   Py_XDECREF(__pyx_3);
16784   __Pyx_AddTraceback("purple.Account.new");
16785   __pyx_r = NULL;
16786   __pyx_L0:;
16787   return __pyx_r;
16788 }
16789
16790 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":445
16791  *             return True
16792  * 
16793  *     def remove(self):             # <<<<<<<<<<<<<<
16794  *         """
16795  *         Removes an existing account.
16796  */
16797
16798 static PyObject *__pyx_pf_6purple_7Account_remove(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
16799 static char __pyx_doc_6purple_7Account_remove[] = "\n        Removes an existing account.\n\n        @return True if successful, False if account doesn\'t exists\n        ";
16800 static PyObject *__pyx_pf_6purple_7Account_remove(PyObject *__pyx_v_self, PyObject *unused) {
16801   PyObject *__pyx_v_self__exists;
16802   PyObject *__pyx_r;
16803   int __pyx_1;
16804   __pyx_v_self__exists = Py_None; Py_INCREF(Py_None);
16805
16806   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":451
16807  *         @return True if successful, False if account doesn't exists
16808  *         """
16809  *         if self.__exists:             # <<<<<<<<<<<<<<
16810  *             account.purple_accounts_delete(self._get_structure())
16811  *             self__exists = False
16812  */
16813   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1;}
16814   if (__pyx_1) {
16815
16816     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":452
16817  *         """
16818  *         if self.__exists:
16819  *             account.purple_accounts_delete(self._get_structure())             # <<<<<<<<<<<<<<
16820  *             self__exists = False
16821  *             return True
16822  */
16823     purple_accounts_delete(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)));
16824
16825     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":453
16826  *         if self.__exists:
16827  *             account.purple_accounts_delete(self._get_structure())
16828  *             self__exists = False             # <<<<<<<<<<<<<<
16829  *             return True
16830  *         else:
16831  */
16832     Py_INCREF(Py_False);
16833     Py_DECREF(__pyx_v_self__exists);
16834     __pyx_v_self__exists = Py_False;
16835
16836     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":454
16837  *             account.purple_accounts_delete(self._get_structure())
16838  *             self__exists = False
16839  *             return True             # <<<<<<<<<<<<<<
16840  *         else:
16841  *             return False
16842  */
16843     Py_INCREF(Py_True);
16844     __pyx_r = Py_True;
16845     goto __pyx_L0;
16846     goto __pyx_L4;
16847   }
16848   /*else*/ {
16849
16850     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":456
16851  *             return True
16852  *         else:
16853  *             return False             # <<<<<<<<<<<<<<
16854  * 
16855  *     def connect(self):
16856  */
16857     Py_INCREF(Py_False);
16858     __pyx_r = Py_False;
16859     goto __pyx_L0;
16860   }
16861   __pyx_L4:;
16862
16863   __pyx_r = Py_None; Py_INCREF(Py_None);
16864   goto __pyx_L0;
16865   __pyx_L1:;
16866   __Pyx_AddTraceback("purple.Account.remove");
16867   __pyx_r = NULL;
16868   __pyx_L0:;
16869   Py_DECREF(__pyx_v_self__exists);
16870   return __pyx_r;
16871 }
16872
16873 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":458
16874  *             return False
16875  * 
16876  *     def connect(self):             # <<<<<<<<<<<<<<
16877  *         """
16878  *         Connects to an account.
16879  */
16880
16881 static PyObject *__pyx_pf_6purple_7Account_connect(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
16882 static char __pyx_doc_6purple_7Account_connect[] = "\n        Connects to an account.\n\n        @return True if successful, False if account doesn\'t exists\n        ";
16883 static PyObject *__pyx_pf_6purple_7Account_connect(PyObject *__pyx_v_self, PyObject *unused) {
16884   PyObject *__pyx_r;
16885   int __pyx_1;
16886
16887   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":464
16888  *         @return True if successful, False if account doesn't exists
16889  *         """
16890  *         if self.__exists:             # <<<<<<<<<<<<<<
16891  *             account.purple_account_connect(self._get_structure())
16892  *             return True
16893  */
16894   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1;}
16895   if (__pyx_1) {
16896
16897     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":465
16898  *         """
16899  *         if self.__exists:
16900  *             account.purple_account_connect(self._get_structure())             # <<<<<<<<<<<<<<
16901  *             return True
16902  *         else:
16903  */
16904     purple_account_connect(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)));
16905
16906     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":466
16907  *         if self.__exists:
16908  *             account.purple_account_connect(self._get_structure())
16909  *             return True             # <<<<<<<<<<<<<<
16910  *         else:
16911  *             return False
16912  */
16913     Py_INCREF(Py_True);
16914     __pyx_r = Py_True;
16915     goto __pyx_L0;
16916     goto __pyx_L4;
16917   }
16918   /*else*/ {
16919
16920     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":468
16921  *             return True
16922  *         else:
16923  *             return False             # <<<<<<<<<<<<<<
16924  * 
16925  *     def disconnect(self):
16926  */
16927     Py_INCREF(Py_False);
16928     __pyx_r = Py_False;
16929     goto __pyx_L0;
16930   }
16931   __pyx_L4:;
16932
16933   __pyx_r = Py_None; Py_INCREF(Py_None);
16934   goto __pyx_L0;
16935   __pyx_L1:;
16936   __Pyx_AddTraceback("purple.Account.connect");
16937   __pyx_r = NULL;
16938   __pyx_L0:;
16939   return __pyx_r;
16940 }
16941
16942 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":470
16943  *             return False
16944  * 
16945  *     def disconnect(self):             # <<<<<<<<<<<<<<
16946  *         """
16947  *         Disconnects from an account.
16948  */
16949
16950 static PyObject *__pyx_pf_6purple_7Account_disconnect(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
16951 static char __pyx_doc_6purple_7Account_disconnect[] = "\n        Disconnects from an account.\n\n        @return True if successful, False if account doesn\'t exists\n        ";
16952 static PyObject *__pyx_pf_6purple_7Account_disconnect(PyObject *__pyx_v_self, PyObject *unused) {
16953   PyObject *__pyx_r;
16954   int __pyx_1;
16955
16956   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":476
16957  *         @return True if successful, False if account doesn't exists
16958  *         """
16959  *         if self.__exists:             # <<<<<<<<<<<<<<
16960  *             account.purple_account_disconnect(self._get_structure())
16961  *             return True
16962  */
16963   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1;}
16964   if (__pyx_1) {
16965
16966     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":477
16967  *         """
16968  *         if self.__exists:
16969  *             account.purple_account_disconnect(self._get_structure())             # <<<<<<<<<<<<<<
16970  *             return True
16971  *         else:
16972  */
16973     purple_account_disconnect(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)));
16974
16975     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":478
16976  *         if self.__exists:
16977  *             account.purple_account_disconnect(self._get_structure())
16978  *             return True             # <<<<<<<<<<<<<<
16979  *         else:
16980  *             return False
16981  */
16982     Py_INCREF(Py_True);
16983     __pyx_r = Py_True;
16984     goto __pyx_L0;
16985     goto __pyx_L4;
16986   }
16987   /*else*/ {
16988
16989     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":480
16990  *             return True
16991  *         else:
16992  *             return False             # <<<<<<<<<<<<<<
16993  * 
16994  *     def add_buddy(self, name, alias=None, group=None):
16995  */
16996     Py_INCREF(Py_False);
16997     __pyx_r = Py_False;
16998     goto __pyx_L0;
16999   }
17000   __pyx_L4:;
17001
17002   __pyx_r = Py_None; Py_INCREF(Py_None);
17003   goto __pyx_L0;
17004   __pyx_L1:;
17005   __Pyx_AddTraceback("purple.Account.disconnect");
17006   __pyx_r = NULL;
17007   __pyx_L0:;
17008   return __pyx_r;
17009 }
17010
17011 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":482
17012  *             return False
17013  * 
17014  *     def add_buddy(self, name, alias=None, group=None):             # <<<<<<<<<<<<<<
17015  *         """
17016  *         Adds a buddy to account's buddy list.
17017  */
17018
17019 static PyObject *__pyx_pf_6purple_7Account_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17020 static char __pyx_doc_6purple_7Account_add_buddy[] = "\n        Adds a buddy to account\'s buddy list.\n\n        @param name  Buddy name\n        @param alias Buddy alias (optional)\n        @return True if successfull, False otherwise\n        ";
17021 static PyObject *__pyx_pf_6purple_7Account_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17022   PyObject *__pyx_v_name = 0;
17023   PyObject *__pyx_v_alias = 0;
17024   PyObject *__pyx_v_group = 0;
17025   PurpleBuddy *__pyx_v_c_buddy;
17026   PurpleGroup *__pyx_v_c_group;
17027   char *__pyx_v_c_alias;
17028   PyObject *__pyx_r;
17029   int __pyx_1;
17030   char *__pyx_2;
17031   PyObject *__pyx_3 = 0;
17032   static char *__pyx_argnames[] = {"name","alias","group",0};
17033   __pyx_v_alias = Py_None;
17034   __pyx_v_group = Py_None;
17035   if (likely(!__pyx_kwds) && likely(1 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 3)) {
17036     __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0);
17037     if (PyTuple_GET_SIZE(__pyx_args) > 1) {
17038       __pyx_v_alias = PyTuple_GET_ITEM(__pyx_args, 1);
17039       if (PyTuple_GET_SIZE(__pyx_args) > 2) {
17040         __pyx_v_group = PyTuple_GET_ITEM(__pyx_args, 2);
17041       }
17042     }
17043   }
17044   else {
17045     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|OO", __pyx_argnames, &__pyx_v_name, &__pyx_v_alias, &__pyx_v_group))) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L2;}
17046   }
17047   goto __pyx_L3;
17048   __pyx_L2:;
17049   __Pyx_AddTraceback("purple.Account.add_buddy");
17050   return NULL;
17051   __pyx_L3:;
17052
17053   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":490
17054  *         @return True if successfull, False otherwise
17055  *         """
17056  *         cdef blist.PurpleBuddy *c_buddy = NULL             # <<<<<<<<<<<<<<
17057  *         cdef blist.PurpleGroup *c_group = NULL
17058  *         cdef char *c_alias = NULL
17059  */
17060   __pyx_v_c_buddy = NULL;
17061
17062
17063   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":491
17064  *         """
17065  *         cdef blist.PurpleBuddy *c_buddy = NULL
17066  *         cdef blist.PurpleGroup *c_group = NULL             # <<<<<<<<<<<<<<
17067  *         cdef char *c_alias = NULL
17068  * 
17069  */
17070   __pyx_v_c_group = NULL;
17071
17072
17073   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":492
17074  *         cdef blist.PurpleBuddy *c_buddy = NULL
17075  *         cdef blist.PurpleGroup *c_group = NULL
17076  *         cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
17077  * 
17078  *         if alias:
17079  */
17080   __pyx_v_c_alias = NULL;
17081
17082
17083   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":494
17084  *         cdef char *c_alias = NULL
17085  * 
17086  *         if alias:             # <<<<<<<<<<<<<<
17087  *             c_alias = alias
17088  *         else:
17089  */
17090   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_alias); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1;}
17091   if (__pyx_1) {
17092
17093     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":495
17094  * 
17095  *         if alias:
17096  *             c_alias = alias             # <<<<<<<<<<<<<<
17097  *         else:
17098  *             c_alias = NULL
17099  */
17100     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_alias); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1;}
17101     __pyx_v_c_alias = __pyx_2;
17102     goto __pyx_L4;
17103   }
17104   /*else*/ {
17105
17106     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":497
17107  *             c_alias = alias
17108  *         else:
17109  *             c_alias = NULL             # <<<<<<<<<<<<<<
17110  * 
17111  *         if self.__exists and \
17112  */
17113     __pyx_v_c_alias = NULL;
17114   }
17115   __pyx_L4:;
17116
17117   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":499
17118  *             c_alias = NULL
17119  * 
17120  *         if self.__exists and \             # <<<<<<<<<<<<<<
17121  *                 account.purple_account_is_connected(self._get_structure()):
17122  *             if blist.purple_find_buddy(self._get_structure(), name):
17123  */
17124   __pyx_3 = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists;
17125   Py_INCREF(__pyx_3);
17126   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1;}
17127   if (__pyx_1) {
17128     Py_DECREF(__pyx_3); __pyx_3 = 0;
17129
17130     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":500
17131  * 
17132  *         if self.__exists and \
17133  *                 account.purple_account_is_connected(self._get_structure()):             # <<<<<<<<<<<<<<
17134  *             if blist.purple_find_buddy(self._get_structure(), name):
17135  *                 return False
17136  */
17137     __pyx_3 = PyInt_FromLong(purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1;}
17138   }
17139   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1;}
17140   Py_DECREF(__pyx_3); __pyx_3 = 0;
17141   if (__pyx_1) {
17142
17143     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":501
17144  *         if self.__exists and \
17145  *                 account.purple_account_is_connected(self._get_structure()):
17146  *             if blist.purple_find_buddy(self._get_structure(), name):             # <<<<<<<<<<<<<<
17147  *                 return False
17148  * 
17149  */
17150     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1;}
17151     __pyx_1 = (purple_find_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2) != 0);
17152     if (__pyx_1) {
17153
17154       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":502
17155  *                 account.purple_account_is_connected(self._get_structure()):
17156  *             if blist.purple_find_buddy(self._get_structure(), name):
17157  *                 return False             # <<<<<<<<<<<<<<
17158  * 
17159  *             if group:
17160  */
17161       Py_INCREF(Py_False);
17162       __pyx_r = Py_False;
17163       goto __pyx_L0;
17164       goto __pyx_L6;
17165     }
17166     __pyx_L6:;
17167
17168     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":504
17169  *                 return False
17170  * 
17171  *             if group:             # <<<<<<<<<<<<<<
17172  *                 c_group = blist.purple_find_group(group)
17173  *                 if c_group == NULL:
17174  */
17175     __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_group); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1;}
17176     if (__pyx_1) {
17177
17178       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":505
17179  * 
17180  *             if group:
17181  *                 c_group = blist.purple_find_group(group)             # <<<<<<<<<<<<<<
17182  *                 if c_group == NULL:
17183  *                     c_group = blist.purple_group_new(group)
17184  */
17185       __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1;}
17186       __pyx_v_c_group = purple_find_group(__pyx_2);
17187
17188       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":506
17189  *             if group:
17190  *                 c_group = blist.purple_find_group(group)
17191  *                 if c_group == NULL:             # <<<<<<<<<<<<<<
17192  *                     c_group = blist.purple_group_new(group)
17193  * 
17194  */
17195       __pyx_1 = (__pyx_v_c_group == NULL);
17196       if (__pyx_1) {
17197
17198         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":507
17199  *                 c_group = blist.purple_find_group(group)
17200  *                 if c_group == NULL:
17201  *                     c_group = blist.purple_group_new(group)             # <<<<<<<<<<<<<<
17202  * 
17203  *             c_buddy = blist.purple_buddy_new(self._get_structure(), \
17204  */
17205         __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1;}
17206         __pyx_v_c_group = purple_group_new(__pyx_2);
17207         goto __pyx_L8;
17208       }
17209       __pyx_L8:;
17210       goto __pyx_L7;
17211     }
17212     __pyx_L7:;
17213
17214     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":510
17215  * 
17216  *             c_buddy = blist.purple_buddy_new(self._get_structure(), \
17217  *                     name, c_alias)             # <<<<<<<<<<<<<<
17218  *             if c_buddy == NULL:
17219  *                 return False
17220  */
17221     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1;}
17222     __pyx_v_c_buddy = purple_buddy_new(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2, __pyx_v_c_alias);
17223
17224     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":511
17225  *             c_buddy = blist.purple_buddy_new(self._get_structure(), \
17226  *                     name, c_alias)
17227  *             if c_buddy == NULL:             # <<<<<<<<<<<<<<
17228  *                 return False
17229  * 
17230  */
17231     __pyx_1 = (__pyx_v_c_buddy == NULL);
17232     if (__pyx_1) {
17233
17234       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":512
17235  *                     name, c_alias)
17236  *             if c_buddy == NULL:
17237  *                 return False             # <<<<<<<<<<<<<<
17238  * 
17239  *             blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL)
17240  */
17241       Py_INCREF(Py_False);
17242       __pyx_r = Py_False;
17243       goto __pyx_L0;
17244       goto __pyx_L9;
17245     }
17246     __pyx_L9:;
17247
17248     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":514
17249  *                 return False
17250  * 
17251  *             blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL)             # <<<<<<<<<<<<<<
17252  *             account.purple_account_add_buddy(self._get_structure(), c_buddy)
17253  *             if c_alias:
17254  */
17255     purple_blist_add_buddy(__pyx_v_c_buddy, NULL, __pyx_v_c_group, NULL);
17256
17257     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":515
17258  * 
17259  *             blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL)
17260  *             account.purple_account_add_buddy(self._get_structure(), c_buddy)             # <<<<<<<<<<<<<<
17261  *             if c_alias:
17262  *                 blist.purple_blist_alias_buddy(c_buddy, c_alias)
17263  */
17264     purple_account_add_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_v_c_buddy);
17265
17266     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":516
17267  *             blist.purple_blist_add_buddy(c_buddy, NULL, c_group, NULL)
17268  *             account.purple_account_add_buddy(self._get_structure(), c_buddy)
17269  *             if c_alias:             # <<<<<<<<<<<<<<
17270  *                 blist.purple_blist_alias_buddy(c_buddy, c_alias)
17271  *                 server.serv_alias_buddy(c_buddy)
17272  */
17273     __pyx_1 = (__pyx_v_c_alias != 0);
17274     if (__pyx_1) {
17275
17276       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":517
17277  *             account.purple_account_add_buddy(self._get_structure(), c_buddy)
17278  *             if c_alias:
17279  *                 blist.purple_blist_alias_buddy(c_buddy, c_alias)             # <<<<<<<<<<<<<<
17280  *                 server.serv_alias_buddy(c_buddy)
17281  * 
17282  */
17283       purple_blist_alias_buddy(__pyx_v_c_buddy, __pyx_v_c_alias);
17284
17285       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":518
17286  *             if c_alias:
17287  *                 blist.purple_blist_alias_buddy(c_buddy, c_alias)
17288  *                 server.serv_alias_buddy(c_buddy)             # <<<<<<<<<<<<<<
17289  * 
17290  *             return True
17291  */
17292       serv_alias_buddy(__pyx_v_c_buddy);
17293       goto __pyx_L10;
17294     }
17295     __pyx_L10:;
17296
17297     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":520
17298  *                 server.serv_alias_buddy(c_buddy)
17299  * 
17300  *             return True             # <<<<<<<<<<<<<<
17301  * 
17302  *         else:
17303  */
17304     Py_INCREF(Py_True);
17305     __pyx_r = Py_True;
17306     goto __pyx_L0;
17307     goto __pyx_L5;
17308   }
17309   /*else*/ {
17310
17311     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":523
17312  * 
17313  *         else:
17314  *             return None             # <<<<<<<<<<<<<<
17315  * 
17316  *     def remove_buddy(self, name):
17317  */
17318     Py_INCREF(Py_None);
17319     __pyx_r = Py_None;
17320     goto __pyx_L0;
17321   }
17322   __pyx_L5:;
17323
17324   __pyx_r = Py_None; Py_INCREF(Py_None);
17325   goto __pyx_L0;
17326   __pyx_L1:;
17327   Py_XDECREF(__pyx_3);
17328   __Pyx_AddTraceback("purple.Account.add_buddy");
17329   __pyx_r = NULL;
17330   __pyx_L0:;
17331   return __pyx_r;
17332 }
17333
17334 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":525
17335  *             return None
17336  * 
17337  *     def remove_buddy(self, name):             # <<<<<<<<<<<<<<
17338  *         """
17339  *         Removes a buddy from account's buddy list.
17340  */
17341
17342 static PyObject *__pyx_pf_6purple_7Account_remove_buddy(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
17343 static char __pyx_doc_6purple_7Account_remove_buddy[] = "\n        Removes a buddy from account\'s buddy list.\n\n        @param name Buddy name\n        @return True if successful, False otherwise\n        ";
17344 static PyObject *__pyx_pf_6purple_7Account_remove_buddy(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
17345   PurpleBuddy *__pyx_v_c_buddy;
17346   PurpleGroup *__pyx_v_c_group;
17347   PyObject *__pyx_r;
17348   PyObject *__pyx_1 = 0;
17349   int __pyx_2;
17350   char *__pyx_3;
17351
17352   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":532
17353  *         @return True if successful, False otherwise
17354  *         """
17355  *         cdef blist.PurpleBuddy *c_buddy = NULL             # <<<<<<<<<<<<<<
17356  *         cdef blist.PurpleGroup *c_group = NULL
17357  * 
17358  */
17359   __pyx_v_c_buddy = NULL;
17360
17361
17362   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":533
17363  *         """
17364  *         cdef blist.PurpleBuddy *c_buddy = NULL
17365  *         cdef blist.PurpleGroup *c_group = NULL             # <<<<<<<<<<<<<<
17366  * 
17367  *         if self.__exists and \
17368  */
17369   __pyx_v_c_group = NULL;
17370
17371
17372   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":535
17373  *         cdef blist.PurpleGroup *c_group = NULL
17374  * 
17375  *         if self.__exists and \             # <<<<<<<<<<<<<<
17376  *                 account.purple_account_is_connected(self._get_structure()):
17377  *             c_buddy = blist.purple_find_buddy(self._get_structure(), name)
17378  */
17379   __pyx_1 = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists;
17380   Py_INCREF(__pyx_1);
17381   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1;}
17382   if (__pyx_2) {
17383     Py_DECREF(__pyx_1); __pyx_1 = 0;
17384
17385     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":536
17386  * 
17387  *         if self.__exists and \
17388  *                 account.purple_account_is_connected(self._get_structure()):             # <<<<<<<<<<<<<<
17389  *             c_buddy = blist.purple_find_buddy(self._get_structure(), name)
17390  *             if c_buddy == NULL:
17391  */
17392     __pyx_1 = PyInt_FromLong(purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1;}
17393   }
17394   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L1;}
17395   Py_DECREF(__pyx_1); __pyx_1 = 0;
17396   if (__pyx_2) {
17397
17398     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":537
17399  *         if self.__exists and \
17400  *                 account.purple_account_is_connected(self._get_structure()):
17401  *             c_buddy = blist.purple_find_buddy(self._get_structure(), name)             # <<<<<<<<<<<<<<
17402  *             if c_buddy == NULL:
17403  *                 return False
17404  */
17405     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1;}
17406     __pyx_v_c_buddy = purple_find_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3);
17407
17408     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":538
17409  *                 account.purple_account_is_connected(self._get_structure()):
17410  *             c_buddy = blist.purple_find_buddy(self._get_structure(), name)
17411  *             if c_buddy == NULL:             # <<<<<<<<<<<<<<
17412  *                 return False
17413  * 
17414  */
17415     __pyx_2 = (__pyx_v_c_buddy == NULL);
17416     if (__pyx_2) {
17417
17418       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":539
17419  *             c_buddy = blist.purple_find_buddy(self._get_structure(), name)
17420  *             if c_buddy == NULL:
17421  *                 return False             # <<<<<<<<<<<<<<
17422  * 
17423  *             c_group = blist.purple_buddy_get_group(c_buddy)
17424  */
17425       Py_INCREF(Py_False);
17426       __pyx_r = Py_False;
17427       goto __pyx_L0;
17428       goto __pyx_L5;
17429     }
17430     __pyx_L5:;
17431
17432     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":541
17433  *                 return False
17434  * 
17435  *             c_group = blist.purple_buddy_get_group(c_buddy)             # <<<<<<<<<<<<<<
17436  * 
17437  *             account.purple_account_remove_buddy(self._get_structure(), \
17438  */
17439     __pyx_v_c_group = purple_buddy_get_group(__pyx_v_c_buddy);
17440
17441     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":544
17442  * 
17443  *             account.purple_account_remove_buddy(self._get_structure(), \
17444  *                     c_buddy, c_group)             # <<<<<<<<<<<<<<
17445  *             blist.purple_blist_remove_buddy(c_buddy)
17446  *             return True
17447  */
17448     purple_account_remove_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_v_c_buddy, __pyx_v_c_group);
17449
17450     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":545
17451  *             account.purple_account_remove_buddy(self._get_structure(), \
17452  *                     c_buddy, c_group)
17453  *             blist.purple_blist_remove_buddy(c_buddy)             # <<<<<<<<<<<<<<
17454  *             return True
17455  *         else:
17456  */
17457     purple_blist_remove_buddy(__pyx_v_c_buddy);
17458
17459     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":546
17460  *                     c_buddy, c_group)
17461  *             blist.purple_blist_remove_buddy(c_buddy)
17462  *             return True             # <<<<<<<<<<<<<<
17463  *         else:
17464  *             return None
17465  */
17466     Py_INCREF(Py_True);
17467     __pyx_r = Py_True;
17468     goto __pyx_L0;
17469     goto __pyx_L4;
17470   }
17471   /*else*/ {
17472
17473     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":548
17474  *             return True
17475  *         else:
17476  *             return None             # <<<<<<<<<<<<<<
17477  * 
17478  *     def get_buddies_online(self):
17479  */
17480     Py_INCREF(Py_None);
17481     __pyx_r = Py_None;
17482     goto __pyx_L0;
17483   }
17484   __pyx_L4:;
17485
17486   __pyx_r = Py_None; Py_INCREF(Py_None);
17487   goto __pyx_L0;
17488   __pyx_L1:;
17489   Py_XDECREF(__pyx_1);
17490   __Pyx_AddTraceback("purple.Account.remove_buddy");
17491   __pyx_r = NULL;
17492   __pyx_L0:;
17493   return __pyx_r;
17494 }
17495
17496 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":550
17497  *             return None
17498  * 
17499  *     def get_buddies_online(self):             # <<<<<<<<<<<<<<
17500  *         cdef glib.GSList *iter = NULL
17501  *         cdef blist.PurpleBuddy *c_buddy = NULL
17502  */
17503
17504 static PyObject *__pyx_pf_6purple_7Account_get_buddies_online(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
17505 static PyObject *__pyx_pf_6purple_7Account_get_buddies_online(PyObject *__pyx_v_self, PyObject *unused) {
17506   GSList *__pyx_v_iter;
17507   PurpleBuddy *__pyx_v_c_buddy;
17508   char *__pyx_v_c_alias;
17509   PyObject *__pyx_v_buddies_list;
17510   PyObject *__pyx_v_name;
17511   PyObject *__pyx_v_new_buddy;
17512   PyObject *__pyx_r;
17513   PyObject *__pyx_1 = 0;
17514   int __pyx_2;
17515   PyObject *__pyx_3 = 0;
17516   PyObject *__pyx_4 = 0;
17517   __pyx_v_buddies_list = Py_None; Py_INCREF(Py_None);
17518   __pyx_v_name = Py_None; Py_INCREF(Py_None);
17519   __pyx_v_new_buddy = Py_None; Py_INCREF(Py_None);
17520
17521   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":551
17522  * 
17523  *     def get_buddies_online(self):
17524  *         cdef glib.GSList *iter = NULL             # <<<<<<<<<<<<<<
17525  *         cdef blist.PurpleBuddy *c_buddy = NULL
17526  *         cdef char *c_alias = NULL
17527  */
17528   __pyx_v_iter = NULL;
17529
17530
17531   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":552
17532  *     def get_buddies_online(self):
17533  *         cdef glib.GSList *iter = NULL
17534  *         cdef blist.PurpleBuddy *c_buddy = NULL             # <<<<<<<<<<<<<<
17535  *         cdef char *c_alias = NULL
17536  * 
17537  */
17538   __pyx_v_c_buddy = NULL;
17539
17540
17541   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":553
17542  *         cdef glib.GSList *iter = NULL
17543  *         cdef blist.PurpleBuddy *c_buddy = NULL
17544  *         cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
17545  * 
17546  *         if self.__exists and \
17547  */
17548   __pyx_v_c_alias = NULL;
17549
17550
17551   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":555
17552  *         cdef char *c_alias = NULL
17553  * 
17554  *         if self.__exists and \             # <<<<<<<<<<<<<<
17555  *                 account.purple_account_is_connected(self._get_structure()):
17556  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)
17557  */
17558   __pyx_1 = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists;
17559   Py_INCREF(__pyx_1);
17560   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1;}
17561   if (__pyx_2) {
17562     Py_DECREF(__pyx_1); __pyx_1 = 0;
17563
17564     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":556
17565  * 
17566  *         if self.__exists and \
17567  *                 account.purple_account_is_connected(self._get_structure()):             # <<<<<<<<<<<<<<
17568  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)
17569  * 
17570  */
17571     __pyx_1 = PyInt_FromLong(purple_account_is_connected(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)))); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1;}
17572   }
17573   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1;}
17574   Py_DECREF(__pyx_1); __pyx_1 = 0;
17575   if (__pyx_2) {
17576
17577     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":557
17578  *         if self.__exists and \
17579  *                 account.purple_account_is_connected(self._get_structure()):
17580  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)             # <<<<<<<<<<<<<<
17581  * 
17582  *             buddies_list = []
17583  */
17584     __pyx_v_iter = purple_find_buddies(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), NULL);
17585
17586     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":559
17587  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)
17588  * 
17589  *             buddies_list = []             # <<<<<<<<<<<<<<
17590  *             while iter:
17591  *                 c_alias = NULL
17592  */
17593     __pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1;}
17594     Py_DECREF(__pyx_v_buddies_list);
17595     __pyx_v_buddies_list = ((PyObject *)__pyx_1);
17596     __pyx_1 = 0;
17597
17598     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":560
17599  * 
17600  *             buddies_list = []
17601  *             while iter:             # <<<<<<<<<<<<<<
17602  *                 c_alias = NULL
17603  *                 c_buddy = <blist.PurpleBuddy *> iter.data
17604  */
17605     while (1) {
17606       __pyx_2 = (__pyx_v_iter != 0);
17607       if (!__pyx_2) break;
17608
17609       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":561
17610  *             buddies_list = []
17611  *             while iter:
17612  *                 c_alias = NULL             # <<<<<<<<<<<<<<
17613  *                 c_buddy = <blist.PurpleBuddy *> iter.data
17614  *                 if <blist.PurpleBuddy *> c_buddy and \
17615  */
17616       __pyx_v_c_alias = NULL;
17617
17618       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":562
17619  *             while iter:
17620  *                 c_alias = NULL
17621  *                 c_buddy = <blist.PurpleBuddy *> iter.data             # <<<<<<<<<<<<<<
17622  *                 if <blist.PurpleBuddy *> c_buddy and \
17623  *                         status.purple_presence_is_online( \
17624  */
17625       __pyx_v_c_buddy = ((PurpleBuddy *)__pyx_v_iter->data);
17626
17627       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":563
17628  *                 c_alias = NULL
17629  *                 c_buddy = <blist.PurpleBuddy *> iter.data
17630  *                 if <blist.PurpleBuddy *> c_buddy and \             # <<<<<<<<<<<<<<
17631  *                         status.purple_presence_is_online( \
17632  *                                 blist.purple_buddy_get_presence(c_buddy)):
17633  */
17634       __pyx_2 = (((PurpleBuddy *)__pyx_v_c_buddy) != 0);
17635       if (__pyx_2) {
17636
17637         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":565
17638  *                 if <blist.PurpleBuddy *> c_buddy and \
17639  *                         status.purple_presence_is_online( \
17640  *                                 blist.purple_buddy_get_presence(c_buddy)):             # <<<<<<<<<<<<<<
17641  *                     name = <char *> blist.purple_buddy_get_name(c_buddy)
17642  * 
17643  */
17644         __pyx_2 = purple_presence_is_online(purple_buddy_get_presence(__pyx_v_c_buddy));
17645       }
17646       if (__pyx_2) {
17647
17648         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":566
17649  *                         status.purple_presence_is_online( \
17650  *                                 blist.purple_buddy_get_presence(c_buddy)):
17651  *                     name = <char *> blist.purple_buddy_get_name(c_buddy)             # <<<<<<<<<<<<<<
17652  * 
17653  *                     new_buddy = Buddy(name, self)
17654  */
17655         __pyx_1 = __Pyx_PyBytes_FromString(((char *)purple_buddy_get_name(__pyx_v_c_buddy))); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1;}
17656         Py_DECREF(__pyx_v_name);
17657         __pyx_v_name = __pyx_1;
17658         __pyx_1 = 0;
17659
17660         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":568
17661  *                     name = <char *> blist.purple_buddy_get_name(c_buddy)
17662  * 
17663  *                     new_buddy = Buddy(name, self)             # <<<<<<<<<<<<<<
17664  * 
17665  *                     c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)
17666  */
17667         __pyx_1 = PyTuple_New(2); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1;}
17668         Py_INCREF(__pyx_v_name);
17669         PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_name);
17670         Py_INCREF(__pyx_v_self);
17671         PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_self);
17672         __pyx_3 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Buddy), ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1;}
17673         Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
17674         Py_DECREF(__pyx_v_new_buddy);
17675         __pyx_v_new_buddy = __pyx_3;
17676         __pyx_3 = 0;
17677
17678         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":570
17679  *                     new_buddy = Buddy(name, self)
17680  * 
17681  *                     c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)             # <<<<<<<<<<<<<<
17682  *                     if c_alias:
17683  *                         new_buddy.set_alias(c_alias)
17684  */
17685         __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_c_buddy));
17686
17687         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":571
17688  * 
17689  *                     c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)
17690  *                     if c_alias:             # <<<<<<<<<<<<<<
17691  *                         new_buddy.set_alias(c_alias)
17692  * 
17693  */
17694         __pyx_2 = (__pyx_v_c_alias != 0);
17695         if (__pyx_2) {
17696
17697           /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":572
17698  *                     c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)
17699  *                     if c_alias:
17700  *                         new_buddy.set_alias(c_alias)             # <<<<<<<<<<<<<<
17701  * 
17702  *                     buddies_list.append(new_buddy)
17703  */
17704           __pyx_1 = PyObject_GetAttr(__pyx_v_new_buddy, __pyx_kp_set_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1;}
17705           __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1;}
17706           __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1;}
17707           PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
17708           __pyx_3 = 0;
17709           __pyx_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1;}
17710           Py_DECREF(__pyx_1); __pyx_1 = 0;
17711           Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
17712           Py_DECREF(__pyx_3); __pyx_3 = 0;
17713           goto __pyx_L8;
17714         }
17715         __pyx_L8:;
17716
17717         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":574
17718  *                         new_buddy.set_alias(c_alias)
17719  * 
17720  *                     buddies_list.append(new_buddy)             # <<<<<<<<<<<<<<
17721  *                 iter = iter.next
17722  *             return buddies_list
17723  */
17724         __pyx_1 = __Pyx_PyObject_Append(__pyx_v_buddies_list, __pyx_v_new_buddy); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1;}
17725         Py_DECREF(__pyx_1); __pyx_1 = 0;
17726         goto __pyx_L7;
17727       }
17728       __pyx_L7:;
17729
17730       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":575
17731  * 
17732  *                     buddies_list.append(new_buddy)
17733  *                 iter = iter.next             # <<<<<<<<<<<<<<
17734  *             return buddies_list
17735  *         else:
17736  */
17737       __pyx_v_iter = __pyx_v_iter->next;
17738     }
17739
17740     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":576
17741  *                     buddies_list.append(new_buddy)
17742  *                 iter = iter.next
17743  *             return buddies_list             # <<<<<<<<<<<<<<
17744  *         else:
17745  *             return None
17746  */
17747     Py_INCREF(__pyx_v_buddies_list);
17748     __pyx_r = __pyx_v_buddies_list;
17749     goto __pyx_L0;
17750     goto __pyx_L4;
17751   }
17752   /*else*/ {
17753
17754     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":578
17755  *             return buddies_list
17756  *         else:
17757  *             return None             # <<<<<<<<<<<<<<
17758  * 
17759  *     def get_buddies(self):
17760  */
17761     Py_INCREF(Py_None);
17762     __pyx_r = Py_None;
17763     goto __pyx_L0;
17764   }
17765   __pyx_L4:;
17766
17767   __pyx_r = Py_None; Py_INCREF(Py_None);
17768   goto __pyx_L0;
17769   __pyx_L1:;
17770   Py_XDECREF(__pyx_1);
17771   Py_XDECREF(__pyx_3);
17772   Py_XDECREF(__pyx_4);
17773   __Pyx_AddTraceback("purple.Account.get_buddies_online");
17774   __pyx_r = NULL;
17775   __pyx_L0:;
17776   Py_DECREF(__pyx_v_buddies_list);
17777   Py_DECREF(__pyx_v_name);
17778   Py_DECREF(__pyx_v_new_buddy);
17779   return __pyx_r;
17780 }
17781
17782 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":580
17783  *             return None
17784  * 
17785  *     def get_buddies(self):             # <<<<<<<<<<<<<<
17786  *         cdef glib.GSList *iter = NULL
17787  *         cdef blist.PurpleBuddy *c_buddy = NULL
17788  */
17789
17790 static PyObject *__pyx_pf_6purple_7Account_get_buddies(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
17791 static PyObject *__pyx_pf_6purple_7Account_get_buddies(PyObject *__pyx_v_self, PyObject *unused) {
17792   GSList *__pyx_v_iter;
17793   PurpleBuddy *__pyx_v_c_buddy;
17794   char *__pyx_v_c_alias;
17795   PyObject *__pyx_v_buddies_list;
17796   PyObject *__pyx_v_name;
17797   PyObject *__pyx_v_new_buddy;
17798   PyObject *__pyx_r;
17799   int __pyx_1;
17800   PyObject *__pyx_2 = 0;
17801   PyObject *__pyx_3 = 0;
17802   PyObject *__pyx_4 = 0;
17803   __pyx_v_buddies_list = Py_None; Py_INCREF(Py_None);
17804   __pyx_v_name = Py_None; Py_INCREF(Py_None);
17805   __pyx_v_new_buddy = Py_None; Py_INCREF(Py_None);
17806
17807   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":581
17808  * 
17809  *     def get_buddies(self):
17810  *         cdef glib.GSList *iter = NULL             # <<<<<<<<<<<<<<
17811  *         cdef blist.PurpleBuddy *c_buddy = NULL
17812  *         cdef char *c_alias = NULL
17813  */
17814   __pyx_v_iter = NULL;
17815
17816
17817   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":582
17818  *     def get_buddies(self):
17819  *         cdef glib.GSList *iter = NULL
17820  *         cdef blist.PurpleBuddy *c_buddy = NULL             # <<<<<<<<<<<<<<
17821  *         cdef char *c_alias = NULL
17822  * 
17823  */
17824   __pyx_v_c_buddy = NULL;
17825
17826
17827   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":583
17828  *         cdef glib.GSList *iter = NULL
17829  *         cdef blist.PurpleBuddy *c_buddy = NULL
17830  *         cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
17831  * 
17832  *         if self.__exists:
17833  */
17834   __pyx_v_c_alias = NULL;
17835
17836
17837   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":585
17838  *         cdef char *c_alias = NULL
17839  * 
17840  *         if self.__exists:             # <<<<<<<<<<<<<<
17841  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)
17842  * 
17843  */
17844   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1;}
17845   if (__pyx_1) {
17846
17847     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":586
17848  * 
17849  *         if self.__exists:
17850  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)             # <<<<<<<<<<<<<<
17851  * 
17852  *             buddies_list = []
17853  */
17854     __pyx_v_iter = purple_find_buddies(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), NULL);
17855
17856     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":588
17857  *             iter = blist.purple_find_buddies(self._get_structure(), NULL)
17858  * 
17859  *             buddies_list = []             # <<<<<<<<<<<<<<
17860  *             while iter:
17861  *                 c_alias = NULL
17862  */
17863     __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1;}
17864     Py_DECREF(__pyx_v_buddies_list);
17865     __pyx_v_buddies_list = ((PyObject *)__pyx_2);
17866     __pyx_2 = 0;
17867
17868     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":589
17869  * 
17870  *             buddies_list = []
17871  *             while iter:             # <<<<<<<<<<<<<<
17872  *                 c_alias = NULL
17873  *                 c_buddy = <blist.PurpleBuddy *> iter.data
17874  */
17875     while (1) {
17876       __pyx_1 = (__pyx_v_iter != 0);
17877       if (!__pyx_1) break;
17878
17879       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":590
17880  *             buddies_list = []
17881  *             while iter:
17882  *                 c_alias = NULL             # <<<<<<<<<<<<<<
17883  *                 c_buddy = <blist.PurpleBuddy *> iter.data
17884  * 
17885  */
17886       __pyx_v_c_alias = NULL;
17887
17888       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":591
17889  *             while iter:
17890  *                 c_alias = NULL
17891  *                 c_buddy = <blist.PurpleBuddy *> iter.data             # <<<<<<<<<<<<<<
17892  * 
17893  *                 name = <char *> blist.purple_buddy_get_name(c_buddy)
17894  */
17895       __pyx_v_c_buddy = ((PurpleBuddy *)__pyx_v_iter->data);
17896
17897       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":593
17898  *                 c_buddy = <blist.PurpleBuddy *> iter.data
17899  * 
17900  *                 name = <char *> blist.purple_buddy_get_name(c_buddy)             # <<<<<<<<<<<<<<
17901  *                 new_buddy = Buddy(name, self)
17902  * 
17903  */
17904       __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_buddy_get_name(__pyx_v_c_buddy))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L1;}
17905       Py_DECREF(__pyx_v_name);
17906       __pyx_v_name = __pyx_2;
17907       __pyx_2 = 0;
17908
17909       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":594
17910  * 
17911  *                 name = <char *> blist.purple_buddy_get_name(c_buddy)
17912  *                 new_buddy = Buddy(name, self)             # <<<<<<<<<<<<<<
17913  * 
17914  *                 c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)
17915  */
17916       __pyx_2 = PyTuple_New(2); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1;}
17917       Py_INCREF(__pyx_v_name);
17918       PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_name);
17919       Py_INCREF(__pyx_v_self);
17920       PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_self);
17921       __pyx_3 = PyObject_Call(((PyObject*)__pyx_ptype_6purple_Buddy), ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1;}
17922       Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
17923       Py_DECREF(__pyx_v_new_buddy);
17924       __pyx_v_new_buddy = __pyx_3;
17925       __pyx_3 = 0;
17926
17927       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":596
17928  *                 new_buddy = Buddy(name, self)
17929  * 
17930  *                 c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)             # <<<<<<<<<<<<<<
17931  *                 if c_alias:
17932  *                     new_buddy.set_alias(c_alias)
17933  */
17934       __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(__pyx_v_c_buddy));
17935
17936       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":597
17937  * 
17938  *                 c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)
17939  *                 if c_alias:             # <<<<<<<<<<<<<<
17940  *                     new_buddy.set_alias(c_alias)
17941  * 
17942  */
17943       __pyx_1 = (__pyx_v_c_alias != 0);
17944       if (__pyx_1) {
17945
17946         /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":598
17947  *                 c_alias = <char *> blist.purple_buddy_get_alias_only(c_buddy)
17948  *                 if c_alias:
17949  *                     new_buddy.set_alias(c_alias)             # <<<<<<<<<<<<<<
17950  * 
17951  *                 buddies_list.append(new_buddy)
17952  */
17953         __pyx_2 = PyObject_GetAttr(__pyx_v_new_buddy, __pyx_kp_set_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1;}
17954         __pyx_3 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1;}
17955         __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1;}
17956         PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
17957         __pyx_3 = 0;
17958         __pyx_3 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_4), NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1;}
17959         Py_DECREF(__pyx_2); __pyx_2 = 0;
17960         Py_DECREF(((PyObject *)__pyx_4)); __pyx_4 = 0;
17961         Py_DECREF(__pyx_3); __pyx_3 = 0;
17962         goto __pyx_L7;
17963       }
17964       __pyx_L7:;
17965
17966       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":600
17967  *                     new_buddy.set_alias(c_alias)
17968  * 
17969  *                 buddies_list.append(new_buddy)             # <<<<<<<<<<<<<<
17970  *                 iter = iter.next
17971  *             return buddies_list
17972  */
17973       __pyx_2 = __Pyx_PyObject_Append(__pyx_v_buddies_list, __pyx_v_new_buddy); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1;}
17974       Py_DECREF(__pyx_2); __pyx_2 = 0;
17975
17976       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":601
17977  * 
17978  *                 buddies_list.append(new_buddy)
17979  *                 iter = iter.next             # <<<<<<<<<<<<<<
17980  *             return buddies_list
17981  *         else:
17982  */
17983       __pyx_v_iter = __pyx_v_iter->next;
17984     }
17985
17986     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":602
17987  *                 buddies_list.append(new_buddy)
17988  *                 iter = iter.next
17989  *             return buddies_list             # <<<<<<<<<<<<<<
17990  *         else:
17991  *             return None
17992  */
17993     Py_INCREF(__pyx_v_buddies_list);
17994     __pyx_r = __pyx_v_buddies_list;
17995     goto __pyx_L0;
17996     goto __pyx_L4;
17997   }
17998   /*else*/ {
17999
18000     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":604
18001  *             return buddies_list
18002  *         else:
18003  *             return None             # <<<<<<<<<<<<<<
18004  * 
18005  *     def request_add_buddy(self, buddy_username, buddy_alias):
18006  */
18007     Py_INCREF(Py_None);
18008     __pyx_r = Py_None;
18009     goto __pyx_L0;
18010   }
18011   __pyx_L4:;
18012
18013   __pyx_r = Py_None; Py_INCREF(Py_None);
18014   goto __pyx_L0;
18015   __pyx_L1:;
18016   Py_XDECREF(__pyx_2);
18017   Py_XDECREF(__pyx_3);
18018   Py_XDECREF(__pyx_4);
18019   __Pyx_AddTraceback("purple.Account.get_buddies");
18020   __pyx_r = NULL;
18021   __pyx_L0:;
18022   Py_DECREF(__pyx_v_buddies_list);
18023   Py_DECREF(__pyx_v_name);
18024   Py_DECREF(__pyx_v_new_buddy);
18025   return __pyx_r;
18026 }
18027
18028 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":606
18029  *             return None
18030  * 
18031  *     def request_add_buddy(self, buddy_username, buddy_alias):             # <<<<<<<<<<<<<<
18032  *         if buddy_alias:
18033  *             blist.purple_blist_request_add_buddy(self._get_structure(), \
18034  */
18035
18036 static PyObject *__pyx_pf_6purple_7Account_request_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18037 static PyObject *__pyx_pf_6purple_7Account_request_add_buddy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18038   PyObject *__pyx_v_buddy_username = 0;
18039   PyObject *__pyx_v_buddy_alias = 0;
18040   PyObject *__pyx_r;
18041   int __pyx_1;
18042   char *__pyx_2;
18043   char *__pyx_3;
18044   static char *__pyx_argnames[] = {"buddy_username","buddy_alias",0};
18045   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 2)) {
18046     __pyx_v_buddy_username = PyTuple_GET_ITEM(__pyx_args, 0);
18047     __pyx_v_buddy_alias = PyTuple_GET_ITEM(__pyx_args, 1);
18048   }
18049   else {
18050     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_buddy_username, &__pyx_v_buddy_alias))) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L2;}
18051   }
18052   goto __pyx_L3;
18053   __pyx_L2:;
18054   __Pyx_AddTraceback("purple.Account.request_add_buddy");
18055   return NULL;
18056   __pyx_L3:;
18057
18058   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":607
18059  * 
18060  *     def request_add_buddy(self, buddy_username, buddy_alias):
18061  *         if buddy_alias:             # <<<<<<<<<<<<<<
18062  *             blist.purple_blist_request_add_buddy(self._get_structure(), \
18063  *                     buddy_username, NULL, buddy_alias)
18064  */
18065   __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_buddy_alias); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1;}
18066   if (__pyx_1) {
18067
18068     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":609
18069  *         if buddy_alias:
18070  *             blist.purple_blist_request_add_buddy(self._get_structure(), \
18071  *                     buddy_username, NULL, buddy_alias)             # <<<<<<<<<<<<<<
18072  *         else:
18073  *             blist.purple_blist_request_add_buddy(self._get_structure(), \
18074  */
18075     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_buddy_username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1;}
18076     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_buddy_alias); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1;}
18077     purple_blist_request_add_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2, NULL, __pyx_3);
18078     goto __pyx_L4;
18079   }
18080   /*else*/ {
18081
18082     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":612
18083  *         else:
18084  *             blist.purple_blist_request_add_buddy(self._get_structure(), \
18085  *                     buddy_username, NULL, NULL)             # <<<<<<<<<<<<<<
18086  * 
18087  *     def set_active_status(self, type, msg=None):
18088  */
18089     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_buddy_username); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1;}
18090     purple_blist_request_add_buddy(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2, NULL, NULL);
18091   }
18092   __pyx_L4:;
18093
18094   __pyx_r = Py_None; Py_INCREF(Py_None);
18095   goto __pyx_L0;
18096   __pyx_L1:;
18097   __Pyx_AddTraceback("purple.Account.request_add_buddy");
18098   __pyx_r = NULL;
18099   __pyx_L0:;
18100   return __pyx_r;
18101 }
18102
18103 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":614
18104  *                     buddy_username, NULL, NULL)
18105  * 
18106  *     def set_active_status(self, type, msg=None):             # <<<<<<<<<<<<<<
18107  *         cdef status.PurpleStatusType *c_statustype = NULL
18108  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL
18109  */
18110
18111 static char __pyx_k_454[] = "message";
18112 static char __pyx_k_455[] = "/purple/savedstatus/idleaway";
18113
18114 static PyObject *__pyx_pf_6purple_7Account_set_active_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18115 static PyObject *__pyx_pf_6purple_7Account_set_active_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18116   PyObject *__pyx_v_type = 0;
18117   PyObject *__pyx_v_msg = 0;
18118   PurpleStatusType *__pyx_v_c_statustype;
18119   PurpleSavedStatus *__pyx_v_c_savedstatus;
18120   PyObject *__pyx_r;
18121   int __pyx_1;
18122   char *__pyx_2;
18123   char *__pyx_3;
18124   static char *__pyx_argnames[] = {"type","msg",0};
18125   __pyx_v_msg = Py_None;
18126   if (likely(!__pyx_kwds) && likely(1 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 2)) {
18127     __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0);
18128     if (PyTuple_GET_SIZE(__pyx_args) > 1) {
18129       __pyx_v_msg = PyTuple_GET_ITEM(__pyx_args, 1);
18130     }
18131   }
18132   else {
18133     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|O", __pyx_argnames, &__pyx_v_type, &__pyx_v_msg))) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L2;}
18134   }
18135   goto __pyx_L3;
18136   __pyx_L2:;
18137   __Pyx_AddTraceback("purple.Account.set_active_status");
18138   return NULL;
18139   __pyx_L3:;
18140
18141   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":615
18142  * 
18143  *     def set_active_status(self, type, msg=None):
18144  *         cdef status.PurpleStatusType *c_statustype = NULL             # <<<<<<<<<<<<<<
18145  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL
18146  * 
18147  */
18148   __pyx_v_c_statustype = NULL;
18149
18150
18151   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":616
18152  *     def set_active_status(self, type, msg=None):
18153  *         cdef status.PurpleStatusType *c_statustype = NULL
18154  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL             # <<<<<<<<<<<<<<
18155  * 
18156  *         if self.__exists:
18157  */
18158   __pyx_v_c_savedstatus = NULL;
18159
18160
18161   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":618
18162  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL
18163  * 
18164  *         if self.__exists:             # <<<<<<<<<<<<<<
18165  *             if msg:
18166  *                 account.purple_account_set_status(self._get_structure(),
18167  */
18168   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1;}
18169   if (__pyx_1) {
18170
18171     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":619
18172  * 
18173  *         if self.__exists:
18174  *             if msg:             # <<<<<<<<<<<<<<
18175  *                 account.purple_account_set_status(self._get_structure(),
18176  *                         <char *> type, True, "message", <char *> msg, NULL)
18177  */
18178     __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_v_msg); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 619; __pyx_clineno = __LINE__; goto __pyx_L1;}
18179     if (__pyx_1) {
18180
18181       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":621
18182  *             if msg:
18183  *                 account.purple_account_set_status(self._get_structure(),
18184  *                         <char *> type, True, "message", <char *> msg, NULL)             # <<<<<<<<<<<<<<
18185  *             else:
18186  *                 account.purple_account_set_status(self._get_structure(),
18187  */
18188       __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1;}
18189       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1;}
18190       purple_account_set_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), ((char *)__pyx_2), 1, __pyx_k_454, ((char *)__pyx_3), NULL);
18191       goto __pyx_L5;
18192     }
18193     /*else*/ {
18194
18195       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":624
18196  *             else:
18197  *                 account.purple_account_set_status(self._get_structure(),
18198  *                         <char *> type, True, NULL)             # <<<<<<<<<<<<<<
18199  * 
18200  *             # FIXME: We can create only a savedstatus for each statustype
18201  */
18202       __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1;}
18203       purple_account_set_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), ((char *)__pyx_2), 1, NULL);
18204     }
18205     __pyx_L5:;
18206
18207     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":627
18208  * 
18209  *             # FIXME: We can create only a savedstatus for each statustype
18210  *             c_savedstatus = savedstatuses.purple_savedstatus_find(type)             # <<<<<<<<<<<<<<
18211  *             if c_savedstatus == NULL:
18212  *                 c_statustype = account.purple_account_get_status_type( \
18213  */
18214     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1;}
18215     __pyx_v_c_savedstatus = purple_savedstatus_find(__pyx_3);
18216
18217     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":628
18218  *             # FIXME: We can create only a savedstatus for each statustype
18219  *             c_savedstatus = savedstatuses.purple_savedstatus_find(type)
18220  *             if c_savedstatus == NULL:             # <<<<<<<<<<<<<<
18221  *                 c_statustype = account.purple_account_get_status_type( \
18222  *                         self._get_structure(), type)
18223  */
18224     __pyx_1 = (__pyx_v_c_savedstatus == NULL);
18225     if (__pyx_1) {
18226
18227       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":630
18228  *             if c_savedstatus == NULL:
18229  *                 c_statustype = account.purple_account_get_status_type( \
18230  *                         self._get_structure(), type)             # <<<<<<<<<<<<<<
18231  *                 c_savedstatus = savedstatuses.purple_savedstatus_new( \
18232  *                         NULL, status.purple_status_type_get_primitive( \
18233  */
18234       __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1;}
18235       __pyx_v_c_statustype = purple_account_get_status_type(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_2);
18236
18237       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":633
18238  *                 c_savedstatus = savedstatuses.purple_savedstatus_new( \
18239  *                         NULL, status.purple_status_type_get_primitive( \
18240  *                                 c_statustype))             # <<<<<<<<<<<<<<
18241  *                 savedstatuses.purple_savedstatus_set_title(c_savedstatus,
18242  *                         type)
18243  */
18244       __pyx_v_c_savedstatus = purple_savedstatus_new(NULL, purple_status_type_get_primitive(__pyx_v_c_statustype));
18245
18246       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":635
18247  *                                 c_statustype))
18248  *                 savedstatuses.purple_savedstatus_set_title(c_savedstatus,
18249  *                         type)             # <<<<<<<<<<<<<<
18250  * 
18251  *             savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg)
18252  */
18253       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1;}
18254       purple_savedstatus_set_title(__pyx_v_c_savedstatus, __pyx_3);
18255       goto __pyx_L6;
18256     }
18257     __pyx_L6:;
18258
18259     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":637
18260  *                         type)
18261  * 
18262  *             savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg)             # <<<<<<<<<<<<<<
18263  *             prefs.purple_prefs_set_int("/purple/savedstatus/idleaway",
18264  *                     savedstatuses.purple_savedstatus_get_creation_time(c_savedstatus))
18265  */
18266     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 637; __pyx_clineno = __LINE__; goto __pyx_L1;}
18267     purple_savedstatus_set_message(__pyx_v_c_savedstatus, __pyx_2);
18268
18269     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":639
18270  *             savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg)
18271  *             prefs.purple_prefs_set_int("/purple/savedstatus/idleaway",
18272  *                     savedstatuses.purple_savedstatus_get_creation_time(c_savedstatus))             # <<<<<<<<<<<<<<
18273  * 
18274  *             return True
18275  */
18276     purple_prefs_set_int(__pyx_k_455, purple_savedstatus_get_creation_time(__pyx_v_c_savedstatus));
18277
18278     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":641
18279  *                     savedstatuses.purple_savedstatus_get_creation_time(c_savedstatus))
18280  * 
18281  *             return True             # <<<<<<<<<<<<<<
18282  *         else:
18283  *             return False
18284  */
18285     Py_INCREF(Py_True);
18286     __pyx_r = Py_True;
18287     goto __pyx_L0;
18288     goto __pyx_L4;
18289   }
18290   /*else*/ {
18291
18292     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":643
18293  *             return True
18294  *         else:
18295  *             return False             # <<<<<<<<<<<<<<
18296  * 
18297  *     def set_status_message(self, type, msg):
18298  */
18299     Py_INCREF(Py_False);
18300     __pyx_r = Py_False;
18301     goto __pyx_L0;
18302   }
18303   __pyx_L4:;
18304
18305   __pyx_r = Py_None; Py_INCREF(Py_None);
18306   goto __pyx_L0;
18307   __pyx_L1:;
18308   __Pyx_AddTraceback("purple.Account.set_active_status");
18309   __pyx_r = NULL;
18310   __pyx_L0:;
18311   return __pyx_r;
18312 }
18313
18314 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":645
18315  *             return False
18316  * 
18317  *     def set_status_message(self, type, msg):             # <<<<<<<<<<<<<<
18318  *         cdef status.PurpleStatus* c_status = NULL
18319  *         cdef status.PurpleStatusType *c_statustype = NULL
18320  */
18321
18322 static char __pyx_k_456[] = "message";
18323
18324 static PyObject *__pyx_pf_6purple_7Account_set_status_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18325 static PyObject *__pyx_pf_6purple_7Account_set_status_message(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18326   PyObject *__pyx_v_type = 0;
18327   PyObject *__pyx_v_msg = 0;
18328   PurpleStatus *__pyx_v_c_status;
18329   PurpleStatusType *__pyx_v_c_statustype;
18330   PurpleSavedStatus *__pyx_v_c_savedstatus;
18331   PyObject *__pyx_r;
18332   PyObject *__pyx_1 = 0;
18333   int __pyx_2;
18334   char *__pyx_3;
18335   static char *__pyx_argnames[] = {"type","msg",0};
18336   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 2)) {
18337     __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0);
18338     __pyx_v_msg = PyTuple_GET_ITEM(__pyx_args, 1);
18339   }
18340   else {
18341     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_type, &__pyx_v_msg))) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L2;}
18342   }
18343   goto __pyx_L3;
18344   __pyx_L2:;
18345   __Pyx_AddTraceback("purple.Account.set_status_message");
18346   return NULL;
18347   __pyx_L3:;
18348
18349   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":646
18350  * 
18351  *     def set_status_message(self, type, msg):
18352  *         cdef status.PurpleStatus* c_status = NULL             # <<<<<<<<<<<<<<
18353  *         cdef status.PurpleStatusType *c_statustype = NULL
18354  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL
18355  */
18356   __pyx_v_c_status = NULL;
18357
18358
18359   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":647
18360  *     def set_status_message(self, type, msg):
18361  *         cdef status.PurpleStatus* c_status = NULL
18362  *         cdef status.PurpleStatusType *c_statustype = NULL             # <<<<<<<<<<<<<<
18363  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL
18364  * 
18365  */
18366   __pyx_v_c_statustype = NULL;
18367
18368
18369   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":648
18370  *         cdef status.PurpleStatus* c_status = NULL
18371  *         cdef status.PurpleStatusType *c_statustype = NULL
18372  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL             # <<<<<<<<<<<<<<
18373  * 
18374  *         if self.__exists and msg:
18375  */
18376   __pyx_v_c_savedstatus = NULL;
18377
18378
18379   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":650
18380  *         cdef savedstatuses.PurpleSavedStatus *c_savedstatus = NULL
18381  * 
18382  *         if self.__exists and msg:             # <<<<<<<<<<<<<<
18383  *             c_status = account.purple_account_get_status(self._get_structure(),
18384  *                     type)
18385  */
18386   __pyx_1 = ((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__exists;
18387   Py_INCREF(__pyx_1);
18388   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1;}
18389   if (__pyx_2) {
18390     Py_DECREF(__pyx_1); __pyx_1 = 0;
18391     __pyx_1 = __pyx_v_msg;
18392     Py_INCREF(__pyx_1);
18393   }
18394   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1;}
18395   Py_DECREF(__pyx_1); __pyx_1 = 0;
18396   if (__pyx_2) {
18397
18398     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":652
18399  *         if self.__exists and msg:
18400  *             c_status = account.purple_account_get_status(self._get_structure(),
18401  *                     type)             # <<<<<<<<<<<<<<
18402  *             if c_status == NULL:
18403  *                 return False
18404  */
18405     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1;}
18406     __pyx_v_c_status = purple_account_get_status(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3);
18407
18408     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":653
18409  *             c_status = account.purple_account_get_status(self._get_structure(),
18410  *                     type)
18411  *             if c_status == NULL:             # <<<<<<<<<<<<<<
18412  *                 return False
18413  *             status.purple_status_set_attr_string(c_status, "message", msg)
18414  */
18415     __pyx_2 = (__pyx_v_c_status == NULL);
18416     if (__pyx_2) {
18417
18418       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":654
18419  *                     type)
18420  *             if c_status == NULL:
18421  *                 return False             # <<<<<<<<<<<<<<
18422  *             status.purple_status_set_attr_string(c_status, "message", msg)
18423  * 
18424  */
18425       Py_INCREF(Py_False);
18426       __pyx_r = Py_False;
18427       goto __pyx_L0;
18428       goto __pyx_L5;
18429     }
18430     __pyx_L5:;
18431
18432     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":655
18433  *             if c_status == NULL:
18434  *                 return False
18435  *             status.purple_status_set_attr_string(c_status, "message", msg)             # <<<<<<<<<<<<<<
18436  * 
18437  *             # FIXME: We can create only a savedstatus for each statustype
18438  */
18439     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1;}
18440     purple_status_set_attr_string(__pyx_v_c_status, __pyx_k_456, __pyx_3);
18441
18442     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":658
18443  * 
18444  *             # FIXME: We can create only a savedstatus for each statustype
18445  *             c_savedstatus = savedstatuses.purple_savedstatus_find(type)             # <<<<<<<<<<<<<<
18446  *             if c_savedstatus == NULL:
18447  *                 c_statustype = account.purple_account_get_status_type( \
18448  */
18449     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1;}
18450     __pyx_v_c_savedstatus = purple_savedstatus_find(__pyx_3);
18451
18452     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":659
18453  *             # FIXME: We can create only a savedstatus for each statustype
18454  *             c_savedstatus = savedstatuses.purple_savedstatus_find(type)
18455  *             if c_savedstatus == NULL:             # <<<<<<<<<<<<<<
18456  *                 c_statustype = account.purple_account_get_status_type( \
18457  *                         self._get_structure(), type)
18458  */
18459     __pyx_2 = (__pyx_v_c_savedstatus == NULL);
18460     if (__pyx_2) {
18461
18462       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":661
18463  *             if c_savedstatus == NULL:
18464  *                 c_statustype = account.purple_account_get_status_type( \
18465  *                         self._get_structure(), type)             # <<<<<<<<<<<<<<
18466  *                 c_savedstatus = savedstatuses.purple_savedstatus_new( \
18467  *                         NULL, status.purple_status_type_get_primitive( \
18468  */
18469       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1;}
18470       __pyx_v_c_statustype = purple_account_get_status_type(((struct __pyx_vtabstruct_6purple_Account *)((struct __pyx_obj_6purple_Account *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Account *)__pyx_v_self)), __pyx_3);
18471
18472       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":664
18473  *                 c_savedstatus = savedstatuses.purple_savedstatus_new( \
18474  *                         NULL, status.purple_status_type_get_primitive( \
18475  *                                 c_statustype))             # <<<<<<<<<<<<<<
18476  *                 savedstatuses.purple_savedstatus_set_title(c_savedstatus,
18477  *                         type)
18478  */
18479       __pyx_v_c_savedstatus = purple_savedstatus_new(NULL, purple_status_type_get_primitive(__pyx_v_c_statustype));
18480
18481       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":666
18482  *                                 c_statustype))
18483  *                 savedstatuses.purple_savedstatus_set_title(c_savedstatus,
18484  *                         type)             # <<<<<<<<<<<<<<
18485  * 
18486  *             savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg)
18487  */
18488       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_type); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1;}
18489       purple_savedstatus_set_title(__pyx_v_c_savedstatus, __pyx_3);
18490       goto __pyx_L6;
18491     }
18492     __pyx_L6:;
18493
18494     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":668
18495  *                         type)
18496  * 
18497  *             savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg)             # <<<<<<<<<<<<<<
18498  *             return True
18499  *         else:
18500  */
18501     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1;}
18502     purple_savedstatus_set_message(__pyx_v_c_savedstatus, __pyx_3);
18503
18504     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":669
18505  * 
18506  *             savedstatuses.purple_savedstatus_set_message(c_savedstatus, msg)
18507  *             return True             # <<<<<<<<<<<<<<
18508  *         else:
18509  *             return False
18510  */
18511     Py_INCREF(Py_True);
18512     __pyx_r = Py_True;
18513     goto __pyx_L0;
18514     goto __pyx_L4;
18515   }
18516   /*else*/ {
18517
18518     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":671
18519  *             return True
18520  *         else:
18521  *             return False             # <<<<<<<<<<<<<<
18522  */
18523     Py_INCREF(Py_False);
18524     __pyx_r = Py_False;
18525     goto __pyx_L0;
18526   }
18527   __pyx_L4:;
18528
18529   __pyx_r = Py_None; Py_INCREF(Py_None);
18530   goto __pyx_L0;
18531   __pyx_L1:;
18532   Py_XDECREF(__pyx_1);
18533   __Pyx_AddTraceback("purple.Account.set_status_message");
18534   __pyx_r = NULL;
18535   __pyx_L0:;
18536   return __pyx_r;
18537 }
18538
18539 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":33
18540  *     cdef object __exists
18541  * 
18542  *     def __init__(self, name, account):             # <<<<<<<<<<<<<<
18543  *         self.__name = name
18544  *         self.__account = account
18545  */
18546
18547 static int __pyx_pf_6purple_5Buddy___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18548 static int __pyx_pf_6purple_5Buddy___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18549   PyObject *__pyx_v_name = 0;
18550   PyObject *__pyx_v_account = 0;
18551   int __pyx_r;
18552   int __pyx_1;
18553   static char *__pyx_argnames[] = {"name","account",0};
18554   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 2)) {
18555     __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 0);
18556     __pyx_v_account = PyTuple_GET_ITEM(__pyx_args, 1);
18557   }
18558   else {
18559     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO", __pyx_argnames, &__pyx_v_name, &__pyx_v_account))) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L2;}
18560   }
18561   goto __pyx_L3;
18562   __pyx_L2:;
18563   __Pyx_AddTraceback("purple.Buddy.__init__");
18564   return -1;
18565   __pyx_L3:;
18566
18567   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":34
18568  * 
18569  *     def __init__(self, name, account):
18570  *         self.__name = name             # <<<<<<<<<<<<<<
18571  *         self.__account = account
18572  * 
18573  */
18574   Py_INCREF(__pyx_v_name);
18575   Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name);
18576   ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name = __pyx_v_name;
18577
18578   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":35
18579  *     def __init__(self, name, account):
18580  *         self.__name = name
18581  *         self.__account = account             # <<<<<<<<<<<<<<
18582  * 
18583  *         if self._get_structure() != NULL:
18584  */
18585   Py_INCREF(__pyx_v_account);
18586   Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account);
18587   ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account = __pyx_v_account;
18588
18589   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":37
18590  *         self.__account = account
18591  * 
18592  *         if self._get_structure() != NULL:             # <<<<<<<<<<<<<<
18593  *             self.__exists = True
18594  *         else:
18595  */
18596   __pyx_1 = (((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)) != NULL);
18597   if (__pyx_1) {
18598
18599     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":38
18600  * 
18601  *         if self._get_structure() != NULL:
18602  *             self.__exists = True             # <<<<<<<<<<<<<<
18603  *         else:
18604  *             self.__exists = False
18605  */
18606     Py_INCREF(Py_True);
18607     Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists);
18608     ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists = Py_True;
18609     goto __pyx_L4;
18610   }
18611   /*else*/ {
18612
18613     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":40
18614  *             self.__exists = True
18615  *         else:
18616  *             self.__exists = False             # <<<<<<<<<<<<<<
18617  * 
18618  *     cdef blist.PurpleBuddy *_get_structure(self):
18619  */
18620     Py_INCREF(Py_False);
18621     Py_DECREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists);
18622     ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists = Py_False;
18623   }
18624   __pyx_L4:;
18625
18626   __pyx_r = 0;
18627   return __pyx_r;
18628 }
18629
18630 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":42
18631  *             self.__exists = False
18632  * 
18633  *     cdef blist.PurpleBuddy *_get_structure(self):             # <<<<<<<<<<<<<<
18634  *         return blist.purple_find_buddy(account.purple_accounts_find( \
18635  *                 self.__account.username, self.__account.protocol.id), \
18636  */
18637
18638 static  PurpleBuddy *__pyx_f_6purple_5Buddy__get_structure(struct __pyx_obj_6purple_Buddy *__pyx_v_self) {
18639   PurpleBuddy *__pyx_r;
18640   PyObject *__pyx_1 = 0;
18641   char *__pyx_2;
18642   PyObject *__pyx_3 = 0;
18643   char *__pyx_4;
18644   char *__pyx_5;
18645
18646   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":44
18647  *     cdef blist.PurpleBuddy *_get_structure(self):
18648  *         return blist.purple_find_buddy(account.purple_accounts_find( \
18649  *                 self.__account.username, self.__account.protocol.id), \             # <<<<<<<<<<<<<<
18650  *                 self.__name)
18651  * 
18652  */
18653   __pyx_1 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_username); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
18654   __pyx_2 = __Pyx_PyBytes_AsString(__pyx_1); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
18655   Py_DECREF(__pyx_1); __pyx_1 = 0;
18656   __pyx_1 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_protocol); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
18657   __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_id); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
18658   Py_DECREF(__pyx_1); __pyx_1 = 0;
18659   __pyx_4 = __Pyx_PyBytes_AsString(__pyx_3); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1;}
18660   Py_DECREF(__pyx_3); __pyx_3 = 0;
18661
18662   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":45
18663  *         return blist.purple_find_buddy(account.purple_accounts_find( \
18664  *                 self.__account.username, self.__account.protocol.id), \
18665  *                 self.__name)             # <<<<<<<<<<<<<<
18666  * 
18667  *     def __get_exists(self):
18668  */
18669   __pyx_5 = __Pyx_PyBytes_AsString(__pyx_v_self->__name); if (unlikely((!__pyx_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1;}
18670   __pyx_r = purple_find_buddy(purple_accounts_find(__pyx_2, __pyx_4), __pyx_5);
18671   goto __pyx_L0;
18672
18673   __pyx_r = 0;
18674   goto __pyx_L0;
18675   __pyx_L1:;
18676   Py_XDECREF(__pyx_1);
18677   Py_XDECREF(__pyx_3);
18678   __Pyx_WriteUnraisable("purple.Buddy._get_structure");
18679   __pyx_r = 0;
18680   __pyx_L0:;
18681   return __pyx_r;
18682 }
18683
18684 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":47
18685  *                 self.__name)
18686  * 
18687  *     def __get_exists(self):             # <<<<<<<<<<<<<<
18688  *         return self.__exists
18689  *     exists = property(__get_exists)
18690  */
18691
18692 static PyObject *__pyx_pf_6purple_5Buddy___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
18693 static PyObject *__pyx_pf_6purple_5Buddy___get_exists(PyObject *__pyx_v_self, PyObject *unused) {
18694   PyObject *__pyx_r;
18695
18696   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":48
18697  * 
18698  *     def __get_exists(self):
18699  *         return self.__exists             # <<<<<<<<<<<<<<
18700  *     exists = property(__get_exists)
18701  * 
18702  */
18703   Py_INCREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists);
18704   __pyx_r = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists;
18705   goto __pyx_L0;
18706
18707   __pyx_r = Py_None; Py_INCREF(Py_None);
18708   __pyx_L0:;
18709   return __pyx_r;
18710 }
18711
18712 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":51
18713  *     exists = property(__get_exists)
18714  * 
18715  *     def __get_name(self):             # <<<<<<<<<<<<<<
18716  *         if self.__exists:
18717  *             return <char *> blist.purple_buddy_get_name(self._get_structure())
18718  */
18719
18720 static PyObject *__pyx_pf_6purple_5Buddy___get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
18721 static PyObject *__pyx_pf_6purple_5Buddy___get_name(PyObject *__pyx_v_self, PyObject *unused) {
18722   PyObject *__pyx_r;
18723   int __pyx_1;
18724   PyObject *__pyx_2 = 0;
18725
18726   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":52
18727  * 
18728  *     def __get_name(self):
18729  *         if self.__exists:             # <<<<<<<<<<<<<<
18730  *             return <char *> blist.purple_buddy_get_name(self._get_structure())
18731  *         else:
18732  */
18733   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1;}
18734   if (__pyx_1) {
18735
18736     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":53
18737  *     def __get_name(self):
18738  *         if self.__exists:
18739  *             return <char *> blist.purple_buddy_get_name(self._get_structure())             # <<<<<<<<<<<<<<
18740  *         else:
18741  *             return self.__name
18742  */
18743     __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_buddy_get_name(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
18744     __pyx_r = __pyx_2;
18745     __pyx_2 = 0;
18746     goto __pyx_L0;
18747     goto __pyx_L4;
18748   }
18749   /*else*/ {
18750
18751     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":55
18752  *             return <char *> blist.purple_buddy_get_name(self._get_structure())
18753  *         else:
18754  *             return self.__name             # <<<<<<<<<<<<<<
18755  *     name = property(__get_name)
18756  * 
18757  */
18758     Py_INCREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name);
18759     __pyx_r = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__name;
18760     goto __pyx_L0;
18761   }
18762   __pyx_L4:;
18763
18764   __pyx_r = Py_None; Py_INCREF(Py_None);
18765   goto __pyx_L0;
18766   __pyx_L1:;
18767   Py_XDECREF(__pyx_2);
18768   __Pyx_AddTraceback("purple.Buddy.__get_name");
18769   __pyx_r = NULL;
18770   __pyx_L0:;
18771   return __pyx_r;
18772 }
18773
18774 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":58
18775  *     name = property(__get_name)
18776  * 
18777  *     def __get_account(self):             # <<<<<<<<<<<<<<
18778  *         if self.__exists:
18779  *             return self.__account
18780  */
18781
18782 static PyObject *__pyx_pf_6purple_5Buddy___get_account(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
18783 static PyObject *__pyx_pf_6purple_5Buddy___get_account(PyObject *__pyx_v_self, PyObject *unused) {
18784   PyObject *__pyx_r;
18785   int __pyx_1;
18786
18787   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":59
18788  * 
18789  *     def __get_account(self):
18790  *         if self.__exists:             # <<<<<<<<<<<<<<
18791  *             return self.__account
18792  *         else:
18793  */
18794   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1;}
18795   if (__pyx_1) {
18796
18797     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":60
18798  *     def __get_account(self):
18799  *         if self.__exists:
18800  *             return self.__account             # <<<<<<<<<<<<<<
18801  *         else:
18802  *             return None
18803  */
18804     Py_INCREF(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account);
18805     __pyx_r = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__account;
18806     goto __pyx_L0;
18807     goto __pyx_L4;
18808   }
18809   /*else*/ {
18810
18811     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":62
18812  *             return self.__account
18813  *         else:
18814  *             return None             # <<<<<<<<<<<<<<
18815  *     account = property(__get_account)
18816  * 
18817  */
18818     Py_INCREF(Py_None);
18819     __pyx_r = Py_None;
18820     goto __pyx_L0;
18821   }
18822   __pyx_L4:;
18823
18824   __pyx_r = Py_None; Py_INCREF(Py_None);
18825   goto __pyx_L0;
18826   __pyx_L1:;
18827   __Pyx_AddTraceback("purple.Buddy.__get_account");
18828   __pyx_r = NULL;
18829   __pyx_L0:;
18830   return __pyx_r;
18831 }
18832
18833 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":65
18834  *     account = property(__get_account)
18835  * 
18836  *     def __get_alias(self):             # <<<<<<<<<<<<<<
18837  *         cdef char *c_alias = NULL
18838  *         c_alias = <char *> blist.purple_buddy_get_alias_only( \
18839  */
18840
18841 static PyObject *__pyx_kp_457;
18842
18843 static char __pyx_k_457[] = "utf-8";
18844
18845 static PyObject *__pyx_pf_6purple_5Buddy___get_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
18846 static PyObject *__pyx_pf_6purple_5Buddy___get_alias(PyObject *__pyx_v_self, PyObject *unused) {
18847   char *__pyx_v_c_alias;
18848   PyObject *__pyx_r;
18849   int __pyx_1;
18850   PyObject *__pyx_2 = 0;
18851   PyObject *__pyx_3 = 0;
18852
18853   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":66
18854  * 
18855  *     def __get_alias(self):
18856  *         cdef char *c_alias = NULL             # <<<<<<<<<<<<<<
18857  *         c_alias = <char *> blist.purple_buddy_get_alias_only( \
18858  *                 self._get_structure())
18859  */
18860   __pyx_v_c_alias = NULL;
18861
18862
18863   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":68
18864  *         cdef char *c_alias = NULL
18865  *         c_alias = <char *> blist.purple_buddy_get_alias_only( \
18866  *                 self._get_structure())             # <<<<<<<<<<<<<<
18867  *         if c_alias:
18868  *             return unicode(c_alias, 'utf-8')
18869  */
18870   __pyx_v_c_alias = ((char *)purple_buddy_get_alias_only(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))));
18871
18872   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":69
18873  *         c_alias = <char *> blist.purple_buddy_get_alias_only( \
18874  *                 self._get_structure())
18875  *         if c_alias:             # <<<<<<<<<<<<<<
18876  *             return unicode(c_alias, 'utf-8')
18877  *         else:
18878  */
18879   __pyx_1 = (__pyx_v_c_alias != 0);
18880   if (__pyx_1) {
18881
18882     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":70
18883  *                 self._get_structure())
18884  *         if c_alias:
18885  *             return unicode(c_alias, 'utf-8')             # <<<<<<<<<<<<<<
18886  *         else:
18887  *             return None
18888  */
18889     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1;}
18890     __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1;}
18891     PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
18892     Py_INCREF(__pyx_kp_457);
18893     PyTuple_SET_ITEM(__pyx_3, 1, __pyx_kp_457);
18894     __pyx_2 = 0;
18895     __pyx_2 = PyObject_Call(((PyObject*)&PyUnicode_Type), ((PyObject *)__pyx_3), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1;}
18896     Py_DECREF(((PyObject *)__pyx_3)); __pyx_3 = 0;
18897     __pyx_r = __pyx_2;
18898     __pyx_2 = 0;
18899     goto __pyx_L0;
18900     goto __pyx_L4;
18901   }
18902   /*else*/ {
18903
18904     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":72
18905  *             return unicode(c_alias, 'utf-8')
18906  *         else:
18907  *             return None             # <<<<<<<<<<<<<<
18908  *     alias = property(__get_alias)
18909  * 
18910  */
18911     Py_INCREF(Py_None);
18912     __pyx_r = Py_None;
18913     goto __pyx_L0;
18914   }
18915   __pyx_L4:;
18916
18917   __pyx_r = Py_None; Py_INCREF(Py_None);
18918   goto __pyx_L0;
18919   __pyx_L1:;
18920   Py_XDECREF(__pyx_2);
18921   Py_XDECREF(__pyx_3);
18922   __Pyx_AddTraceback("purple.Buddy.__get_alias");
18923   __pyx_r = NULL;
18924   __pyx_L0:;
18925   return __pyx_r;
18926 }
18927
18928 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":75
18929  *     alias = property(__get_alias)
18930  * 
18931  *     def __get_group(self):             # <<<<<<<<<<<<<<
18932  *         cdef blist.PurpleGroup *c_group = NULL
18933  *         if self.__exists:
18934  */
18935
18936 static PyObject *__pyx_pf_6purple_5Buddy___get_group(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
18937 static PyObject *__pyx_pf_6purple_5Buddy___get_group(PyObject *__pyx_v_self, PyObject *unused) {
18938   PurpleGroup *__pyx_v_c_group;
18939   PyObject *__pyx_r;
18940   int __pyx_1;
18941   PyObject *__pyx_2 = 0;
18942
18943   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":76
18944  * 
18945  *     def __get_group(self):
18946  *         cdef blist.PurpleGroup *c_group = NULL             # <<<<<<<<<<<<<<
18947  *         if self.__exists:
18948  *             c_group = blist.purple_buddy_get_group(self._get_structure())
18949  */
18950   __pyx_v_c_group = NULL;
18951
18952
18953   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":77
18954  *     def __get_group(self):
18955  *         cdef blist.PurpleGroup *c_group = NULL
18956  *         if self.__exists:             # <<<<<<<<<<<<<<
18957  *             c_group = blist.purple_buddy_get_group(self._get_structure())
18958  *             return <char *> blist.purple_group_get_name(c_group)
18959  */
18960   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
18961   if (__pyx_1) {
18962
18963     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":78
18964  *         cdef blist.PurpleGroup *c_group = NULL
18965  *         if self.__exists:
18966  *             c_group = blist.purple_buddy_get_group(self._get_structure())             # <<<<<<<<<<<<<<
18967  *             return <char *> blist.purple_group_get_name(c_group)
18968  *         else:
18969  */
18970     __pyx_v_c_group = purple_buddy_get_group(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)));
18971
18972     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":79
18973  *         if self.__exists:
18974  *             c_group = blist.purple_buddy_get_group(self._get_structure())
18975  *             return <char *> blist.purple_group_get_name(c_group)             # <<<<<<<<<<<<<<
18976  *         else:
18977  *             return None
18978  */
18979     __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_group_get_name(__pyx_v_c_group))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1;}
18980     __pyx_r = __pyx_2;
18981     __pyx_2 = 0;
18982     goto __pyx_L0;
18983     goto __pyx_L4;
18984   }
18985   /*else*/ {
18986
18987     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":81
18988  *             return <char *> blist.purple_group_get_name(c_group)
18989  *         else:
18990  *             return None             # <<<<<<<<<<<<<<
18991  *     group = property(__get_group)
18992  * 
18993  */
18994     Py_INCREF(Py_None);
18995     __pyx_r = Py_None;
18996     goto __pyx_L0;
18997   }
18998   __pyx_L4:;
18999
19000   __pyx_r = Py_None; Py_INCREF(Py_None);
19001   goto __pyx_L0;
19002   __pyx_L1:;
19003   Py_XDECREF(__pyx_2);
19004   __Pyx_AddTraceback("purple.Buddy.__get_group");
19005   __pyx_r = NULL;
19006   __pyx_L0:;
19007   return __pyx_r;
19008 }
19009
19010 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":84
19011  *     group = property(__get_group)
19012  * 
19013  *     def __get_server_alias(self):             # <<<<<<<<<<<<<<
19014  *         cdef char *c_server_alias = NULL
19015  *         c_server_alias = <char *> blist.purple_buddy_get_server_alias( \
19016  */
19017
19018 static PyObject *__pyx_pf_6purple_5Buddy___get_server_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19019 static PyObject *__pyx_pf_6purple_5Buddy___get_server_alias(PyObject *__pyx_v_self, PyObject *unused) {
19020   char *__pyx_v_c_server_alias;
19021   PyObject *__pyx_r;
19022   int __pyx_1;
19023   PyObject *__pyx_2 = 0;
19024
19025   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":85
19026  * 
19027  *     def __get_server_alias(self):
19028  *         cdef char *c_server_alias = NULL             # <<<<<<<<<<<<<<
19029  *         c_server_alias = <char *> blist.purple_buddy_get_server_alias( \
19030  *                 self._get_structure())
19031  */
19032   __pyx_v_c_server_alias = NULL;
19033
19034
19035   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":87
19036  *         cdef char *c_server_alias = NULL
19037  *         c_server_alias = <char *> blist.purple_buddy_get_server_alias( \
19038  *                 self._get_structure())             # <<<<<<<<<<<<<<
19039  *         if c_server_alias:
19040  *             return c_server_alias
19041  */
19042   __pyx_v_c_server_alias = ((char *)purple_buddy_get_server_alias(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))));
19043
19044   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":88
19045  *         c_server_alias = <char *> blist.purple_buddy_get_server_alias( \
19046  *                 self._get_structure())
19047  *         if c_server_alias:             # <<<<<<<<<<<<<<
19048  *             return c_server_alias
19049  *         else:
19050  */
19051   __pyx_1 = (__pyx_v_c_server_alias != 0);
19052   if (__pyx_1) {
19053
19054     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":89
19055  *                 self._get_structure())
19056  *         if c_server_alias:
19057  *             return c_server_alias             # <<<<<<<<<<<<<<
19058  *         else:
19059  *             return None
19060  */
19061     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_server_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1;}
19062     __pyx_r = __pyx_2;
19063     __pyx_2 = 0;
19064     goto __pyx_L0;
19065     goto __pyx_L4;
19066   }
19067   /*else*/ {
19068
19069     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":91
19070  *             return c_server_alias
19071  *         else:
19072  *             return None             # <<<<<<<<<<<<<<
19073  *     server_alias = property(__get_server_alias)
19074  * 
19075  */
19076     Py_INCREF(Py_None);
19077     __pyx_r = Py_None;
19078     goto __pyx_L0;
19079   }
19080   __pyx_L4:;
19081
19082   __pyx_r = Py_None; Py_INCREF(Py_None);
19083   goto __pyx_L0;
19084   __pyx_L1:;
19085   Py_XDECREF(__pyx_2);
19086   __Pyx_AddTraceback("purple.Buddy.__get_server_alias");
19087   __pyx_r = NULL;
19088   __pyx_L0:;
19089   return __pyx_r;
19090 }
19091
19092 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":94
19093  *     server_alias = property(__get_server_alias)
19094  * 
19095  *     def __get_contact_alias(self):             # <<<<<<<<<<<<<<
19096  *         cdef char *c_contact_alias = NULL
19097  *         c_contact_alias = <char *> blist.purple_buddy_get_contact_alias( \
19098  */
19099
19100 static PyObject *__pyx_pf_6purple_5Buddy___get_contact_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19101 static PyObject *__pyx_pf_6purple_5Buddy___get_contact_alias(PyObject *__pyx_v_self, PyObject *unused) {
19102   char *__pyx_v_c_contact_alias;
19103   PyObject *__pyx_r;
19104   int __pyx_1;
19105   PyObject *__pyx_2 = 0;
19106
19107   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":95
19108  * 
19109  *     def __get_contact_alias(self):
19110  *         cdef char *c_contact_alias = NULL             # <<<<<<<<<<<<<<
19111  *         c_contact_alias = <char *> blist.purple_buddy_get_contact_alias( \
19112  *                 self._get_structure())
19113  */
19114   __pyx_v_c_contact_alias = NULL;
19115
19116
19117   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":97
19118  *         cdef char *c_contact_alias = NULL
19119  *         c_contact_alias = <char *> blist.purple_buddy_get_contact_alias( \
19120  *                 self._get_structure())             # <<<<<<<<<<<<<<
19121  *         if c_contact_alias:
19122  *             return c_contact_alias
19123  */
19124   __pyx_v_c_contact_alias = ((char *)purple_buddy_get_contact_alias(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))));
19125
19126   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":98
19127  *         c_contact_alias = <char *> blist.purple_buddy_get_contact_alias( \
19128  *                 self._get_structure())
19129  *         if c_contact_alias:             # <<<<<<<<<<<<<<
19130  *             return c_contact_alias
19131  *         else:
19132  */
19133   __pyx_1 = (__pyx_v_c_contact_alias != 0);
19134   if (__pyx_1) {
19135
19136     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":99
19137  *                 self._get_structure())
19138  *         if c_contact_alias:
19139  *             return c_contact_alias             # <<<<<<<<<<<<<<
19140  *         else:
19141  *             return None
19142  */
19143     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_contact_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1;}
19144     __pyx_r = __pyx_2;
19145     __pyx_2 = 0;
19146     goto __pyx_L0;
19147     goto __pyx_L4;
19148   }
19149   /*else*/ {
19150
19151     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":101
19152  *             return c_contact_alias
19153  *         else:
19154  *             return None             # <<<<<<<<<<<<<<
19155  *     contact_alias = property(__get_contact_alias)
19156  * 
19157  */
19158     Py_INCREF(Py_None);
19159     __pyx_r = Py_None;
19160     goto __pyx_L0;
19161   }
19162   __pyx_L4:;
19163
19164   __pyx_r = Py_None; Py_INCREF(Py_None);
19165   goto __pyx_L0;
19166   __pyx_L1:;
19167   Py_XDECREF(__pyx_2);
19168   __Pyx_AddTraceback("purple.Buddy.__get_contact_alias");
19169   __pyx_r = NULL;
19170   __pyx_L0:;
19171   return __pyx_r;
19172 }
19173
19174 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":104
19175  *     contact_alias = property(__get_contact_alias)
19176  * 
19177  *     def __get_local_alias(self):             # <<<<<<<<<<<<<<
19178  *         cdef char *c_local_alias = NULL
19179  *         c_local_alias = <char *> blist.purple_buddy_get_local_alias( \
19180  */
19181
19182 static PyObject *__pyx_pf_6purple_5Buddy___get_local_alias(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19183 static PyObject *__pyx_pf_6purple_5Buddy___get_local_alias(PyObject *__pyx_v_self, PyObject *unused) {
19184   char *__pyx_v_c_local_alias;
19185   PyObject *__pyx_r;
19186   int __pyx_1;
19187   PyObject *__pyx_2 = 0;
19188
19189   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":105
19190  * 
19191  *     def __get_local_alias(self):
19192  *         cdef char *c_local_alias = NULL             # <<<<<<<<<<<<<<
19193  *         c_local_alias = <char *> blist.purple_buddy_get_local_alias( \
19194  *                 self._get_structure())
19195  */
19196   __pyx_v_c_local_alias = NULL;
19197
19198
19199   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":107
19200  *         cdef char *c_local_alias = NULL
19201  *         c_local_alias = <char *> blist.purple_buddy_get_local_alias( \
19202  *                 self._get_structure())             # <<<<<<<<<<<<<<
19203  *         if c_local_alias:
19204  *             return c_local_alias
19205  */
19206   __pyx_v_c_local_alias = ((char *)purple_buddy_get_local_alias(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))));
19207
19208   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":108
19209  *         c_local_alias = <char *> blist.purple_buddy_get_local_alias( \
19210  *                 self._get_structure())
19211  *         if c_local_alias:             # <<<<<<<<<<<<<<
19212  *             return c_local_alias
19213  *         else:
19214  */
19215   __pyx_1 = (__pyx_v_c_local_alias != 0);
19216   if (__pyx_1) {
19217
19218     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":109
19219  *                 self._get_structure())
19220  *         if c_local_alias:
19221  *             return c_local_alias             # <<<<<<<<<<<<<<
19222  *         else:
19223  *             return None
19224  */
19225     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_c_local_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1;}
19226     __pyx_r = __pyx_2;
19227     __pyx_2 = 0;
19228     goto __pyx_L0;
19229     goto __pyx_L4;
19230   }
19231   /*else*/ {
19232
19233     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":111
19234  *             return c_local_alias
19235  *         else:
19236  *             return None             # <<<<<<<<<<<<<<
19237  *     local_alias = property(__get_local_alias)
19238  * 
19239  */
19240     Py_INCREF(Py_None);
19241     __pyx_r = Py_None;
19242     goto __pyx_L0;
19243   }
19244   __pyx_L4:;
19245
19246   __pyx_r = Py_None; Py_INCREF(Py_None);
19247   goto __pyx_L0;
19248   __pyx_L1:;
19249   Py_XDECREF(__pyx_2);
19250   __Pyx_AddTraceback("purple.Buddy.__get_local_alias");
19251   __pyx_r = NULL;
19252   __pyx_L0:;
19253   return __pyx_r;
19254 }
19255
19256 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":114
19257  *     local_alias = property(__get_local_alias)
19258  * 
19259  *     def __get_available(self):             # <<<<<<<<<<<<<<
19260  *         if self.__exists:
19261  *             return status.purple_presence_is_available( \
19262  */
19263
19264 static PyObject *__pyx_pf_6purple_5Buddy___get_available(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19265 static PyObject *__pyx_pf_6purple_5Buddy___get_available(PyObject *__pyx_v_self, PyObject *unused) {
19266   PyObject *__pyx_r;
19267   int __pyx_1;
19268   PyObject *__pyx_2 = 0;
19269
19270   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":115
19271  * 
19272  *     def __get_available(self):
19273  *         if self.__exists:             # <<<<<<<<<<<<<<
19274  *             return status.purple_presence_is_available( \
19275  *                     blist.purple_buddy_get_presence(self._get_structure()))
19276  */
19277   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1;}
19278   if (__pyx_1) {
19279
19280     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":117
19281  *         if self.__exists:
19282  *             return status.purple_presence_is_available( \
19283  *                     blist.purple_buddy_get_presence(self._get_structure()))             # <<<<<<<<<<<<<<
19284  *         else:
19285  *             return None
19286  */
19287     __pyx_2 = PyInt_FromLong(purple_presence_is_available(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1;}
19288     __pyx_r = __pyx_2;
19289     __pyx_2 = 0;
19290     goto __pyx_L0;
19291     goto __pyx_L4;
19292   }
19293   /*else*/ {
19294
19295     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":119
19296  *                     blist.purple_buddy_get_presence(self._get_structure()))
19297  *         else:
19298  *             return None             # <<<<<<<<<<<<<<
19299  *     available = property(__get_available)
19300  * 
19301  */
19302     Py_INCREF(Py_None);
19303     __pyx_r = Py_None;
19304     goto __pyx_L0;
19305   }
19306   __pyx_L4:;
19307
19308   __pyx_r = Py_None; Py_INCREF(Py_None);
19309   goto __pyx_L0;
19310   __pyx_L1:;
19311   Py_XDECREF(__pyx_2);
19312   __Pyx_AddTraceback("purple.Buddy.__get_available");
19313   __pyx_r = NULL;
19314   __pyx_L0:;
19315   return __pyx_r;
19316 }
19317
19318 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":122
19319  *     available = property(__get_available)
19320  * 
19321  *     def __get_online(self):             # <<<<<<<<<<<<<<
19322  *         if self.__exists:
19323  *             return status.purple_presence_is_online( \
19324  */
19325
19326 static PyObject *__pyx_pf_6purple_5Buddy___get_online(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19327 static PyObject *__pyx_pf_6purple_5Buddy___get_online(PyObject *__pyx_v_self, PyObject *unused) {
19328   PyObject *__pyx_r;
19329   int __pyx_1;
19330   PyObject *__pyx_2 = 0;
19331
19332   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":123
19333  * 
19334  *     def __get_online(self):
19335  *         if self.__exists:             # <<<<<<<<<<<<<<
19336  *             return status.purple_presence_is_online( \
19337  *                     blist.purple_buddy_get_presence(self._get_structure()))
19338  */
19339   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1;}
19340   if (__pyx_1) {
19341
19342     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":125
19343  *         if self.__exists:
19344  *             return status.purple_presence_is_online( \
19345  *                     blist.purple_buddy_get_presence(self._get_structure()))             # <<<<<<<<<<<<<<
19346  *         else:
19347  *             return None
19348  */
19349     __pyx_2 = PyInt_FromLong(purple_presence_is_online(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1;}
19350     __pyx_r = __pyx_2;
19351     __pyx_2 = 0;
19352     goto __pyx_L0;
19353     goto __pyx_L4;
19354   }
19355   /*else*/ {
19356
19357     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":127
19358  *                     blist.purple_buddy_get_presence(self._get_structure()))
19359  *         else:
19360  *             return None             # <<<<<<<<<<<<<<
19361  *     online = property(__get_online)
19362  * 
19363  */
19364     Py_INCREF(Py_None);
19365     __pyx_r = Py_None;
19366     goto __pyx_L0;
19367   }
19368   __pyx_L4:;
19369
19370   __pyx_r = Py_None; Py_INCREF(Py_None);
19371   goto __pyx_L0;
19372   __pyx_L1:;
19373   Py_XDECREF(__pyx_2);
19374   __Pyx_AddTraceback("purple.Buddy.__get_online");
19375   __pyx_r = NULL;
19376   __pyx_L0:;
19377   return __pyx_r;
19378 }
19379
19380 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":130
19381  *     online = property(__get_online)
19382  * 
19383  *     def __get_idle(self):             # <<<<<<<<<<<<<<
19384  *         if self.__exists:
19385  *             return status.purple_presence_is_idle( \
19386  */
19387
19388 static PyObject *__pyx_pf_6purple_5Buddy___get_idle(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19389 static PyObject *__pyx_pf_6purple_5Buddy___get_idle(PyObject *__pyx_v_self, PyObject *unused) {
19390   PyObject *__pyx_r;
19391   int __pyx_1;
19392   PyObject *__pyx_2 = 0;
19393
19394   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":131
19395  * 
19396  *     def __get_idle(self):
19397  *         if self.__exists:             # <<<<<<<<<<<<<<
19398  *             return status.purple_presence_is_idle( \
19399  *                     blist.purple_buddy_get_presence(self._get_structure()))
19400  */
19401   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1;}
19402   if (__pyx_1) {
19403
19404     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":133
19405  *         if self.__exists:
19406  *             return status.purple_presence_is_idle( \
19407  *                     blist.purple_buddy_get_presence(self._get_structure()))             # <<<<<<<<<<<<<<
19408  *         else:
19409  *             return None
19410  */
19411     __pyx_2 = PyInt_FromLong(purple_presence_is_idle(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1;}
19412     __pyx_r = __pyx_2;
19413     __pyx_2 = 0;
19414     goto __pyx_L0;
19415     goto __pyx_L4;
19416   }
19417   /*else*/ {
19418
19419     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":135
19420  *                     blist.purple_buddy_get_presence(self._get_structure()))
19421  *         else:
19422  *             return None             # <<<<<<<<<<<<<<
19423  *     idle = property(__get_idle)
19424  * 
19425  */
19426     Py_INCREF(Py_None);
19427     __pyx_r = Py_None;
19428     goto __pyx_L0;
19429   }
19430   __pyx_L4:;
19431
19432   __pyx_r = Py_None; Py_INCREF(Py_None);
19433   goto __pyx_L0;
19434   __pyx_L1:;
19435   Py_XDECREF(__pyx_2);
19436   __Pyx_AddTraceback("purple.Buddy.__get_idle");
19437   __pyx_r = NULL;
19438   __pyx_L0:;
19439   return __pyx_r;
19440 }
19441
19442 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":138
19443  *     idle = property(__get_idle)
19444  * 
19445  *     def __get_active_status(self):             # <<<<<<<<<<<<<<
19446  *         cdef status.PurpleStatus* c_status = NULL
19447  *         cdef char *type = NULL
19448  */
19449
19450 static char __pyx_k_459[] = "type";
19451 static char __pyx_k_460[] = "name";
19452 static char __pyx_k_461[] = "message";
19453
19454 static PyObject *__pyx_kp_459;
19455 static PyObject *__pyx_kp_460;
19456 static PyObject *__pyx_kp_461;
19457
19458
19459 static char __pyx_k_458[] = "message";
19460
19461 static PyObject *__pyx_pf_6purple_5Buddy___get_active_status(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
19462 static PyObject *__pyx_pf_6purple_5Buddy___get_active_status(PyObject *__pyx_v_self, PyObject *unused) {
19463   PurpleStatus *__pyx_v_c_status;
19464   char *__pyx_v_type;
19465   char *__pyx_v_name;
19466   char *__pyx_v_msg;
19467   PyObject *__pyx_v_active;
19468   PyObject *__pyx_r;
19469   int __pyx_1;
19470   PyObject *__pyx_2 = 0;
19471   __pyx_v_active = Py_None; Py_INCREF(Py_None);
19472
19473   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":139
19474  * 
19475  *     def __get_active_status(self):
19476  *         cdef status.PurpleStatus* c_status = NULL             # <<<<<<<<<<<<<<
19477  *         cdef char *type = NULL
19478  *         cdef char *name = NULL
19479  */
19480   __pyx_v_c_status = NULL;
19481
19482
19483   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":140
19484  *     def __get_active_status(self):
19485  *         cdef status.PurpleStatus* c_status = NULL
19486  *         cdef char *type = NULL             # <<<<<<<<<<<<<<
19487  *         cdef char *name = NULL
19488  *         cdef char *msg = NULL
19489  */
19490   __pyx_v_type = NULL;
19491
19492
19493   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":141
19494  *         cdef status.PurpleStatus* c_status = NULL
19495  *         cdef char *type = NULL
19496  *         cdef char *name = NULL             # <<<<<<<<<<<<<<
19497  *         cdef char *msg = NULL
19498  *         if self.__exists:
19499  */
19500   __pyx_v_name = NULL;
19501
19502
19503   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":142
19504  *         cdef char *type = NULL
19505  *         cdef char *name = NULL
19506  *         cdef char *msg = NULL             # <<<<<<<<<<<<<<
19507  *         if self.__exists:
19508  *             active = {}
19509  */
19510   __pyx_v_msg = NULL;
19511
19512
19513   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":143
19514  *         cdef char *name = NULL
19515  *         cdef char *msg = NULL
19516  *         if self.__exists:             # <<<<<<<<<<<<<<
19517  *             active = {}
19518  *             c_status = status.purple_presence_get_active_status( \
19519  */
19520   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1;}
19521   if (__pyx_1) {
19522
19523     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":144
19524  *         cdef char *msg = NULL
19525  *         if self.__exists:
19526  *             active = {}             # <<<<<<<<<<<<<<
19527  *             c_status = status.purple_presence_get_active_status( \
19528  *                     blist.purple_buddy_get_presence(self._get_structure()))
19529  */
19530     __pyx_2 = PyDict_New(); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1;}
19531     Py_DECREF(__pyx_v_active);
19532     __pyx_v_active = ((PyObject *)__pyx_2);
19533     __pyx_2 = 0;
19534
19535     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":146
19536  *             active = {}
19537  *             c_status = status.purple_presence_get_active_status( \
19538  *                     blist.purple_buddy_get_presence(self._get_structure()))             # <<<<<<<<<<<<<<
19539  *             type = <char *> status.purple_status_get_id(c_status)
19540  *             name = <char *> status.purple_status_get_name(c_status)
19541  */
19542     __pyx_v_c_status = purple_presence_get_active_status(purple_buddy_get_presence(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self))));
19543
19544     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":147
19545  *             c_status = status.purple_presence_get_active_status( \
19546  *                     blist.purple_buddy_get_presence(self._get_structure()))
19547  *             type = <char *> status.purple_status_get_id(c_status)             # <<<<<<<<<<<<<<
19548  *             name = <char *> status.purple_status_get_name(c_status)
19549  *             msg = <char *> status.purple_status_get_attr_string(c_status,
19550  */
19551     __pyx_v_type = ((char *)purple_status_get_id(__pyx_v_c_status));
19552
19553     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":148
19554  *                     blist.purple_buddy_get_presence(self._get_structure()))
19555  *             type = <char *> status.purple_status_get_id(c_status)
19556  *             name = <char *> status.purple_status_get_name(c_status)             # <<<<<<<<<<<<<<
19557  *             msg = <char *> status.purple_status_get_attr_string(c_status,
19558  *                 "message")
19559  */
19560     __pyx_v_name = ((char *)purple_status_get_name(__pyx_v_c_status));
19561
19562     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":150
19563  *             name = <char *> status.purple_status_get_name(c_status)
19564  *             msg = <char *> status.purple_status_get_attr_string(c_status,
19565  *                 "message")             # <<<<<<<<<<<<<<
19566  * 
19567  *             active['type'] = type
19568  */
19569     __pyx_v_msg = ((char *)purple_status_get_attr_string(__pyx_v_c_status, __pyx_k_458));
19570
19571     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":152
19572  *                 "message")
19573  * 
19574  *             active['type'] = type             # <<<<<<<<<<<<<<
19575  *             active['name'] = name
19576  *             if msg:
19577  */
19578     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_type); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1;}
19579     if (PyObject_SetItem(__pyx_v_active, __pyx_kp_459, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1;}
19580     Py_DECREF(__pyx_2); __pyx_2 = 0;
19581
19582     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":153
19583  * 
19584  *             active['type'] = type
19585  *             active['name'] = name             # <<<<<<<<<<<<<<
19586  *             if msg:
19587  *                 active['message'] = msg
19588  */
19589     __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1;}
19590     if (PyObject_SetItem(__pyx_v_active, __pyx_kp_460, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1;}
19591     Py_DECREF(__pyx_2); __pyx_2 = 0;
19592
19593     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":154
19594  *             active['type'] = type
19595  *             active['name'] = name
19596  *             if msg:             # <<<<<<<<<<<<<<
19597  *                 active['message'] = msg
19598  * 
19599  */
19600     __pyx_1 = (__pyx_v_msg != 0);
19601     if (__pyx_1) {
19602
19603       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":155
19604  *             active['name'] = name
19605  *             if msg:
19606  *                 active['message'] = msg             # <<<<<<<<<<<<<<
19607  * 
19608  *             return active
19609  */
19610       __pyx_2 = __Pyx_PyBytes_FromString(__pyx_v_msg); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
19611       if (PyObject_SetItem(__pyx_v_active, __pyx_kp_461, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1;}
19612       Py_DECREF(__pyx_2); __pyx_2 = 0;
19613       goto __pyx_L5;
19614     }
19615     __pyx_L5:;
19616
19617     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":157
19618  *                 active['message'] = msg
19619  * 
19620  *             return active             # <<<<<<<<<<<<<<
19621  *         else:
19622  *             return None
19623  */
19624     Py_INCREF(__pyx_v_active);
19625     __pyx_r = __pyx_v_active;
19626     goto __pyx_L0;
19627     goto __pyx_L4;
19628   }
19629   /*else*/ {
19630
19631     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":159
19632  *             return active
19633  *         else:
19634  *             return None             # <<<<<<<<<<<<<<
19635  *     active_status = property(__get_active_status)
19636  * 
19637  */
19638     Py_INCREF(Py_None);
19639     __pyx_r = Py_None;
19640     goto __pyx_L0;
19641   }
19642   __pyx_L4:;
19643
19644   __pyx_r = Py_None; Py_INCREF(Py_None);
19645   goto __pyx_L0;
19646   __pyx_L1:;
19647   Py_XDECREF(__pyx_2);
19648   __Pyx_AddTraceback("purple.Buddy.__get_active_status");
19649   __pyx_r = NULL;
19650   __pyx_L0:;
19651   Py_DECREF(__pyx_v_active);
19652   return __pyx_r;
19653 }
19654
19655 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":162
19656  *     active_status = property(__get_active_status)
19657  * 
19658  *     def set_alias(self, alias):             # <<<<<<<<<<<<<<
19659  *         if self.__exists:
19660  *             blist.purple_blist_alias_buddy(self._get_structure(), alias)
19661  */
19662
19663 static PyObject *__pyx_pf_6purple_5Buddy_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
19664 static PyObject *__pyx_pf_6purple_5Buddy_set_alias(PyObject *__pyx_v_self, PyObject *__pyx_v_alias) {
19665   PyObject *__pyx_r;
19666   int __pyx_1;
19667   char *__pyx_2;
19668
19669   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":163
19670  * 
19671  *     def set_alias(self, alias):
19672  *         if self.__exists:             # <<<<<<<<<<<<<<
19673  *             blist.purple_blist_alias_buddy(self._get_structure(), alias)
19674  *             return True
19675  */
19676   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1;}
19677   if (__pyx_1) {
19678
19679     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":164
19680  *     def set_alias(self, alias):
19681  *         if self.__exists:
19682  *             blist.purple_blist_alias_buddy(self._get_structure(), alias)             # <<<<<<<<<<<<<<
19683  *             return True
19684  *         else:
19685  */
19686     __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_alias); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1;}
19687     purple_blist_alias_buddy(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)), __pyx_2);
19688
19689     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":165
19690  *         if self.__exists:
19691  *             blist.purple_blist_alias_buddy(self._get_structure(), alias)
19692  *             return True             # <<<<<<<<<<<<<<
19693  *         else:
19694  *             return False
19695  */
19696     Py_INCREF(Py_True);
19697     __pyx_r = Py_True;
19698     goto __pyx_L0;
19699     goto __pyx_L4;
19700   }
19701   /*else*/ {
19702
19703     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":167
19704  *             return True
19705  *         else:
19706  *             return False             # <<<<<<<<<<<<<<
19707  * 
19708  *     def set_group(self, group):
19709  */
19710     Py_INCREF(Py_False);
19711     __pyx_r = Py_False;
19712     goto __pyx_L0;
19713   }
19714   __pyx_L4:;
19715
19716   __pyx_r = Py_None; Py_INCREF(Py_None);
19717   goto __pyx_L0;
19718   __pyx_L1:;
19719   __Pyx_AddTraceback("purple.Buddy.set_alias");
19720   __pyx_r = NULL;
19721   __pyx_L0:;
19722   return __pyx_r;
19723 }
19724
19725 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":169
19726  *             return False
19727  * 
19728  *     def set_group(self, group):             # <<<<<<<<<<<<<<
19729  *         cdef blist.PurpleContact *c_contact = NULL
19730  *         cdef blist.PurpleGroup *c_group = NULL
19731  */
19732
19733 static PyObject *__pyx_pf_6purple_5Buddy_set_group(PyObject *__pyx_v_self, PyObject *__pyx_v_group); /*proto*/
19734 static PyObject *__pyx_pf_6purple_5Buddy_set_group(PyObject *__pyx_v_self, PyObject *__pyx_v_group) {
19735   PurpleContact *__pyx_v_c_contact;
19736   PurpleGroup *__pyx_v_c_group;
19737   PyObject *__pyx_r;
19738   PyObject *__pyx_1 = 0;
19739   int __pyx_2;
19740   char *__pyx_3;
19741
19742   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":170
19743  * 
19744  *     def set_group(self, group):
19745  *         cdef blist.PurpleContact *c_contact = NULL             # <<<<<<<<<<<<<<
19746  *         cdef blist.PurpleGroup *c_group = NULL
19747  *         if self.__exists and group:
19748  */
19749   __pyx_v_c_contact = NULL;
19750
19751
19752   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":171
19753  *     def set_group(self, group):
19754  *         cdef blist.PurpleContact *c_contact = NULL
19755  *         cdef blist.PurpleGroup *c_group = NULL             # <<<<<<<<<<<<<<
19756  *         if self.__exists and group:
19757  *             c_group = blist.purple_find_group(group)
19758  */
19759   __pyx_v_c_group = NULL;
19760
19761
19762   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":172
19763  *         cdef blist.PurpleContact *c_contact = NULL
19764  *         cdef blist.PurpleGroup *c_group = NULL
19765  *         if self.__exists and group:             # <<<<<<<<<<<<<<
19766  *             c_group = blist.purple_find_group(group)
19767  *             if c_group == NULL:
19768  */
19769   __pyx_1 = ((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__exists;
19770   Py_INCREF(__pyx_1);
19771   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
19772   if (__pyx_2) {
19773     Py_DECREF(__pyx_1); __pyx_1 = 0;
19774     __pyx_1 = __pyx_v_group;
19775     Py_INCREF(__pyx_1);
19776   }
19777   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1;}
19778   Py_DECREF(__pyx_1); __pyx_1 = 0;
19779   if (__pyx_2) {
19780
19781     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":173
19782  *         cdef blist.PurpleGroup *c_group = NULL
19783  *         if self.__exists and group:
19784  *             c_group = blist.purple_find_group(group)             # <<<<<<<<<<<<<<
19785  *             if c_group == NULL:
19786  *                 c_group = blist.purple_group_new(group)
19787  */
19788     __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1;}
19789     __pyx_v_c_group = purple_find_group(__pyx_3);
19790
19791     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":174
19792  *         if self.__exists and group:
19793  *             c_group = blist.purple_find_group(group)
19794  *             if c_group == NULL:             # <<<<<<<<<<<<<<
19795  *                 c_group = blist.purple_group_new(group)
19796  * 
19797  */
19798     __pyx_2 = (__pyx_v_c_group == NULL);
19799     if (__pyx_2) {
19800
19801       /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":175
19802  *             c_group = blist.purple_find_group(group)
19803  *             if c_group == NULL:
19804  *                 c_group = blist.purple_group_new(group)             # <<<<<<<<<<<<<<
19805  * 
19806  *             c_contact = blist.purple_buddy_get_contact(self._get_structure())
19807  */
19808       __pyx_3 = __Pyx_PyBytes_AsString(__pyx_v_group); if (unlikely((!__pyx_3) && PyErr_Occurred())) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1;}
19809       __pyx_v_c_group = purple_group_new(__pyx_3);
19810       goto __pyx_L5;
19811     }
19812     __pyx_L5:;
19813
19814     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":177
19815  *                 c_group = blist.purple_group_new(group)
19816  * 
19817  *             c_contact = blist.purple_buddy_get_contact(self._get_structure())             # <<<<<<<<<<<<<<
19818  *             blist.purple_blist_add_contact(c_contact, c_group, NULL)
19819  *             return True
19820  */
19821     __pyx_v_c_contact = purple_buddy_get_contact(((struct __pyx_vtabstruct_6purple_Buddy *)((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Buddy *)__pyx_v_self)));
19822
19823     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":178
19824  * 
19825  *             c_contact = blist.purple_buddy_get_contact(self._get_structure())
19826  *             blist.purple_blist_add_contact(c_contact, c_group, NULL)             # <<<<<<<<<<<<<<
19827  *             return True
19828  *         else:
19829  */
19830     purple_blist_add_contact(__pyx_v_c_contact, __pyx_v_c_group, NULL);
19831
19832     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":179
19833  *             c_contact = blist.purple_buddy_get_contact(self._get_structure())
19834  *             blist.purple_blist_add_contact(c_contact, c_group, NULL)
19835  *             return True             # <<<<<<<<<<<<<<
19836  *         else:
19837  *             return False
19838  */
19839     Py_INCREF(Py_True);
19840     __pyx_r = Py_True;
19841     goto __pyx_L0;
19842     goto __pyx_L4;
19843   }
19844   /*else*/ {
19845
19846     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":181
19847  *             return True
19848  *         else:
19849  *             return False             # <<<<<<<<<<<<<<
19850  */
19851     Py_INCREF(Py_False);
19852     __pyx_r = Py_False;
19853     goto __pyx_L0;
19854   }
19855   __pyx_L4:;
19856
19857   __pyx_r = Py_None; Py_INCREF(Py_None);
19858   goto __pyx_L0;
19859   __pyx_L1:;
19860   Py_XDECREF(__pyx_1);
19861   __Pyx_AddTraceback("purple.Buddy.set_group");
19862   __pyx_r = NULL;
19863   __pyx_L0:;
19864   return __pyx_r;
19865 }
19866
19867 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":35
19868  *     cdef object __exists
19869  * 
19870  *     def __init__(self, type, account, name):             # <<<<<<<<<<<<<<
19871  *         self.__type = {
19872  *             "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN,
19873  */
19874
19875 static char __pyx_k_462[] = "UNKNOWN";
19876 static char __pyx_k_463[] = "IM";
19877 static char __pyx_k_464[] = "CHAT";
19878 static char __pyx_k_465[] = "MISC";
19879 static char __pyx_k_466[] = "ANY";
19880
19881 static PyObject *__pyx_kp_462;
19882 static PyObject *__pyx_kp_463;
19883 static PyObject *__pyx_kp_464;
19884 static PyObject *__pyx_kp_465;
19885 static PyObject *__pyx_kp_466;
19886
19887
19888
19889 static int __pyx_pf_6purple_12Conversation___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
19890 static int __pyx_pf_6purple_12Conversation___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
19891   PyObject *__pyx_v_type = 0;
19892   PyObject *__pyx_v_account = 0;
19893   PyObject *__pyx_v_name = 0;
19894   int __pyx_r;
19895   PyObject *__pyx_1 = 0;
19896   PyObject *__pyx_2 = 0;
19897   int __pyx_3;
19898   static char *__pyx_argnames[] = {"type","account","name",0};
19899   if (likely(!__pyx_kwds) && likely(PyTuple_GET_SIZE(__pyx_args) == 3)) {
19900     __pyx_v_type = PyTuple_GET_ITEM(__pyx_args, 0);
19901     __pyx_v_account = PyTuple_GET_ITEM(__pyx_args, 1);
19902     __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 2);
19903   }
19904   else {
19905     if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OOO", __pyx_argnames, &__pyx_v_type, &__pyx_v_account, &__pyx_v_name))) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L2;}
19906   }
19907   goto __pyx_L3;
19908   __pyx_L2:;
19909   __Pyx_AddTraceback("purple.Conversation.__init__");
19910   return -1;
19911   __pyx_L3:;
19912
19913   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":41
19914  *             "CHAT": conversation.PURPLE_CONV_TYPE_CHAT,
19915  *             "MISC": conversation.PURPLE_CONV_TYPE_MISC,
19916  *             "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type]             # <<<<<<<<<<<<<<
19917  *         self.__account = account
19918  *         self.__name = name
19919  */
19920   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
19921
19922   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":37
19923  *     def __init__(self, type, account, name):
19924  *         self.__type = {
19925  *             "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN,             # <<<<<<<<<<<<<<
19926  *             "IM": conversation.PURPLE_CONV_TYPE_IM,
19927  *             "CHAT": conversation.PURPLE_CONV_TYPE_CHAT,
19928  */
19929   __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_UNKNOWN); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1;}
19930   if (PyDict_SetItem(__pyx_1, __pyx_kp_462, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
19931   Py_DECREF(__pyx_2); __pyx_2 = 0;
19932
19933   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":38
19934  *         self.__type = {
19935  *             "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN,
19936  *             "IM": conversation.PURPLE_CONV_TYPE_IM,             # <<<<<<<<<<<<<<
19937  *             "CHAT": conversation.PURPLE_CONV_TYPE_CHAT,
19938  *             "MISC": conversation.PURPLE_CONV_TYPE_MISC,
19939  */
19940   __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_IM); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1;}
19941   if (PyDict_SetItem(__pyx_1, __pyx_kp_463, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
19942   Py_DECREF(__pyx_2); __pyx_2 = 0;
19943
19944   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":39
19945  *             "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN,
19946  *             "IM": conversation.PURPLE_CONV_TYPE_IM,
19947  *             "CHAT": conversation.PURPLE_CONV_TYPE_CHAT,             # <<<<<<<<<<<<<<
19948  *             "MISC": conversation.PURPLE_CONV_TYPE_MISC,
19949  *             "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type]
19950  */
19951   __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_CHAT); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1;}
19952   if (PyDict_SetItem(__pyx_1, __pyx_kp_464, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
19953   Py_DECREF(__pyx_2); __pyx_2 = 0;
19954
19955   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":40
19956  *             "IM": conversation.PURPLE_CONV_TYPE_IM,
19957  *             "CHAT": conversation.PURPLE_CONV_TYPE_CHAT,
19958  *             "MISC": conversation.PURPLE_CONV_TYPE_MISC,             # <<<<<<<<<<<<<<
19959  *             "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type]
19960  *         self.__account = account
19961  */
19962   __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_MISC); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1;}
19963   if (PyDict_SetItem(__pyx_1, __pyx_kp_465, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
19964   Py_DECREF(__pyx_2); __pyx_2 = 0;
19965
19966   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":41
19967  *             "CHAT": conversation.PURPLE_CONV_TYPE_CHAT,
19968  *             "MISC": conversation.PURPLE_CONV_TYPE_MISC,
19969  *             "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type]             # <<<<<<<<<<<<<<
19970  *         self.__account = account
19971  *         self.__name = name
19972  */
19973   __pyx_2 = PyInt_FromLong(PURPLE_CONV_TYPE_ANY); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
19974   if (PyDict_SetItem(__pyx_1, __pyx_kp_466, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
19975   Py_DECREF(__pyx_2); __pyx_2 = 0;
19976   __pyx_2 = PyObject_GetItem(((PyObject *)__pyx_1), __pyx_v_type); if (!__pyx_2) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
19977   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
19978
19979   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":36
19980  * 
19981  *     def __init__(self, type, account, name):
19982  *         self.__type = {             # <<<<<<<<<<<<<<
19983  *             "UNKNOWN": conversation.PURPLE_CONV_TYPE_UNKNOWN,
19984  *             "IM": conversation.PURPLE_CONV_TYPE_IM,
19985  */
19986   Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type);
19987   ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type = __pyx_2;
19988   __pyx_2 = 0;
19989
19990   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":42
19991  *             "MISC": conversation.PURPLE_CONV_TYPE_MISC,
19992  *             "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type]
19993  *         self.__account = account             # <<<<<<<<<<<<<<
19994  *         self.__name = name
19995  * 
19996  */
19997   Py_INCREF(__pyx_v_account);
19998   Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account);
19999   ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account = __pyx_v_account;
20000
20001   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":43
20002  *             "ANY": conversation.PURPLE_CONV_TYPE_ANY }[type]
20003  *         self.__account = account
20004  *         self.__name = name             # <<<<<<<<<<<<<<
20005  * 
20006  *         if self._get_structure() != NULL:
20007  */
20008   Py_INCREF(__pyx_v_name);
20009   Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__name);
20010   ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__name = __pyx_v_name;
20011
20012   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":45
20013  *         self.__name = name
20014  * 
20015  *         if self._get_structure() != NULL:             # <<<<<<<<<<<<<<
20016  *             self.__exists = True
20017  *         else:
20018  */
20019   __pyx_3 = (((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)) != NULL);
20020   if (__pyx_3) {
20021
20022     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":46
20023  * 
20024  *         if self._get_structure() != NULL:
20025  *             self.__exists = True             # <<<<<<<<<<<<<<
20026  *         else:
20027  *             self.__exists = False
20028  */
20029     Py_INCREF(Py_True);
20030     Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists);
20031     ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = Py_True;
20032     goto __pyx_L4;
20033   }
20034   /*else*/ {
20035
20036     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":48
20037  *             self.__exists = True
20038  *         else:
20039  *             self.__exists = False             # <<<<<<<<<<<<<<
20040  * 
20041  *     cdef conversation.PurpleConversation *_get_structure(self):
20042  */
20043     Py_INCREF(Py_False);
20044     Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists);
20045     ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = Py_False;
20046   }
20047   __pyx_L4:;
20048
20049   __pyx_r = 0;
20050   goto __pyx_L0;
20051   __pyx_L1:;
20052   Py_XDECREF(__pyx_1);
20053   Py_XDECREF(__pyx_2);
20054   __Pyx_AddTraceback("purple.Conversation.__init__");
20055   __pyx_r = -1;
20056   __pyx_L0:;
20057   return __pyx_r;
20058 }
20059
20060 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":50
20061  *             self.__exists = False
20062  * 
20063  *     cdef conversation.PurpleConversation *_get_structure(self):             # <<<<<<<<<<<<<<
20064  *         return conversation.purple_find_conversation_with_account( \
20065  *             self.__type, self.__name, account.purple_accounts_find( \
20066  */
20067
20068 static  PurpleConversation *__pyx_f_6purple_12Conversation__get_structure(struct __pyx_obj_6purple_Conversation *__pyx_v_self) {
20069   PurpleConversation *__pyx_r;
20070   PurpleConversationType __pyx_1;
20071   char *__pyx_2;
20072   PyObject *__pyx_3 = 0;
20073   char *__pyx_4;
20074   PyObject *__pyx_5 = 0;
20075   char *__pyx_6;
20076
20077   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":52
20078  *     cdef conversation.PurpleConversation *_get_structure(self):
20079  *         return conversation.purple_find_conversation_with_account( \
20080  *             self.__type, self.__name, account.purple_accounts_find( \             # <<<<<<<<<<<<<<
20081  *             self.__account.username, self.__account.protocol.id))
20082  * 
20083  */
20084   __pyx_1 = ((PurpleConversationType)PyInt_AsLong(__pyx_v_self->__type)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1;}
20085   __pyx_2 = __Pyx_PyBytes_AsString(__pyx_v_self->__name); if (unlikely((!__pyx_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1;}
20086
20087   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":53
20088  *         return conversation.purple_find_conversation_with_account( \
20089  *             self.__type, self.__name, account.purple_accounts_find( \
20090  *             self.__account.username, self.__account.protocol.id))             # <<<<<<<<<<<<<<
20091  * 
20092  *     def __get_exists(self):
20093  */
20094   __pyx_3 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_username); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
20095   __pyx_4 = __Pyx_PyBytes_AsString(__pyx_3); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
20096   Py_DECREF(__pyx_3); __pyx_3 = 0;
20097   __pyx_3 = PyObject_GetAttr(__pyx_v_self->__account, __pyx_kp_protocol); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
20098   __pyx_5 = PyObject_GetAttr(__pyx_3, __pyx_kp_id); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
20099   Py_DECREF(__pyx_3); __pyx_3 = 0;
20100   __pyx_6 = __Pyx_PyBytes_AsString(__pyx_5); if (unlikely((!__pyx_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1;}
20101   Py_DECREF(__pyx_5); __pyx_5 = 0;
20102   __pyx_r = purple_find_conversation_with_account(__pyx_1, __pyx_2, purple_accounts_find(__pyx_4, __pyx_6));
20103   goto __pyx_L0;
20104
20105   __pyx_r = 0;
20106   goto __pyx_L0;
20107   __pyx_L1:;
20108   Py_XDECREF(__pyx_3);
20109   Py_XDECREF(__pyx_5);
20110   __Pyx_WriteUnraisable("purple.Conversation._get_structure");
20111   __pyx_r = 0;
20112   __pyx_L0:;
20113   return __pyx_r;
20114 }
20115
20116 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":55
20117  *             self.__account.username, self.__account.protocol.id))
20118  * 
20119  *     def __get_exists(self):             # <<<<<<<<<<<<<<
20120  *         return self.__exists
20121  *     exists = property(__get_exists)
20122  */
20123
20124 static PyObject *__pyx_pf_6purple_12Conversation___get_exists(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
20125 static PyObject *__pyx_pf_6purple_12Conversation___get_exists(PyObject *__pyx_v_self, PyObject *unused) {
20126   PyObject *__pyx_r;
20127
20128   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":56
20129  * 
20130  *     def __get_exists(self):
20131  *         return self.__exists             # <<<<<<<<<<<<<<
20132  *     exists = property(__get_exists)
20133  * 
20134  */
20135   Py_INCREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists);
20136   __pyx_r = ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists;
20137   goto __pyx_L0;
20138
20139   __pyx_r = Py_None; Py_INCREF(Py_None);
20140   __pyx_L0:;
20141   return __pyx_r;
20142 }
20143
20144 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":59
20145  *     exists = property(__get_exists)
20146  * 
20147  *     def __get_account(self):             # <<<<<<<<<<<<<<
20148  *         if self.__exists:
20149  *             return self.__account
20150  */
20151
20152 static PyObject *__pyx_pf_6purple_12Conversation___get_account(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
20153 static PyObject *__pyx_pf_6purple_12Conversation___get_account(PyObject *__pyx_v_self, PyObject *unused) {
20154   PyObject *__pyx_r;
20155   int __pyx_1;
20156
20157   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":60
20158  * 
20159  *     def __get_account(self):
20160  *         if self.__exists:             # <<<<<<<<<<<<<<
20161  *             return self.__account
20162  *         else:
20163  */
20164   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1;}
20165   if (__pyx_1) {
20166
20167     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":61
20168  *     def __get_account(self):
20169  *         if self.__exists:
20170  *             return self.__account             # <<<<<<<<<<<<<<
20171  *         else:
20172  *             return None
20173  */
20174     Py_INCREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account);
20175     __pyx_r = ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account;
20176     goto __pyx_L0;
20177     goto __pyx_L4;
20178   }
20179   /*else*/ {
20180
20181     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":63
20182  *             return self.__account
20183  *         else:
20184  *             return None             # <<<<<<<<<<<<<<
20185  *     account = property(__get_account)
20186  * 
20187  */
20188     Py_INCREF(Py_None);
20189     __pyx_r = Py_None;
20190     goto __pyx_L0;
20191   }
20192   __pyx_L4:;
20193
20194   __pyx_r = Py_None; Py_INCREF(Py_None);
20195   goto __pyx_L0;
20196   __pyx_L1:;
20197   __Pyx_AddTraceback("purple.Conversation.__get_account");
20198   __pyx_r = NULL;
20199   __pyx_L0:;
20200   return __pyx_r;
20201 }
20202
20203 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":66
20204  *     account = property(__get_account)
20205  * 
20206  *     def __get_name(self):             # <<<<<<<<<<<<<<
20207  *         if self.__exists:
20208  *             return <char *> conversation.purple_conversation_get_name( \
20209  */
20210
20211 static PyObject *__pyx_pf_6purple_12Conversation___get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
20212 static PyObject *__pyx_pf_6purple_12Conversation___get_name(PyObject *__pyx_v_self, PyObject *unused) {
20213   PyObject *__pyx_r;
20214   int __pyx_1;
20215   PyObject *__pyx_2 = 0;
20216
20217   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":67
20218  * 
20219  *     def __get_name(self):
20220  *         if self.__exists:             # <<<<<<<<<<<<<<
20221  *             return <char *> conversation.purple_conversation_get_name( \
20222  *                     self._get_structure())
20223  */
20224   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1;}
20225   if (__pyx_1) {
20226
20227     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":69
20228  *         if self.__exists:
20229  *             return <char *> conversation.purple_conversation_get_name( \
20230  *                     self._get_structure())             # <<<<<<<<<<<<<<
20231  *         else:
20232  *             return None
20233  */
20234     __pyx_2 = __Pyx_PyBytes_FromString(((char *)purple_conversation_get_name(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self))))); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1;}
20235     __pyx_r = __pyx_2;
20236     __pyx_2 = 0;
20237     goto __pyx_L0;
20238     goto __pyx_L4;
20239   }
20240   /*else*/ {
20241
20242     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":71
20243  *                     self._get_structure())
20244  *         else:
20245  *             return None             # <<<<<<<<<<<<<<
20246  *     name = property(__get_name)
20247  * 
20248  */
20249     Py_INCREF(Py_None);
20250     __pyx_r = Py_None;
20251     goto __pyx_L0;
20252   }
20253   __pyx_L4:;
20254
20255   __pyx_r = Py_None; Py_INCREF(Py_None);
20256   goto __pyx_L0;
20257   __pyx_L1:;
20258   Py_XDECREF(__pyx_2);
20259   __Pyx_AddTraceback("purple.Conversation.__get_name");
20260   __pyx_r = NULL;
20261   __pyx_L0:;
20262   return __pyx_r;
20263 }
20264
20265 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":74
20266  *     name = property(__get_name)
20267  * 
20268  *     def new(self):             # <<<<<<<<<<<<<<
20269  *         """
20270  *         Creates a new conversation.
20271  */
20272
20273 static PyObject *__pyx_pf_6purple_12Conversation_new(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
20274 static char __pyx_doc_6purple_12Conversation_new[] = "\n        Creates a new conversation.\n\n        @return True if successful, False if conversation already exists\n        ";
20275 static PyObject *__pyx_pf_6purple_12Conversation_new(PyObject *__pyx_v_self, PyObject *unused) {
20276   PyObject *__pyx_r;
20277   int __pyx_1;
20278   int __pyx_2;
20279   PyObject *__pyx_3 = 0;
20280   char *__pyx_4;
20281   PyObject *__pyx_5 = 0;
20282   char *__pyx_6;
20283   char *__pyx_7;
20284
20285   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":80
20286  *         @return True if successful, False if conversation already exists
20287  *         """
20288  *         if self.__exists:             # <<<<<<<<<<<<<<
20289  *             return False
20290  *         else:
20291  */
20292   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1;}
20293   if (__pyx_1) {
20294
20295     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":81
20296  *         """
20297  *         if self.__exists:
20298  *             return False             # <<<<<<<<<<<<<<
20299  *         else:
20300  *             conversation.purple_conversation_new(self.__type, \
20301  */
20302     Py_INCREF(Py_False);
20303     __pyx_r = Py_False;
20304     goto __pyx_L0;
20305     goto __pyx_L4;
20306   }
20307   /*else*/ {
20308
20309     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":83
20310  *             return False
20311  *         else:
20312  *             conversation.purple_conversation_new(self.__type, \             # <<<<<<<<<<<<<<
20313  *                     account.purple_accounts_find(self.__account.username, \
20314  *                     self.__account.protocol.id), self.__name)
20315  */
20316     __pyx_2 = __pyx_PyInt_int(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type); if (unlikely((__pyx_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1;}
20317
20318     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":84
20319  *         else:
20320  *             conversation.purple_conversation_new(self.__type, \
20321  *                     account.purple_accounts_find(self.__account.username, \             # <<<<<<<<<<<<<<
20322  *                     self.__account.protocol.id), self.__name)
20323  *             self.__exists = True
20324  */
20325     __pyx_3 = PyObject_GetAttr(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account, __pyx_kp_username); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
20326     __pyx_4 = __Pyx_PyBytes_AsString(__pyx_3); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1;}
20327     Py_DECREF(__pyx_3); __pyx_3 = 0;
20328
20329     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":85
20330  *             conversation.purple_conversation_new(self.__type, \
20331  *                     account.purple_accounts_find(self.__account.username, \
20332  *                     self.__account.protocol.id), self.__name)             # <<<<<<<<<<<<<<
20333  *             self.__exists = True
20334  *             return True
20335  */
20336     __pyx_3 = PyObject_GetAttr(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__account, __pyx_kp_protocol); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
20337     __pyx_5 = PyObject_GetAttr(__pyx_3, __pyx_kp_id); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
20338     Py_DECREF(__pyx_3); __pyx_3 = 0;
20339     __pyx_6 = __Pyx_PyBytes_AsString(__pyx_5); if (unlikely((!__pyx_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
20340     Py_DECREF(__pyx_5); __pyx_5 = 0;
20341     __pyx_7 = __Pyx_PyBytes_AsString(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__name); if (unlikely((!__pyx_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1;}
20342     purple_conversation_new(__pyx_2, purple_accounts_find(__pyx_4, __pyx_6), __pyx_7);
20343
20344     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":86
20345  *                     account.purple_accounts_find(self.__account.username, \
20346  *                     self.__account.protocol.id), self.__name)
20347  *             self.__exists = True             # <<<<<<<<<<<<<<
20348  *             return True
20349  * 
20350  */
20351     Py_INCREF(Py_True);
20352     Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists);
20353     ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = Py_True;
20354
20355     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":87
20356  *                     self.__account.protocol.id), self.__name)
20357  *             self.__exists = True
20358  *             return True             # <<<<<<<<<<<<<<
20359  * 
20360  *     def destroy(self):
20361  */
20362     Py_INCREF(Py_True);
20363     __pyx_r = Py_True;
20364     goto __pyx_L0;
20365   }
20366   __pyx_L4:;
20367
20368   __pyx_r = Py_None; Py_INCREF(Py_None);
20369   goto __pyx_L0;
20370   __pyx_L1:;
20371   Py_XDECREF(__pyx_3);
20372   Py_XDECREF(__pyx_5);
20373   __Pyx_AddTraceback("purple.Conversation.new");
20374   __pyx_r = NULL;
20375   __pyx_L0:;
20376   return __pyx_r;
20377 }
20378
20379 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":89
20380  *             return True
20381  * 
20382  *     def destroy(self):             # <<<<<<<<<<<<<<
20383  *         """
20384  *         Destroys a conversation.
20385  */
20386
20387 static PyObject *__pyx_pf_6purple_12Conversation_destroy(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
20388 static char __pyx_doc_6purple_12Conversation_destroy[] = "\n        Destroys a conversation.\n\n        @return True if successful, False if conversation doesn\'t exists\n        ";
20389 static PyObject *__pyx_pf_6purple_12Conversation_destroy(PyObject *__pyx_v_self, PyObject *unused) {
20390   PyObject *__pyx_r;
20391   int __pyx_1;
20392
20393   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":95
20394  *         @return True if successful, False if conversation doesn't exists
20395  *         """
20396  *         if self.__exists:             # <<<<<<<<<<<<<<
20397  *             conversation.purple_conversation_destroy(self._get_structure())
20398  *             self.__exists = False
20399  */
20400   __pyx_1 = __Pyx_PyObject_IsTrue(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists); if (unlikely(__pyx_1 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1;}
20401   if (__pyx_1) {
20402
20403     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":96
20404  *         """
20405  *         if self.__exists:
20406  *             conversation.purple_conversation_destroy(self._get_structure())             # <<<<<<<<<<<<<<
20407  *             self.__exists = False
20408  *             return True
20409  */
20410     purple_conversation_destroy(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)));
20411
20412     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":97
20413  *         if self.__exists:
20414  *             conversation.purple_conversation_destroy(self._get_structure())
20415  *             self.__exists = False             # <<<<<<<<<<<<<<
20416  *             return True
20417  *         else:
20418  */
20419     Py_INCREF(Py_False);
20420     Py_DECREF(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists);
20421     ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists = Py_False;
20422
20423     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":98
20424  *             conversation.purple_conversation_destroy(self._get_structure())
20425  *             self.__exists = False
20426  *             return True             # <<<<<<<<<<<<<<
20427  *         else:
20428  *             return False
20429  */
20430     Py_INCREF(Py_True);
20431     __pyx_r = Py_True;
20432     goto __pyx_L0;
20433     goto __pyx_L4;
20434   }
20435   /*else*/ {
20436
20437     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":100
20438  *             return True
20439  *         else:
20440  *             return False             # <<<<<<<<<<<<<<
20441  * 
20442  *     def set_ui_ops(self, cbs):
20443  */
20444     Py_INCREF(Py_False);
20445     __pyx_r = Py_False;
20446     goto __pyx_L0;
20447   }
20448   __pyx_L4:;
20449
20450   __pyx_r = Py_None; Py_INCREF(Py_None);
20451   goto __pyx_L0;
20452   __pyx_L1:;
20453   __Pyx_AddTraceback("purple.Conversation.destroy");
20454   __pyx_r = NULL;
20455   __pyx_L0:;
20456   return __pyx_r;
20457 }
20458
20459 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":102
20460  *             return False
20461  * 
20462  *     def set_ui_ops(self, cbs):             # <<<<<<<<<<<<<<
20463  *         """
20464  *         Sets UI operations for a conversation.
20465  */
20466
20467 static PyObject *__pyx_pf_6purple_12Conversation_set_ui_ops(PyObject *__pyx_v_self, PyObject *__pyx_v_cbs); /*proto*/
20468 static char __pyx_doc_6purple_12Conversation_set_ui_ops[] = "\n        Sets UI operations for a conversation.\n\n        @return True if sucessful, False otherwise\n        ";
20469 static PyObject *__pyx_pf_6purple_12Conversation_set_ui_ops(PyObject *__pyx_v_self, PyObject *__pyx_v_cbs) {
20470   PurpleConversationUiOps __pyx_v_c_conv_ui_ops;
20471   PyObject *__pyx_r;
20472
20473   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":111
20474  *         cdef conversation.PurpleConversationUiOps c_conv_ui_ops
20475  * 
20476  *         c_conv_ui_ops.create_conversation = NULL             # <<<<<<<<<<<<<<
20477  *         c_conv_ui_ops.destroy_conversation = NULL
20478  *         c_conv_ui_ops.write_chat = NULL
20479  */
20480   __pyx_v_c_conv_ui_ops.create_conversation = NULL;
20481
20482   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":112
20483  * 
20484  *         c_conv_ui_ops.create_conversation = NULL
20485  *         c_conv_ui_ops.destroy_conversation = NULL             # <<<<<<<<<<<<<<
20486  *         c_conv_ui_ops.write_chat = NULL
20487  *         c_conv_ui_ops.write_im = NULL
20488  */
20489   __pyx_v_c_conv_ui_ops.destroy_conversation = NULL;
20490
20491   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":113
20492  *         c_conv_ui_ops.create_conversation = NULL
20493  *         c_conv_ui_ops.destroy_conversation = NULL
20494  *         c_conv_ui_ops.write_chat = NULL             # <<<<<<<<<<<<<<
20495  *         c_conv_ui_ops.write_im = NULL
20496  *         c_conv_ui_ops.write_conv = NULL
20497  */
20498   __pyx_v_c_conv_ui_ops.write_chat = NULL;
20499
20500   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":114
20501  *         c_conv_ui_ops.destroy_conversation = NULL
20502  *         c_conv_ui_ops.write_chat = NULL
20503  *         c_conv_ui_ops.write_im = NULL             # <<<<<<<<<<<<<<
20504  *         c_conv_ui_ops.write_conv = NULL
20505  *         c_conv_ui_ops.chat_add_users = NULL
20506  */
20507   __pyx_v_c_conv_ui_ops.write_im = NULL;
20508
20509   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":115
20510  *         c_conv_ui_ops.write_chat = NULL
20511  *         c_conv_ui_ops.write_im = NULL
20512  *         c_conv_ui_ops.write_conv = NULL             # <<<<<<<<<<<<<<
20513  *         c_conv_ui_ops.chat_add_users = NULL
20514  *         c_conv_ui_ops.chat_rename_user = NULL
20515  */
20516   __pyx_v_c_conv_ui_ops.write_conv = NULL;
20517
20518   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":116
20519  *         c_conv_ui_ops.write_im = NULL
20520  *         c_conv_ui_ops.write_conv = NULL
20521  *         c_conv_ui_ops.chat_add_users = NULL             # <<<<<<<<<<<<<<
20522  *         c_conv_ui_ops.chat_rename_user = NULL
20523  *         c_conv_ui_ops.chat_remove_users = NULL
20524  */
20525   __pyx_v_c_conv_ui_ops.chat_add_users = NULL;
20526
20527   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":117
20528  *         c_conv_ui_ops.write_conv = NULL
20529  *         c_conv_ui_ops.chat_add_users = NULL
20530  *         c_conv_ui_ops.chat_rename_user = NULL             # <<<<<<<<<<<<<<
20531  *         c_conv_ui_ops.chat_remove_users = NULL
20532  *         c_conv_ui_ops.chat_update_user = NULL
20533  */
20534   __pyx_v_c_conv_ui_ops.chat_rename_user = NULL;
20535
20536   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":118
20537  *         c_conv_ui_ops.chat_add_users = NULL
20538  *         c_conv_ui_ops.chat_rename_user = NULL
20539  *         c_conv_ui_ops.chat_remove_users = NULL             # <<<<<<<<<<<<<<
20540  *         c_conv_ui_ops.chat_update_user = NULL
20541  *         c_conv_ui_ops.present = NULL
20542  */
20543   __pyx_v_c_conv_ui_ops.chat_remove_users = NULL;
20544
20545   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":119
20546  *         c_conv_ui_ops.chat_rename_user = NULL
20547  *         c_conv_ui_ops.chat_remove_users = NULL
20548  *         c_conv_ui_ops.chat_update_user = NULL             # <<<<<<<<<<<<<<
20549  *         c_conv_ui_ops.present = NULL
20550  *         c_conv_ui_ops.has_focus = NULL
20551  */
20552   __pyx_v_c_conv_ui_ops.chat_update_user = NULL;
20553
20554   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":120
20555  *         c_conv_ui_ops.chat_remove_users = NULL
20556  *         c_conv_ui_ops.chat_update_user = NULL
20557  *         c_conv_ui_ops.present = NULL             # <<<<<<<<<<<<<<
20558  *         c_conv_ui_ops.has_focus = NULL
20559  *         c_conv_ui_ops.custom_smiley_add = NULL
20560  */
20561   __pyx_v_c_conv_ui_ops.present = NULL;
20562
20563   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":121
20564  *         c_conv_ui_ops.chat_update_user = NULL
20565  *         c_conv_ui_ops.present = NULL
20566  *         c_conv_ui_ops.has_focus = NULL             # <<<<<<<<<<<<<<
20567  *         c_conv_ui_ops.custom_smiley_add = NULL
20568  *         c_conv_ui_ops.custom_smiley_write = NULL
20569  */
20570   __pyx_v_c_conv_ui_ops.has_focus = NULL;
20571
20572   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":122
20573  *         c_conv_ui_ops.present = NULL
20574  *         c_conv_ui_ops.has_focus = NULL
20575  *         c_conv_ui_ops.custom_smiley_add = NULL             # <<<<<<<<<<<<<<
20576  *         c_conv_ui_ops.custom_smiley_write = NULL
20577  *         c_conv_ui_ops.custom_smiley_close = NULL
20578  */
20579   __pyx_v_c_conv_ui_ops.custom_smiley_add = NULL;
20580
20581   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":123
20582  *         c_conv_ui_ops.has_focus = NULL
20583  *         c_conv_ui_ops.custom_smiley_add = NULL
20584  *         c_conv_ui_ops.custom_smiley_write = NULL             # <<<<<<<<<<<<<<
20585  *         c_conv_ui_ops.custom_smiley_close = NULL
20586  *         c_conv_ui_ops.send_confirm = NULL
20587  */
20588   __pyx_v_c_conv_ui_ops.custom_smiley_write = NULL;
20589
20590   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":124
20591  *         c_conv_ui_ops.custom_smiley_add = NULL
20592  *         c_conv_ui_ops.custom_smiley_write = NULL
20593  *         c_conv_ui_ops.custom_smiley_close = NULL             # <<<<<<<<<<<<<<
20594  *         c_conv_ui_ops.send_confirm = NULL
20595  * 
20596  */
20597   __pyx_v_c_conv_ui_ops.custom_smiley_close = NULL;
20598
20599   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":125
20600  *         c_conv_ui_ops.custom_smiley_write = NULL
20601  *         c_conv_ui_ops.custom_smiley_close = NULL
20602  *         c_conv_ui_ops.send_confirm = NULL             # <<<<<<<<<<<<<<
20603  * 
20604  *         conversation.purple_conversation_set_ui_ops(self._get_structure(), \
20605  */
20606   __pyx_v_c_conv_ui_ops.send_confirm = NULL;
20607
20608   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":128
20609  * 
20610  *         conversation.purple_conversation_set_ui_ops(self._get_structure(), \
20611  *                 &c_conv_ui_ops)             # <<<<<<<<<<<<<<
20612  *         return True
20613  * 
20614  */
20615   purple_conversation_set_ui_ops(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)), (&__pyx_v_c_conv_ui_ops));
20616
20617   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":129
20618  *         conversation.purple_conversation_set_ui_ops(self._get_structure(), \
20619  *                 &c_conv_ui_ops)
20620  *         return True             # <<<<<<<<<<<<<<
20621  * 
20622  *     def im_send(self, message):
20623  */
20624   Py_INCREF(Py_True);
20625   __pyx_r = Py_True;
20626   goto __pyx_L0;
20627
20628   __pyx_r = Py_None; Py_INCREF(Py_None);
20629   __pyx_L0:;
20630   return __pyx_r;
20631 }
20632
20633 /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":131
20634  *         return True
20635  * 
20636  *     def im_send(self, message):             # <<<<<<<<<<<<<<
20637  *         """
20638  *         Sends a message to this IM conversation.
20639  */
20640
20641 static PyObject *__pyx_pf_6purple_12Conversation_im_send(PyObject *__pyx_v_self, PyObject *__pyx_v_message); /*proto*/
20642 static char __pyx_doc_6purple_12Conversation_im_send[] = "\n        Sends a message to this IM conversation.\n\n        @return True if successful, False if conversation is not IM or conversation doesn\'t exists\n        ";
20643 static PyObject *__pyx_pf_6purple_12Conversation_im_send(PyObject *__pyx_v_self, PyObject *__pyx_v_message) {
20644   PyObject *__pyx_r;
20645   PyObject *__pyx_1 = 0;
20646   int __pyx_2;
20647   PyObject *__pyx_3 = 0;
20648   char *__pyx_4;
20649
20650   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":137
20651  *         @return True if successful, False if conversation is not IM or conversation doesn't exists
20652  *         """
20653  *         if self.__exists and self.__type == conversation.PURPLE_CONV_TYPE_IM:             # <<<<<<<<<<<<<<
20654  *             conversation.purple_conv_im_send( \
20655  *                     conversation.purple_conversation_get_im_data( \
20656  */
20657   __pyx_1 = ((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__exists;
20658   Py_INCREF(__pyx_1);
20659   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
20660   if (__pyx_2) {
20661     Py_DECREF(__pyx_1); __pyx_1 = 0;
20662     __pyx_3 = PyInt_FromLong(PURPLE_CONV_TYPE_IM); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
20663     __pyx_1 = PyObject_RichCompare(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__type, __pyx_3, Py_EQ); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
20664     Py_DECREF(__pyx_3); __pyx_3 = 0;
20665   }
20666   __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1;}
20667   Py_DECREF(__pyx_1); __pyx_1 = 0;
20668   if (__pyx_2) {
20669
20670     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":140
20671  *             conversation.purple_conv_im_send( \
20672  *                     conversation.purple_conversation_get_im_data( \
20673  *                     self._get_structure()), message)             # <<<<<<<<<<<<<<
20674  *             return True
20675  *         else:
20676  */
20677     __pyx_4 = __Pyx_PyBytes_AsString(__pyx_v_message); if (unlikely((!__pyx_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1;}
20678     purple_conv_im_send(purple_conversation_get_im_data(((struct __pyx_vtabstruct_6purple_Conversation *)((struct __pyx_obj_6purple_Conversation *)__pyx_v_self)->__pyx_vtab)->_get_structure(((struct __pyx_obj_6purple_Conversation *)__pyx_v_self))), __pyx_4);
20679
20680     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":141
20681  *                     conversation.purple_conversation_get_im_data( \
20682  *                     self._get_structure()), message)
20683  *             return True             # <<<<<<<<<<<<<<
20684  *         else:
20685  *             return False
20686  */
20687     Py_INCREF(Py_True);
20688     __pyx_r = Py_True;
20689     goto __pyx_L0;
20690     goto __pyx_L4;
20691   }
20692   /*else*/ {
20693
20694     /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":143
20695  *             return True
20696  *         else:
20697  *             return False             # <<<<<<<<<<<<<<
20698  */
20699     Py_INCREF(Py_False);
20700     __pyx_r = Py_False;
20701     goto __pyx_L0;
20702   }
20703   __pyx_L4:;
20704
20705   __pyx_r = Py_None; Py_INCREF(Py_None);
20706   goto __pyx_L0;
20707   __pyx_L1:;
20708   Py_XDECREF(__pyx_1);
20709   Py_XDECREF(__pyx_3);
20710   __Pyx_AddTraceback("purple.Conversation.im_send");
20711   __pyx_r = NULL;
20712   __pyx_L0:;
20713   return __pyx_r;
20714 }
20715
20716 static __Pyx_StringTabEntry __pyx_string_tab[] = {
20717   {&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 0, 1, 1},
20718   {&__pyx_kp_destroy, __pyx_k_destroy, sizeof(__pyx_k_destroy), 0, 1, 1},
20719   {&__pyx_kp___get_ui_name, __pyx_k___get_ui_name, sizeof(__pyx_k___get_ui_name), 0, 1, 1},
20720   {&__pyx_kp_ui_name, __pyx_k_ui_name, sizeof(__pyx_k_ui_name), 1, 1, 1},
20721   {&__pyx_kp_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 1, 1},
20722   {&__pyx_kp_purple_init, __pyx_k_purple_init, sizeof(__pyx_k_purple_init), 0, 1, 1},
20723   {&__pyx_kp_add_callback, __pyx_k_add_callback, sizeof(__pyx_k_add_callback), 0, 1, 1},
20724   {&__pyx_kp_signal_connect, __pyx_k_signal_connect, sizeof(__pyx_k_signal_connect), 0, 1, 1},
20725   {&__pyx_kp_accounts_get_all, __pyx_k_accounts_get_all, sizeof(__pyx_k_accounts_get_all), 0, 1, 1},
20726   {&__pyx_kp_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 1, 1},
20727   {&__pyx_kp_protocols_get_all, __pyx_k_protocols_get_all, sizeof(__pyx_k_protocols_get_all), 0, 1, 1},
20728   {&__pyx_kp___get_exists, __pyx_k___get_exists, sizeof(__pyx_k___get_exists), 0, 1, 1},
20729   {&__pyx_kp_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 1, 1, 1},
20730   {&__pyx_kp___get_id, __pyx_k___get_id, sizeof(__pyx_k___get_id), 0, 1, 1},
20731   {&__pyx_kp_id, __pyx_k_id, sizeof(__pyx_k_id), 1, 1, 1},
20732   {&__pyx_kp___get_name, __pyx_k___get_name, sizeof(__pyx_k___get_name), 0, 1, 1},
20733   {&__pyx_kp_name, __pyx_k_name, sizeof(__pyx_k_name), 1, 1, 1},
20734   {&__pyx_kp_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 1, 1},
20735   {&__pyx_kp_options_labels, __pyx_k_options_labels, sizeof(__pyx_k_options_labels), 1, 1, 1},
20736   {&__pyx_kp_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 1, 1},
20737   {&__pyx_kp_options_values, __pyx_k_options_values, sizeof(__pyx_k_options_values), 1, 1, 1},
20738   {&__pyx_kp_get_NONE, __pyx_k_get_NONE, sizeof(__pyx_k_get_NONE), 0, 1, 1},
20739   {&__pyx_kp_NONE, __pyx_k_NONE, sizeof(__pyx_k_NONE), 1, 1, 1},
20740   {&__pyx_kp_get_USE_GLOBAL, __pyx_k_get_USE_GLOBAL, sizeof(__pyx_k_get_USE_GLOBAL), 0, 1, 1},
20741   {&__pyx_kp_USE_GLOBAL, __pyx_k_USE_GLOBAL, sizeof(__pyx_k_USE_GLOBAL), 1, 1, 1},
20742   {&__pyx_kp_get_HTTP, __pyx_k_get_HTTP, sizeof(__pyx_k_get_HTTP), 0, 1, 1},
20743   {&__pyx_kp_HTTP, __pyx_k_HTTP, sizeof(__pyx_k_HTTP), 1, 1, 1},
20744   {&__pyx_kp_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 1, 1},
20745   {&__pyx_kp_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 1, 1},
20746   {&__pyx_kp_get_USE_ENVVAR, __pyx_k_get_USE_ENVVAR, sizeof(__pyx_k_get_USE_ENVVAR), 0, 1, 1},
20747   {&__pyx_kp_USE_ENVVAR, __pyx_k_USE_ENVVAR, sizeof(__pyx_k_USE_ENVVAR), 1, 1, 1},
20748   {&__pyx_kp_set_type, __pyx_k_set_type, sizeof(__pyx_k_set_type), 0, 1, 1},
20749   {&__pyx_kp_set_host, __pyx_k_set_host, sizeof(__pyx_k_set_host), 0, 1, 1},
20750   {&__pyx_kp_set_port, __pyx_k_set_port, sizeof(__pyx_k_set_port), 0, 1, 1},
20751   {&__pyx_kp_set_username, __pyx_k_set_username, sizeof(__pyx_k_set_username), 0, 1, 1},
20752   {&__pyx_kp_set_password, __pyx_k_set_password, sizeof(__pyx_k_set_password), 0, 1, 1},
20753   {&__pyx_kp_get_types, __pyx_k_get_types, sizeof(__pyx_k_get_types), 0, 1, 1},
20754   {&__pyx_kp_set_info, __pyx_k_set_info, sizeof(__pyx_k_set_info), 0, 1, 1},
20755   {&__pyx_kp___is_connected, __pyx_k___is_connected, sizeof(__pyx_k___is_connected), 0, 1, 1},
20756   {&__pyx_kp_is_connected, __pyx_k_is_connected, sizeof(__pyx_k_is_connected), 1, 1, 1},
20757   {&__pyx_kp___is_connecting, __pyx_k___is_connecting, sizeof(__pyx_k___is_connecting), 0, 1, 1},
20758   {&__pyx_kp_is_connecting, __pyx_k_is_connecting, sizeof(__pyx_k_is_connecting), 1, 1, 1},
20759   {&__pyx_kp___is_disconnected, __pyx_k___is_disconnected, sizeof(__pyx_k___is_disconnected), 0, 1, 1},
20760   {&__pyx_kp_is_disconnected, __pyx_k_is_disconnected, sizeof(__pyx_k_is_disconnected), 1, 1, 1},
20761   {&__pyx_kp___get_core, __pyx_k___get_core, sizeof(__pyx_k___get_core), 0, 1, 1},
20762   {&__pyx_kp_core, __pyx_k_core, sizeof(__pyx_k_core), 1, 1, 1},
20763   {&__pyx_kp___get_username, __pyx_k___get_username, sizeof(__pyx_k___get_username), 0, 1, 1},
20764   {&__pyx_kp_username, __pyx_k_username, sizeof(__pyx_k_username), 1, 1, 1},
20765   {&__pyx_kp___get_protocol, __pyx_k___get_protocol, sizeof(__pyx_k___get_protocol), 0, 1, 1},
20766   {&__pyx_kp_protocol, __pyx_k_protocol, sizeof(__pyx_k_protocol), 1, 1, 1},
20767   {&__pyx_kp_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 1, 1},
20768   {&__pyx_kp_protocol_options, __pyx_k_protocol_options, sizeof(__pyx_k_protocol_options), 1, 1, 1},
20769   {&__pyx_kp___get_password, __pyx_k___get_password, sizeof(__pyx_k___get_password), 0, 1, 1},
20770   {&__pyx_kp_password, __pyx_k_password, sizeof(__pyx_k_password), 1, 1, 1},
20771   {&__pyx_kp___get_alias, __pyx_k___get_alias, sizeof(__pyx_k___get_alias), 0, 1, 1},
20772   {&__pyx_kp_alias, __pyx_k_alias, sizeof(__pyx_k_alias), 1, 1, 1},
20773   {&__pyx_kp___get_user_info, __pyx_k___get_user_info, sizeof(__pyx_k___get_user_info), 0, 1, 1},
20774   {&__pyx_kp_user_info, __pyx_k_user_info, sizeof(__pyx_k_user_info), 1, 1, 1},
20775   {&__pyx_kp_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 1, 1},
20776   {&__pyx_kp_remember_password, __pyx_k_remember_password, sizeof(__pyx_k_remember_password), 1, 1, 1},
20777   {&__pyx_kp___get_enabled, __pyx_k___get_enabled, sizeof(__pyx_k___get_enabled), 0, 1, 1},
20778   {&__pyx_kp_enabled, __pyx_k_enabled, sizeof(__pyx_k_enabled), 1, 1, 1},
20779   {&__pyx_kp___get_status_types, __pyx_k___get_status_types, sizeof(__pyx_k___get_status_types), 0, 1, 1},
20780   {&__pyx_kp_status_types, __pyx_k_status_types, sizeof(__pyx_k_status_types), 1, 1, 1},
20781   {&__pyx_kp___get_active_status, __pyx_k___get_active_status, sizeof(__pyx_k___get_active_status), 0, 1, 1},
20782   {&__pyx_kp_active_status, __pyx_k_active_status, sizeof(__pyx_k_active_status), 1, 1, 1},
20783   {&__pyx_kp_set_protocol, __pyx_k_set_protocol, sizeof(__pyx_k_set_protocol), 0, 1, 1},
20784   {&__pyx_kp_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 1, 1},
20785   {&__pyx_kp_set_alias, __pyx_k_set_alias, sizeof(__pyx_k_set_alias), 0, 1, 1},
20786   {&__pyx_kp_set_user_info, __pyx_k_set_user_info, sizeof(__pyx_k_set_user_info), 0, 1, 1},
20787   {&__pyx_kp_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 1, 1},
20788   {&__pyx_kp_set_enabled, __pyx_k_set_enabled, sizeof(__pyx_k_set_enabled), 0, 1, 1},
20789   {&__pyx_kp_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 1, 1},
20790   {&__pyx_kp_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 1, 1},
20791   {&__pyx_kp_connect, __pyx_k_connect, sizeof(__pyx_k_connect), 0, 1, 1},
20792   {&__pyx_kp_disconnect, __pyx_k_disconnect, sizeof(__pyx_k_disconnect), 0, 1, 1},
20793   {&__pyx_kp_add_buddy, __pyx_k_add_buddy, sizeof(__pyx_k_add_buddy), 0, 1, 1},
20794   {&__pyx_kp_remove_buddy, __pyx_k_remove_buddy, sizeof(__pyx_k_remove_buddy), 0, 1, 1},
20795   {&__pyx_kp_get_buddies_online, __pyx_k_get_buddies_online, sizeof(__pyx_k_get_buddies_online), 0, 1, 1},
20796   {&__pyx_kp_get_buddies, __pyx_k_get_buddies, sizeof(__pyx_k_get_buddies), 0, 1, 1},
20797   {&__pyx_kp_request_add_buddy, __pyx_k_request_add_buddy, sizeof(__pyx_k_request_add_buddy), 0, 1, 1},
20798   {&__pyx_kp_set_active_status, __pyx_k_set_active_status, sizeof(__pyx_k_set_active_status), 0, 1, 1},
20799   {&__pyx_kp_set_status_message, __pyx_k_set_status_message, sizeof(__pyx_k_set_status_message), 0, 1, 1},
20800   {&__pyx_kp___get_account, __pyx_k___get_account, sizeof(__pyx_k___get_account), 0, 1, 1},
20801   {&__pyx_kp_account, __pyx_k_account, sizeof(__pyx_k_account), 1, 1, 1},
20802   {&__pyx_kp___get_group, __pyx_k___get_group, sizeof(__pyx_k___get_group), 0, 1, 1},
20803   {&__pyx_kp_group, __pyx_k_group, sizeof(__pyx_k_group), 1, 1, 1},
20804   {&__pyx_kp___get_server_alias, __pyx_k___get_server_alias, sizeof(__pyx_k___get_server_alias), 0, 1, 1},
20805   {&__pyx_kp_server_alias, __pyx_k_server_alias, sizeof(__pyx_k_server_alias), 1, 1, 1},
20806   {&__pyx_kp___get_contact_alias, __pyx_k___get_contact_alias, sizeof(__pyx_k___get_contact_alias), 0, 1, 1},
20807   {&__pyx_kp_contact_alias, __pyx_k_contact_alias, sizeof(__pyx_k_contact_alias), 1, 1, 1},
20808   {&__pyx_kp___get_local_alias, __pyx_k___get_local_alias, sizeof(__pyx_k___get_local_alias), 0, 1, 1},
20809   {&__pyx_kp_local_alias, __pyx_k_local_alias, sizeof(__pyx_k_local_alias), 1, 1, 1},
20810   {&__pyx_kp___get_available, __pyx_k___get_available, sizeof(__pyx_k___get_available), 0, 1, 1},
20811   {&__pyx_kp_available, __pyx_k_available, sizeof(__pyx_k_available), 1, 1, 1},
20812   {&__pyx_kp___get_online, __pyx_k___get_online, sizeof(__pyx_k___get_online), 0, 1, 1},
20813   {&__pyx_kp_online, __pyx_k_online, sizeof(__pyx_k_online), 1, 1, 1},
20814   {&__pyx_kp___get_idle, __pyx_k___get_idle, sizeof(__pyx_k___get_idle), 0, 1, 1},
20815   {&__pyx_kp_idle, __pyx_k_idle, sizeof(__pyx_k_idle), 1, 1, 1},
20816   {&__pyx_kp_set_group, __pyx_k_set_group, sizeof(__pyx_k_set_group), 0, 1, 1},
20817   {&__pyx_kp_set_ui_ops, __pyx_k_set_ui_ops, sizeof(__pyx_k_set_ui_ops), 0, 1, 1},
20818   {&__pyx_kp_im_send, __pyx_k_im_send, sizeof(__pyx_k_im_send), 0, 1, 1},
20819   {&__pyx_kp_ecore, __pyx_k_ecore, sizeof(__pyx_k_ecore), 1, 1, 1},
20820   {&__pyx_kp_account_cbs, __pyx_k_account_cbs, sizeof(__pyx_k_account_cbs), 1, 1, 1},
20821   {&__pyx_kp_blist_cbs, __pyx_k_blist_cbs, sizeof(__pyx_k_blist_cbs), 1, 1, 1},
20822   {&__pyx_kp_connection_cbs, __pyx_k_connection_cbs, sizeof(__pyx_k_connection_cbs), 1, 1, 1},
20823   {&__pyx_kp_conversation_cbs, __pyx_k_conversation_cbs, sizeof(__pyx_k_conversation_cbs), 1, 1, 1},
20824   {&__pyx_kp_notify_cbs, __pyx_k_notify_cbs, sizeof(__pyx_k_notify_cbs), 1, 1, 1},
20825   {&__pyx_kp_request_cbs, __pyx_k_request_cbs, sizeof(__pyx_k_request_cbs), 1, 1, 1},
20826   {&__pyx_kp_signal_cbs, __pyx_k_signal_cbs, sizeof(__pyx_k_signal_cbs), 1, 1, 1},
20827   {&__pyx_kp_property, __pyx_k_property, sizeof(__pyx_k_property), 1, 1, 1},
20828   {&__pyx_kp_has_key, __pyx_k_has_key, sizeof(__pyx_k_has_key), 1, 1, 1},
20829   {&__pyx_kp_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 0},
20830   {&__pyx_kp_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 0},
20831   {&__pyx_kp_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 0},
20832   {&__pyx_kp_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 0},
20833   {&__pyx_kp_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 0, 0},
20834   {&__pyx_kp_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 0},
20835   {&__pyx_kp_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 0},
20836   {&__pyx_kp_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 0},
20837   {&__pyx_kp_call_authorize_cb, __pyx_k_call_authorize_cb, sizeof(__pyx_k_call_authorize_cb), 0, 1, 1},
20838   {&__pyx_kp_call_deny_cb, __pyx_k_call_deny_cb, sizeof(__pyx_k_call_deny_cb), 0, 1, 1},
20839   {&__pyx_kp_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 0},
20840   {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 0},
20841   {&__pyx_kp_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 0, 0},
20842   {&__pyx_kp_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 0},
20843   {&__pyx_kp_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 0},
20844   {&__pyx_kp_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 0},
20845   {&__pyx_kp_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 0},
20846   {&__pyx_kp_47, __pyx_k_47, sizeof(__pyx_k_47), 0, 0, 0},
20847   {&__pyx_kp_48, __pyx_k_48, sizeof(__pyx_k_48), 0, 0, 0},
20848   {&__pyx_kp_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 0},
20849   {&__pyx_kp_50, __pyx_k_50, sizeof(__pyx_k_50), 0, 0, 0},
20850   {&__pyx_kp_54, __pyx_k_54, sizeof(__pyx_k_54), 0, 1, 0},
20851   {&__pyx_kp_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 1, 0},
20852   {&__pyx_kp_56, __pyx_k_56, sizeof(__pyx_k_56), 0, 0, 0},
20853   {&__pyx_kp_60, __pyx_k_60, sizeof(__pyx_k_60), 0, 1, 0},
20854   {&__pyx_kp_61, __pyx_k_61, sizeof(__pyx_k_61), 0, 1, 0},
20855   {&__pyx_kp_62, __pyx_k_62, sizeof(__pyx_k_62), 0, 1, 0},
20856   {&__pyx_kp_63, __pyx_k_63, sizeof(__pyx_k_63), 0, 1, 0},
20857   {&__pyx_kp_64, __pyx_k_64, sizeof(__pyx_k_64), 0, 1, 0},
20858   {&__pyx_kp_65, __pyx_k_65, sizeof(__pyx_k_65), 0, 1, 0},
20859   {&__pyx_kp_69, __pyx_k_69, sizeof(__pyx_k_69), 0, 1, 0},
20860   {&__pyx_kp_70, __pyx_k_70, sizeof(__pyx_k_70), 0, 1, 0},
20861   {&__pyx_kp_71, __pyx_k_71, sizeof(__pyx_k_71), 0, 1, 0},
20862   {&__pyx_kp_72, __pyx_k_72, sizeof(__pyx_k_72), 0, 1, 0},
20863   {&__pyx_kp_73, __pyx_k_73, sizeof(__pyx_k_73), 0, 1, 0},
20864   {&__pyx_kp_74, __pyx_k_74, sizeof(__pyx_k_74), 0, 1, 0},
20865   {&__pyx_kp_78, __pyx_k_78, sizeof(__pyx_k_78), 0, 1, 0},
20866   {&__pyx_kp_79, __pyx_k_79, sizeof(__pyx_k_79), 0, 1, 0},
20867   {&__pyx_kp_80, __pyx_k_80, sizeof(__pyx_k_80), 0, 0, 0},
20868   {&__pyx_kp_84, __pyx_k_84, sizeof(__pyx_k_84), 0, 0, 0},
20869   {&__pyx_kp_85, __pyx_k_85, sizeof(__pyx_k_85), 0, 0, 0},
20870   {&__pyx_kp_86, __pyx_k_86, sizeof(__pyx_k_86), 0, 0, 0},
20871   {&__pyx_kp_90, __pyx_k_90, sizeof(__pyx_k_90), 0, 0, 0},
20872   {&__pyx_kp_91, __pyx_k_91, sizeof(__pyx_k_91), 0, 0, 0},
20873   {&__pyx_kp_95, __pyx_k_95, sizeof(__pyx_k_95), 0, 0, 0},
20874   {&__pyx_kp_96, __pyx_k_96, sizeof(__pyx_k_96), 0, 0, 0},
20875   {&__pyx_kp_97, __pyx_k_97, sizeof(__pyx_k_97), 0, 0, 0},
20876   {&__pyx_kp_101, __pyx_k_101, sizeof(__pyx_k_101), 0, 0, 0},
20877   {&__pyx_kp_102, __pyx_k_102, sizeof(__pyx_k_102), 0, 0, 0},
20878   {&__pyx_kp_103, __pyx_k_103, sizeof(__pyx_k_103), 0, 0, 0},
20879   {&__pyx_kp_107, __pyx_k_107, sizeof(__pyx_k_107), 0, 0, 0},
20880   {&__pyx_kp_108, __pyx_k_108, sizeof(__pyx_k_108), 0, 0, 0},
20881   {&__pyx_kp_112, __pyx_k_112, sizeof(__pyx_k_112), 0, 1, 0},
20882   {&__pyx_kp_113, __pyx_k_113, sizeof(__pyx_k_113), 0, 1, 0},
20883   {&__pyx_kp_114, __pyx_k_114, sizeof(__pyx_k_114), 0, 0, 0},
20884   {&__pyx_kp_118, __pyx_k_118, sizeof(__pyx_k_118), 0, 1, 0},
20885   {&__pyx_kp_119, __pyx_k_119, sizeof(__pyx_k_119), 0, 1, 0},
20886   {&__pyx_kp_120, __pyx_k_120, sizeof(__pyx_k_120), 0, 0, 0},
20887   {&__pyx_kp_124, __pyx_k_124, sizeof(__pyx_k_124), 0, 1, 0},
20888   {&__pyx_kp_125, __pyx_k_125, sizeof(__pyx_k_125), 0, 1, 0},
20889   {&__pyx_kp_126, __pyx_k_126, sizeof(__pyx_k_126), 0, 0, 0},
20890   {&__pyx_kp_130, __pyx_k_130, sizeof(__pyx_k_130), 0, 0, 0},
20891   {&__pyx_kp_131, __pyx_k_131, sizeof(__pyx_k_131), 0, 0, 0},
20892   {&__pyx_kp_135, __pyx_k_135, sizeof(__pyx_k_135), 0, 0, 0},
20893   {&__pyx_kp_136, __pyx_k_136, sizeof(__pyx_k_136), 0, 0, 0},
20894   {&__pyx_kp_140, __pyx_k_140, sizeof(__pyx_k_140), 0, 0, 0},
20895   {&__pyx_kp_141, __pyx_k_141, sizeof(__pyx_k_141), 0, 0, 0},
20896   {&__pyx_kp_145, __pyx_k_145, sizeof(__pyx_k_145), 0, 0, 0},
20897   {&__pyx_kp_146, __pyx_k_146, sizeof(__pyx_k_146), 0, 0, 0},
20898   {&__pyx_kp_147, __pyx_k_147, sizeof(__pyx_k_147), 0, 0, 0},
20899   {&__pyx_kp_148, __pyx_k_148, sizeof(__pyx_k_148), 0, 0, 0},
20900   {&__pyx_kp_149, __pyx_k_149, sizeof(__pyx_k_149), 0, 0, 0},
20901   {&__pyx_kp_150, __pyx_k_150, sizeof(__pyx_k_150), 0, 0, 0},
20902   {&__pyx_kp_151, __pyx_k_151, sizeof(__pyx_k_151), 0, 0, 0},
20903   {&__pyx_kp_152, __pyx_k_152, sizeof(__pyx_k_152), 0, 0, 0},
20904   {&__pyx_kp_153, __pyx_k_153, sizeof(__pyx_k_153), 0, 0, 0},
20905   {&__pyx_kp_154, __pyx_k_154, sizeof(__pyx_k_154), 0, 0, 0},
20906   {&__pyx_kp_155, __pyx_k_155, sizeof(__pyx_k_155), 0, 0, 0},
20907   {&__pyx_kp_156, __pyx_k_156, sizeof(__pyx_k_156), 0, 0, 0},
20908   {&__pyx_kp_157, __pyx_k_157, sizeof(__pyx_k_157), 0, 0, 0},
20909   {&__pyx_kp_158, __pyx_k_158, sizeof(__pyx_k_158), 0, 0, 0},
20910   {&__pyx_kp_159, __pyx_k_159, sizeof(__pyx_k_159), 0, 0, 0},
20911   {&__pyx_kp_160, __pyx_k_160, sizeof(__pyx_k_160), 0, 0, 0},
20912   {&__pyx_kp_161, __pyx_k_161, sizeof(__pyx_k_161), 0, 0, 0},
20913   {&__pyx_kp_162, __pyx_k_162, sizeof(__pyx_k_162), 0, 0, 0},
20914   {&__pyx_kp_163, __pyx_k_163, sizeof(__pyx_k_163), 0, 0, 0},
20915   {&__pyx_kp_167, __pyx_k_167, sizeof(__pyx_k_167), 0, 0, 0},
20916   {&__pyx_kp_168, __pyx_k_168, sizeof(__pyx_k_168), 0, 0, 0},
20917   {&__pyx_kp_172, __pyx_k_172, sizeof(__pyx_k_172), 0, 0, 0},
20918   {&__pyx_kp_173, __pyx_k_173, sizeof(__pyx_k_173), 0, 0, 0},
20919   {&__pyx_kp_174, __pyx_k_174, sizeof(__pyx_k_174), 0, 0, 0},
20920   {&__pyx_kp_178, __pyx_k_178, sizeof(__pyx_k_178), 0, 0, 0},
20921   {&__pyx_kp_179, __pyx_k_179, sizeof(__pyx_k_179), 0, 0, 0},
20922   {&__pyx_kp_180, __pyx_k_180, sizeof(__pyx_k_180), 0, 0, 0},
20923   {&__pyx_kp_184, __pyx_k_184, sizeof(__pyx_k_184), 0, 0, 0},
20924   {&__pyx_kp_185, __pyx_k_185, sizeof(__pyx_k_185), 0, 1, 0},
20925   {&__pyx_kp_186, __pyx_k_186, sizeof(__pyx_k_186), 0, 1, 0},
20926   {&__pyx_kp_187, __pyx_k_187, sizeof(__pyx_k_187), 0, 0, 0},
20927   {&__pyx_kp_188, __pyx_k_188, sizeof(__pyx_k_188), 0, 0, 0},
20928   {&__pyx_kp_192, __pyx_k_192, sizeof(__pyx_k_192), 0, 0, 0},
20929   {&__pyx_kp_193, __pyx_k_193, sizeof(__pyx_k_193), 0, 0, 0},
20930   {&__pyx_kp_194, __pyx_k_194, sizeof(__pyx_k_194), 0, 0, 0},
20931   {&__pyx_kp_198, __pyx_k_198, sizeof(__pyx_k_198), 0, 0, 0},
20932   {&__pyx_kp_199, __pyx_k_199, sizeof(__pyx_k_199), 0, 0, 0},
20933   {&__pyx_kp_200, __pyx_k_200, sizeof(__pyx_k_200), 0, 0, 0},
20934   {&__pyx_kp_204, __pyx_k_204, sizeof(__pyx_k_204), 0, 0, 0},
20935   {&__pyx_kp_205, __pyx_k_205, sizeof(__pyx_k_205), 0, 0, 0},
20936   {&__pyx_kp_206, __pyx_k_206, sizeof(__pyx_k_206), 0, 0, 0},
20937   {&__pyx_kp_210, __pyx_k_210, sizeof(__pyx_k_210), 0, 0, 0},
20938   {&__pyx_kp_211, __pyx_k_211, sizeof(__pyx_k_211), 0, 0, 0},
20939   {&__pyx_kp_212, __pyx_k_212, sizeof(__pyx_k_212), 0, 0, 0},
20940   {&__pyx_kp_216, __pyx_k_216, sizeof(__pyx_k_216), 0, 0, 0},
20941   {&__pyx_kp_217, __pyx_k_217, sizeof(__pyx_k_217), 0, 0, 0},
20942   {&__pyx_kp_218, __pyx_k_218, sizeof(__pyx_k_218), 0, 0, 0},
20943   {&__pyx_kp_222, __pyx_k_222, sizeof(__pyx_k_222), 0, 1, 0},
20944   {&__pyx_kp_223, __pyx_k_223, sizeof(__pyx_k_223), 0, 1, 0},
20945   {&__pyx_kp_224, __pyx_k_224, sizeof(__pyx_k_224), 0, 0, 0},
20946   {&__pyx_kp_228, __pyx_k_228, sizeof(__pyx_k_228), 0, 0, 0},
20947   {&__pyx_kp_229, __pyx_k_229, sizeof(__pyx_k_229), 0, 0, 0},
20948   {&__pyx_kp_230, __pyx_k_230, sizeof(__pyx_k_230), 0, 0, 0},
20949   {&__pyx_kp_234, __pyx_k_234, sizeof(__pyx_k_234), 0, 0, 0},
20950   {&__pyx_kp_235, __pyx_k_235, sizeof(__pyx_k_235), 0, 0, 0},
20951   {&__pyx_kp_236, __pyx_k_236, sizeof(__pyx_k_236), 0, 0, 0},
20952   {&__pyx_kp_240, __pyx_k_240, sizeof(__pyx_k_240), 0, 0, 0},
20953   {&__pyx_kp_241, __pyx_k_241, sizeof(__pyx_k_241), 0, 0, 0},
20954   {&__pyx_kp_242, __pyx_k_242, sizeof(__pyx_k_242), 0, 0, 0},
20955   {&__pyx_kp_246, __pyx_k_246, sizeof(__pyx_k_246), 0, 0, 0},
20956   {&__pyx_kp_247, __pyx_k_247, sizeof(__pyx_k_247), 0, 0, 0},
20957   {&__pyx_kp_248, __pyx_k_248, sizeof(__pyx_k_248), 0, 0, 0},
20958   {&__pyx_kp_252, __pyx_k_252, sizeof(__pyx_k_252), 0, 0, 0},
20959   {&__pyx_kp_253, __pyx_k_253, sizeof(__pyx_k_253), 0, 0, 0},
20960   {&__pyx_kp_254, __pyx_k_254, sizeof(__pyx_k_254), 0, 0, 0},
20961   {&__pyx_kp_258, __pyx_k_258, sizeof(__pyx_k_258), 0, 0, 0},
20962   {&__pyx_kp_259, __pyx_k_259, sizeof(__pyx_k_259), 0, 0, 0},
20963   {&__pyx_kp_260, __pyx_k_260, sizeof(__pyx_k_260), 0, 0, 0},
20964   {&__pyx_kp_264, __pyx_k_264, sizeof(__pyx_k_264), 0, 0, 0},
20965   {&__pyx_kp_265, __pyx_k_265, sizeof(__pyx_k_265), 0, 0, 0},
20966   {&__pyx_kp_266, __pyx_k_266, sizeof(__pyx_k_266), 0, 0, 0},
20967   {&__pyx_kp_270, __pyx_k_270, sizeof(__pyx_k_270), 0, 0, 0},
20968   {&__pyx_kp_271, __pyx_k_271, sizeof(__pyx_k_271), 0, 0, 0},
20969   {&__pyx_kp_272, __pyx_k_272, sizeof(__pyx_k_272), 0, 0, 0},
20970   {&__pyx_kp_276, __pyx_k_276, sizeof(__pyx_k_276), 0, 0, 0},
20971   {&__pyx_kp_277, __pyx_k_277, sizeof(__pyx_k_277), 0, 0, 0},
20972   {&__pyx_kp_278, __pyx_k_278, sizeof(__pyx_k_278), 0, 0, 0},
20973   {&__pyx_kp_282, __pyx_k_282, sizeof(__pyx_k_282), 0, 0, 0},
20974   {&__pyx_kp_283, __pyx_k_283, sizeof(__pyx_k_283), 0, 0, 0},
20975   {&__pyx_kp_284, __pyx_k_284, sizeof(__pyx_k_284), 0, 0, 0},
20976   {&__pyx_kp_288, __pyx_k_288, sizeof(__pyx_k_288), 0, 0, 0},
20977   {&__pyx_kp_289, __pyx_k_289, sizeof(__pyx_k_289), 0, 0, 0},
20978   {&__pyx_kp_290, __pyx_k_290, sizeof(__pyx_k_290), 0, 0, 0},
20979   {&__pyx_kp_294, __pyx_k_294, sizeof(__pyx_k_294), 0, 0, 0},
20980   {&__pyx_kp_295, __pyx_k_295, sizeof(__pyx_k_295), 0, 0, 0},
20981   {&__pyx_kp_296, __pyx_k_296, sizeof(__pyx_k_296), 0, 0, 0},
20982   {&__pyx_kp_300, __pyx_k_300, sizeof(__pyx_k_300), 0, 0, 0},
20983   {&__pyx_kp_301, __pyx_k_301, sizeof(__pyx_k_301), 0, 0, 0},
20984   {&__pyx_kp_302, __pyx_k_302, sizeof(__pyx_k_302), 0, 0, 0},
20985   {&__pyx_kp_306, __pyx_k_306, sizeof(__pyx_k_306), 0, 0, 0},
20986   {&__pyx_kp_307, __pyx_k_307, sizeof(__pyx_k_307), 0, 0, 0},
20987   {&__pyx_kp_308, __pyx_k_308, sizeof(__pyx_k_308), 0, 0, 0},
20988   {&__pyx_kp_312, __pyx_k_312, sizeof(__pyx_k_312), 0, 0, 0},
20989   {&__pyx_kp_313, __pyx_k_313, sizeof(__pyx_k_313), 0, 0, 0},
20990   {&__pyx_kp_314, __pyx_k_314, sizeof(__pyx_k_314), 0, 0, 0},
20991   {&__pyx_kp_318, __pyx_k_318, sizeof(__pyx_k_318), 0, 0, 0},
20992   {&__pyx_kp_319, __pyx_k_319, sizeof(__pyx_k_319), 0, 0, 0},
20993   {&__pyx_kp_320, __pyx_k_320, sizeof(__pyx_k_320), 0, 0, 0},
20994   {&__pyx_kp_324, __pyx_k_324, sizeof(__pyx_k_324), 0, 0, 0},
20995   {&__pyx_kp_325, __pyx_k_325, sizeof(__pyx_k_325), 0, 0, 0},
20996   {&__pyx_kp_326, __pyx_k_326, sizeof(__pyx_k_326), 0, 0, 0},
20997   {&__pyx_kp_330, __pyx_k_330, sizeof(__pyx_k_330), 0, 0, 0},
20998   {&__pyx_kp_331, __pyx_k_331, sizeof(__pyx_k_331), 0, 0, 0},
20999   {&__pyx_kp_332, __pyx_k_332, sizeof(__pyx_k_332), 0, 0, 0},
21000   {&__pyx_kp_336, __pyx_k_336, sizeof(__pyx_k_336), 0, 0, 0},
21001   {&__pyx_kp_337, __pyx_k_337, sizeof(__pyx_k_337), 0, 0, 0},
21002   {&__pyx_kp_338, __pyx_k_338, sizeof(__pyx_k_338), 0, 0, 0},
21003   {&__pyx_kp_342, __pyx_k_342, sizeof(__pyx_k_342), 0, 0, 0},
21004   {&__pyx_kp_343, __pyx_k_343, sizeof(__pyx_k_343), 0, 0, 0},
21005   {&__pyx_kp_344, __pyx_k_344, sizeof(__pyx_k_344), 0, 0, 0},
21006   {&__pyx_kp_348, __pyx_k_348, sizeof(__pyx_k_348), 0, 0, 0},
21007   {&__pyx_kp_349, __pyx_k_349, sizeof(__pyx_k_349), 0, 0, 0},
21008   {&__pyx_kp_350, __pyx_k_350, sizeof(__pyx_k_350), 0, 0, 0},
21009   {&__pyx_kp_351, __pyx_k_351, sizeof(__pyx_k_351), 0, 0, 0},
21010   {&__pyx_kp_352, __pyx_k_352, sizeof(__pyx_k_352), 0, 0, 0},
21011   {&__pyx_kp_353, __pyx_k_353, sizeof(__pyx_k_353), 0, 0, 0},
21012   {&__pyx_kp_354, __pyx_k_354, sizeof(__pyx_k_354), 0, 0, 0},
21013   {&__pyx_kp_355, __pyx_k_355, sizeof(__pyx_k_355), 0, 0, 0},
21014   {&__pyx_kp_356, __pyx_k_356, sizeof(__pyx_k_356), 0, 0, 0},
21015   {&__pyx_kp_357, __pyx_k_357, sizeof(__pyx_k_357), 0, 0, 0},
21016   {&__pyx_kp_358, __pyx_k_358, sizeof(__pyx_k_358), 0, 0, 0},
21017   {&__pyx_kp_359, __pyx_k_359, sizeof(__pyx_k_359), 0, 0, 0},
21018   {&__pyx_kp_360, __pyx_k_360, sizeof(__pyx_k_360), 0, 0, 0},
21019   {&__pyx_kp_361, __pyx_k_361, sizeof(__pyx_k_361), 0, 0, 0},
21020   {&__pyx_kp_362, __pyx_k_362, sizeof(__pyx_k_362), 0, 0, 0},
21021   {&__pyx_kp_363, __pyx_k_363, sizeof(__pyx_k_363), 0, 0, 0},
21022   {&__pyx_kp_364, __pyx_k_364, sizeof(__pyx_k_364), 0, 0, 0},
21023   {&__pyx_kp_365, __pyx_k_365, sizeof(__pyx_k_365), 0, 0, 0},
21024   {&__pyx_kp_366, __pyx_k_366, sizeof(__pyx_k_366), 0, 0, 0},
21025   {&__pyx_kp_367, __pyx_k_367, sizeof(__pyx_k_367), 0, 0, 0},
21026   {&__pyx_kp_368, __pyx_k_368, sizeof(__pyx_k_368), 0, 0, 0},
21027   {&__pyx_kp_369, __pyx_k_369, sizeof(__pyx_k_369), 0, 0, 0},
21028   {&__pyx_kp_370, __pyx_k_370, sizeof(__pyx_k_370), 0, 0, 0},
21029   {&__pyx_kp_371, __pyx_k_371, sizeof(__pyx_k_371), 0, 0, 0},
21030   {&__pyx_kp_372, __pyx_k_372, sizeof(__pyx_k_372), 0, 0, 0},
21031   {&__pyx_kp_373, __pyx_k_373, sizeof(__pyx_k_373), 0, 0, 0},
21032   {&__pyx_kp_374, __pyx_k_374, sizeof(__pyx_k_374), 0, 0, 0},
21033   {&__pyx_kp_375, __pyx_k_375, sizeof(__pyx_k_375), 0, 0, 0},
21034   {&__pyx_kp_376, __pyx_k_376, sizeof(__pyx_k_376), 0, 0, 0},
21035   {&__pyx_kp_377, __pyx_k_377, sizeof(__pyx_k_377), 0, 0, 0},
21036   {&__pyx_kp_378, __pyx_k_378, sizeof(__pyx_k_378), 0, 0, 0},
21037   {&__pyx_kp_379, __pyx_k_379, sizeof(__pyx_k_379), 0, 0, 0},
21038   {&__pyx_kp_380, __pyx_k_380, sizeof(__pyx_k_380), 0, 0, 0},
21039   {&__pyx_kp_381, __pyx_k_381, sizeof(__pyx_k_381), 0, 0, 0},
21040   {&__pyx_kp_timer_add, __pyx_k_timer_add, sizeof(__pyx_k_timer_add), 1, 1, 1},
21041   {&__pyx_kp_c_ui_info, __pyx_k_c_ui_info, sizeof(__pyx_k_c_ui_info), 1, 1, 1},
21042   {&__pyx_kp_405, __pyx_k_405, sizeof(__pyx_k_405), 0, 1, 0},
21043   {&__pyx_kp_406, __pyx_k_406, sizeof(__pyx_k_406), 0, 1, 0},
21044   {&__pyx_kp_407, __pyx_k_407, sizeof(__pyx_k_407), 0, 1, 0},
21045   {&__pyx_kp_408, __pyx_k_408, sizeof(__pyx_k_408), 0, 1, 0},
21046   {&__pyx_kp_409, __pyx_k_409, sizeof(__pyx_k_409), 0, 1, 0},
21047   {&__pyx_kp_410, __pyx_k_410, sizeof(__pyx_k_410), 0, 1, 0},
21048   {&__pyx_kp_412, __pyx_k_412, sizeof(__pyx_k_412), 0, 0, 0},
21049   {&__pyx_kp_414, __pyx_k_414, sizeof(__pyx_k_414), 0, 0, 0},
21050   {&__pyx_kp_416, __pyx_k_416, sizeof(__pyx_k_416), 0, 0, 0},
21051   {&__pyx_kp_418, __pyx_k_418, sizeof(__pyx_k_418), 0, 0, 0},
21052   {&__pyx_kp_420, __pyx_k_420, sizeof(__pyx_k_420), 0, 0, 0},
21053   {&__pyx_kp_422, __pyx_k_422, sizeof(__pyx_k_422), 0, 0, 0},
21054   {&__pyx_kp_424, __pyx_k_424, sizeof(__pyx_k_424), 0, 0, 0},
21055   {&__pyx_kp_append, __pyx_k_append, sizeof(__pyx_k_append), 1, 1, 1},
21056   {&__pyx_kp_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 1, 1, 1},
21057   {&__pyx_kp_427, __pyx_k_427, sizeof(__pyx_k_427), 0, 1, 0},
21058   {&__pyx_kp_428, __pyx_k_428, sizeof(__pyx_k_428), 0, 1, 0},
21059   {&__pyx_kp_429, __pyx_k_429, sizeof(__pyx_k_429), 0, 1, 0},
21060   {&__pyx_kp_430, __pyx_k_430, sizeof(__pyx_k_430), 0, 1, 0},
21061   {&__pyx_kp_431, __pyx_k_431, sizeof(__pyx_k_431), 0, 1, 0},
21062   {&__pyx_kp_432, __pyx_k_432, sizeof(__pyx_k_432), 0, 1, 0},
21063   {&__pyx_kp_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 1, 1, 1},
21064   {&__pyx_kp_433, __pyx_k_433, sizeof(__pyx_k_433), 0, 1, 0},
21065   {&__pyx_kp_434, __pyx_k_434, sizeof(__pyx_k_434), 0, 1, 0},
21066   {&__pyx_kp_435, __pyx_k_435, sizeof(__pyx_k_435), 0, 1, 0},
21067   {&__pyx_kp_436, __pyx_k_436, sizeof(__pyx_k_436), 0, 1, 0},
21068   {&__pyx_kp_437, __pyx_k_437, sizeof(__pyx_k_437), 0, 1, 0},
21069   {&__pyx_kp_438, __pyx_k_438, sizeof(__pyx_k_438), 0, 1, 0},
21070   {&__pyx_kp_439, __pyx_k_439, sizeof(__pyx_k_439), 0, 1, 0},
21071   {&__pyx_kp_440, __pyx_k_440, sizeof(__pyx_k_440), 0, 1, 0},
21072   {&__pyx_kp_441, __pyx_k_441, sizeof(__pyx_k_441), 0, 1, 0},
21073   {&__pyx_kp_442, __pyx_k_442, sizeof(__pyx_k_442), 0, 1, 0},
21074   {&__pyx_kp_443, __pyx_k_443, sizeof(__pyx_k_443), 0, 1, 0},
21075   {&__pyx_kp_444, __pyx_k_444, sizeof(__pyx_k_444), 0, 1, 0},
21076   {&__pyx_kp_445, __pyx_k_445, sizeof(__pyx_k_445), 0, 1, 0},
21077   {&__pyx_kp_446, __pyx_k_446, sizeof(__pyx_k_446), 0, 1, 0},
21078   {&__pyx_kp_447, __pyx_k_447, sizeof(__pyx_k_447), 0, 1, 0},
21079   {&__pyx_kp_448, __pyx_k_448, sizeof(__pyx_k_448), 0, 1, 0},
21080   {&__pyx_kp_451, __pyx_k_451, sizeof(__pyx_k_451), 0, 1, 0},
21081   {&__pyx_kp_452, __pyx_k_452, sizeof(__pyx_k_452), 0, 1, 0},
21082   {&__pyx_kp_453, __pyx_k_453, sizeof(__pyx_k_453), 0, 1, 0},
21083   {&__pyx_kp_457, __pyx_k_457, sizeof(__pyx_k_457), 0, 0, 0},
21084   {&__pyx_kp_459, __pyx_k_459, sizeof(__pyx_k_459), 0, 1, 0},
21085   {&__pyx_kp_460, __pyx_k_460, sizeof(__pyx_k_460), 0, 1, 0},
21086   {&__pyx_kp_461, __pyx_k_461, sizeof(__pyx_k_461), 0, 1, 0},
21087   {&__pyx_kp_462, __pyx_k_462, sizeof(__pyx_k_462), 0, 1, 0},
21088   {&__pyx_kp_463, __pyx_k_463, sizeof(__pyx_k_463), 0, 1, 0},
21089   {&__pyx_kp_464, __pyx_k_464, sizeof(__pyx_k_464), 0, 1, 0},
21090   {&__pyx_kp_465, __pyx_k_465, sizeof(__pyx_k_465), 0, 1, 0},
21091   {&__pyx_kp_466, __pyx_k_466, sizeof(__pyx_k_466), 0, 1, 0},
21092   {0, 0, 0, 0, 0}
21093 };
21094 static struct __pyx_vtabstruct_6purple_Purple __pyx_vtable_6purple_Purple;
21095
21096 static PyObject *__pyx_tp_new_6purple_Purple(PyTypeObject *t, PyObject *a, PyObject *k) {
21097   struct __pyx_obj_6purple_Purple *p;
21098   PyObject *o = (*t->tp_alloc)(t, 0);
21099   if (!o) return 0;
21100   p = ((struct __pyx_obj_6purple_Purple *)o);
21101   *(struct __pyx_vtabstruct_6purple_Purple **)&p->__pyx_vtab = __pyx_vtabptr_6purple_Purple;
21102   return o;
21103 }
21104
21105 static void __pyx_tp_dealloc_6purple_Purple(PyObject *o) {
21106   (*Py_TYPE(o)->tp_free)(o);
21107 }
21108
21109 static struct PyMethodDef __pyx_methods_6purple_Purple[] = {
21110   {"destroy", (PyCFunction)__pyx_pf_6purple_6Purple_destroy, METH_NOARGS, 0},
21111   {"__get_ui_name", (PyCFunction)__pyx_pf_6purple_6Purple___get_ui_name, METH_NOARGS, 0},
21112   {"__glib_iteration_when_idle", (PyCFunction)__pyx_pf_6purple_6Purple___glib_iteration_when_idle, METH_NOARGS, 0},
21113   {"purple_init", (PyCFunction)__pyx_pf_6purple_6Purple_purple_init, METH_NOARGS, __pyx_doc_6purple_6Purple_purple_init},
21114   {"add_callback", (PyCFunction)__pyx_pf_6purple_6Purple_add_callback, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6purple_6Purple_add_callback},
21115   {"signal_connect", (PyCFunction)__pyx_pf_6purple_6Purple_signal_connect, METH_VARARGS|METH_KEYWORDS, 0},
21116   {"accounts_get_all", (PyCFunction)__pyx_pf_6purple_6Purple_accounts_get_all, METH_NOARGS, 0},
21117   {"accounts_get_all_active", (PyCFunction)__pyx_pf_6purple_6Purple_accounts_get_all_active, METH_NOARGS, 0},
21118   {"protocols_get_all", (PyCFunction)__pyx_pf_6purple_6Purple_protocols_get_all, METH_NOARGS, 0},
21119   {0, 0, 0, 0}
21120 };
21121
21122 static PyNumberMethods __pyx_tp_as_number_Purple = {
21123   0, /*nb_add*/
21124   0, /*nb_subtract*/
21125   0, /*nb_multiply*/
21126   #if PY_MAJOR_VERSION < 3
21127   0, /*nb_divide*/
21128   #endif
21129   0, /*nb_remainder*/
21130   0, /*nb_divmod*/
21131   0, /*nb_power*/
21132   0, /*nb_negative*/
21133   0, /*nb_positive*/
21134   0, /*nb_absolute*/
21135   0, /*nb_nonzero*/
21136   0, /*nb_invert*/
21137   0, /*nb_lshift*/
21138   0, /*nb_rshift*/
21139   0, /*nb_and*/
21140   0, /*nb_xor*/
21141   0, /*nb_or*/
21142   #if PY_MAJOR_VERSION < 3
21143   0, /*nb_coerce*/
21144   #endif
21145   0, /*nb_int*/
21146   0, /*nb_long*/
21147   0, /*nb_float*/
21148   #if PY_MAJOR_VERSION < 3
21149   0, /*nb_oct*/
21150   #endif
21151   #if PY_MAJOR_VERSION < 3
21152   0, /*nb_hex*/
21153   #endif
21154   0, /*nb_inplace_add*/
21155   0, /*nb_inplace_subtract*/
21156   0, /*nb_inplace_multiply*/
21157   #if PY_MAJOR_VERSION < 3
21158   0, /*nb_inplace_divide*/
21159   #endif
21160   0, /*nb_inplace_remainder*/
21161   0, /*nb_inplace_power*/
21162   0, /*nb_inplace_lshift*/
21163   0, /*nb_inplace_rshift*/
21164   0, /*nb_inplace_and*/
21165   0, /*nb_inplace_xor*/
21166   0, /*nb_inplace_or*/
21167   0, /*nb_floor_divide*/
21168   0, /*nb_true_divide*/
21169   0, /*nb_inplace_floor_divide*/
21170   0, /*nb_inplace_true_divide*/
21171   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
21172   0, /*nb_index*/
21173   #endif
21174 };
21175
21176 static PySequenceMethods __pyx_tp_as_sequence_Purple = {
21177   0, /*sq_length*/
21178   0, /*sq_concat*/
21179   0, /*sq_repeat*/
21180   0, /*sq_item*/
21181   0, /*sq_slice*/
21182   0, /*sq_ass_item*/
21183   0, /*sq_ass_slice*/
21184   0, /*sq_contains*/
21185   0, /*sq_inplace_concat*/
21186   0, /*sq_inplace_repeat*/
21187 };
21188
21189 static PyMappingMethods __pyx_tp_as_mapping_Purple = {
21190   0, /*mp_length*/
21191   0, /*mp_subscript*/
21192   0, /*mp_ass_subscript*/
21193 };
21194
21195 static PyBufferProcs __pyx_tp_as_buffer_Purple = {
21196   #if PY_MAJOR_VERSION < 3
21197   0, /*bf_getreadbuffer*/
21198   #endif
21199   #if PY_MAJOR_VERSION < 3
21200   0, /*bf_getwritebuffer*/
21201   #endif
21202   #if PY_MAJOR_VERSION < 3
21203   0, /*bf_getsegcount*/
21204   #endif
21205   #if PY_MAJOR_VERSION < 3
21206   0, /*bf_getcharbuffer*/
21207   #endif
21208   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21209   0, /*bf_getbuffer*/
21210   #endif
21211   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21212   0, /*bf_releasebuffer*/
21213   #endif
21214 };
21215
21216 PyTypeObject __pyx_type_6purple_Purple = {
21217   PyVarObject_HEAD_INIT(0, 0)
21218   "purple.Purple", /*tp_name*/
21219   sizeof(struct __pyx_obj_6purple_Purple), /*tp_basicsize*/
21220   0, /*tp_itemsize*/
21221   __pyx_tp_dealloc_6purple_Purple, /*tp_dealloc*/
21222   0, /*tp_print*/
21223   0, /*tp_getattr*/
21224   0, /*tp_setattr*/
21225   0, /*tp_compare*/
21226   0, /*tp_repr*/
21227   &__pyx_tp_as_number_Purple, /*tp_as_number*/
21228   &__pyx_tp_as_sequence_Purple, /*tp_as_sequence*/
21229   &__pyx_tp_as_mapping_Purple, /*tp_as_mapping*/
21230   0, /*tp_hash*/
21231   0, /*tp_call*/
21232   0, /*tp_str*/
21233   0, /*tp_getattro*/
21234   0, /*tp_setattro*/
21235   &__pyx_tp_as_buffer_Purple, /*tp_as_buffer*/
21236   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
21237   " Purple class.\n\n    @param debug_enabled: Toggle debug messages.\n    @param default_path: Full path for libpurple user files.\n    ", /*tp_doc*/
21238   0, /*tp_traverse*/
21239   0, /*tp_clear*/
21240   0, /*tp_richcompare*/
21241   0, /*tp_weaklistoffset*/
21242   0, /*tp_iter*/
21243   0, /*tp_iternext*/
21244   __pyx_methods_6purple_Purple, /*tp_methods*/
21245   0, /*tp_members*/
21246   0, /*tp_getset*/
21247   0, /*tp_base*/
21248   0, /*tp_dict*/
21249   0, /*tp_descr_get*/
21250   0, /*tp_descr_set*/
21251   0, /*tp_dictoffset*/
21252   __pyx_pf_6purple_6Purple___init__, /*tp_init*/
21253   0, /*tp_alloc*/
21254   __pyx_tp_new_6purple_Purple, /*tp_new*/
21255   0, /*tp_free*/
21256   0, /*tp_is_gc*/
21257   0, /*tp_bases*/
21258   0, /*tp_mro*/
21259   0, /*tp_cache*/
21260   0, /*tp_subclasses*/
21261   0, /*tp_weaklist*/
21262 };
21263 static struct __pyx_vtabstruct_6purple_Protocol __pyx_vtable_6purple_Protocol;
21264
21265 static PyObject *__pyx_tp_new_6purple_Protocol(PyTypeObject *t, PyObject *a, PyObject *k) {
21266   struct __pyx_obj_6purple_Protocol *p;
21267   PyObject *o = (*t->tp_alloc)(t, 0);
21268   if (!o) return 0;
21269   p = ((struct __pyx_obj_6purple_Protocol *)o);
21270   *(struct __pyx_vtabstruct_6purple_Protocol **)&p->__pyx_vtab = __pyx_vtabptr_6purple_Protocol;
21271   p->__id = Py_None; Py_INCREF(Py_None);
21272   p->__exists = Py_None; Py_INCREF(Py_None);
21273   return o;
21274 }
21275
21276 static void __pyx_tp_dealloc_6purple_Protocol(PyObject *o) {
21277   struct __pyx_obj_6purple_Protocol *p = (struct __pyx_obj_6purple_Protocol *)o;
21278   Py_XDECREF(p->__id);
21279   Py_XDECREF(p->__exists);
21280   (*Py_TYPE(o)->tp_free)(o);
21281 }
21282
21283 static int __pyx_tp_traverse_6purple_Protocol(PyObject *o, visitproc v, void *a) {
21284   int e;
21285   struct __pyx_obj_6purple_Protocol *p = (struct __pyx_obj_6purple_Protocol *)o;
21286   if (p->__id) {
21287     e = (*v)(p->__id, a); if (e) return e;
21288   }
21289   if (p->__exists) {
21290     e = (*v)(p->__exists, a); if (e) return e;
21291   }
21292   return 0;
21293 }
21294
21295 static int __pyx_tp_clear_6purple_Protocol(PyObject *o) {
21296   struct __pyx_obj_6purple_Protocol *p = (struct __pyx_obj_6purple_Protocol *)o;
21297   PyObject* tmp;
21298   tmp = ((PyObject*)p->__id);
21299   p->__id = Py_None; Py_INCREF(Py_None);
21300   Py_XDECREF(tmp);
21301   tmp = ((PyObject*)p->__exists);
21302   p->__exists = Py_None; Py_INCREF(Py_None);
21303   Py_XDECREF(tmp);
21304   return 0;
21305 }
21306
21307 static struct PyMethodDef __pyx_methods_6purple_Protocol[] = {
21308   {"__get_exists", (PyCFunction)__pyx_pf_6purple_8Protocol___get_exists, METH_NOARGS, 0},
21309   {"__get_id", (PyCFunction)__pyx_pf_6purple_8Protocol___get_id, METH_NOARGS, 0},
21310   {"__get_name", (PyCFunction)__pyx_pf_6purple_8Protocol___get_name, METH_NOARGS, 0},
21311   {"__get_options_labels", (PyCFunction)__pyx_pf_6purple_8Protocol___get_options_labels, METH_NOARGS, 0},
21312   {"__get_options_values", (PyCFunction)__pyx_pf_6purple_8Protocol___get_options_values, METH_NOARGS, 0},
21313   {0, 0, 0, 0}
21314 };
21315
21316 static PyNumberMethods __pyx_tp_as_number_Protocol = {
21317   0, /*nb_add*/
21318   0, /*nb_subtract*/
21319   0, /*nb_multiply*/
21320   #if PY_MAJOR_VERSION < 3
21321   0, /*nb_divide*/
21322   #endif
21323   0, /*nb_remainder*/
21324   0, /*nb_divmod*/
21325   0, /*nb_power*/
21326   0, /*nb_negative*/
21327   0, /*nb_positive*/
21328   0, /*nb_absolute*/
21329   0, /*nb_nonzero*/
21330   0, /*nb_invert*/
21331   0, /*nb_lshift*/
21332   0, /*nb_rshift*/
21333   0, /*nb_and*/
21334   0, /*nb_xor*/
21335   0, /*nb_or*/
21336   #if PY_MAJOR_VERSION < 3
21337   0, /*nb_coerce*/
21338   #endif
21339   0, /*nb_int*/
21340   0, /*nb_long*/
21341   0, /*nb_float*/
21342   #if PY_MAJOR_VERSION < 3
21343   0, /*nb_oct*/
21344   #endif
21345   #if PY_MAJOR_VERSION < 3
21346   0, /*nb_hex*/
21347   #endif
21348   0, /*nb_inplace_add*/
21349   0, /*nb_inplace_subtract*/
21350   0, /*nb_inplace_multiply*/
21351   #if PY_MAJOR_VERSION < 3
21352   0, /*nb_inplace_divide*/
21353   #endif
21354   0, /*nb_inplace_remainder*/
21355   0, /*nb_inplace_power*/
21356   0, /*nb_inplace_lshift*/
21357   0, /*nb_inplace_rshift*/
21358   0, /*nb_inplace_and*/
21359   0, /*nb_inplace_xor*/
21360   0, /*nb_inplace_or*/
21361   0, /*nb_floor_divide*/
21362   0, /*nb_true_divide*/
21363   0, /*nb_inplace_floor_divide*/
21364   0, /*nb_inplace_true_divide*/
21365   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
21366   0, /*nb_index*/
21367   #endif
21368 };
21369
21370 static PySequenceMethods __pyx_tp_as_sequence_Protocol = {
21371   0, /*sq_length*/
21372   0, /*sq_concat*/
21373   0, /*sq_repeat*/
21374   0, /*sq_item*/
21375   0, /*sq_slice*/
21376   0, /*sq_ass_item*/
21377   0, /*sq_ass_slice*/
21378   0, /*sq_contains*/
21379   0, /*sq_inplace_concat*/
21380   0, /*sq_inplace_repeat*/
21381 };
21382
21383 static PyMappingMethods __pyx_tp_as_mapping_Protocol = {
21384   0, /*mp_length*/
21385   0, /*mp_subscript*/
21386   0, /*mp_ass_subscript*/
21387 };
21388
21389 static PyBufferProcs __pyx_tp_as_buffer_Protocol = {
21390   #if PY_MAJOR_VERSION < 3
21391   0, /*bf_getreadbuffer*/
21392   #endif
21393   #if PY_MAJOR_VERSION < 3
21394   0, /*bf_getwritebuffer*/
21395   #endif
21396   #if PY_MAJOR_VERSION < 3
21397   0, /*bf_getsegcount*/
21398   #endif
21399   #if PY_MAJOR_VERSION < 3
21400   0, /*bf_getcharbuffer*/
21401   #endif
21402   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21403   0, /*bf_getbuffer*/
21404   #endif
21405   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21406   0, /*bf_releasebuffer*/
21407   #endif
21408 };
21409
21410 PyTypeObject __pyx_type_6purple_Protocol = {
21411   PyVarObject_HEAD_INIT(0, 0)
21412   "purple.Protocol", /*tp_name*/
21413   sizeof(struct __pyx_obj_6purple_Protocol), /*tp_basicsize*/
21414   0, /*tp_itemsize*/
21415   __pyx_tp_dealloc_6purple_Protocol, /*tp_dealloc*/
21416   0, /*tp_print*/
21417   0, /*tp_getattr*/
21418   0, /*tp_setattr*/
21419   0, /*tp_compare*/
21420   0, /*tp_repr*/
21421   &__pyx_tp_as_number_Protocol, /*tp_as_number*/
21422   &__pyx_tp_as_sequence_Protocol, /*tp_as_sequence*/
21423   &__pyx_tp_as_mapping_Protocol, /*tp_as_mapping*/
21424   0, /*tp_hash*/
21425   0, /*tp_call*/
21426   0, /*tp_str*/
21427   0, /*tp_getattro*/
21428   0, /*tp_setattro*/
21429   &__pyx_tp_as_buffer_Protocol, /*tp_as_buffer*/
21430   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
21431   "\n    Protocol class\n    @param id\n    ", /*tp_doc*/
21432   __pyx_tp_traverse_6purple_Protocol, /*tp_traverse*/
21433   __pyx_tp_clear_6purple_Protocol, /*tp_clear*/
21434   0, /*tp_richcompare*/
21435   0, /*tp_weaklistoffset*/
21436   0, /*tp_iter*/
21437   0, /*tp_iternext*/
21438   __pyx_methods_6purple_Protocol, /*tp_methods*/
21439   0, /*tp_members*/
21440   0, /*tp_getset*/
21441   0, /*tp_base*/
21442   0, /*tp_dict*/
21443   0, /*tp_descr_get*/
21444   0, /*tp_descr_set*/
21445   0, /*tp_dictoffset*/
21446   __pyx_pf_6purple_8Protocol___init__, /*tp_init*/
21447   0, /*tp_alloc*/
21448   __pyx_tp_new_6purple_Protocol, /*tp_new*/
21449   0, /*tp_free*/
21450   0, /*tp_is_gc*/
21451   0, /*tp_bases*/
21452   0, /*tp_mro*/
21453   0, /*tp_cache*/
21454   0, /*tp_subclasses*/
21455   0, /*tp_weaklist*/
21456 };
21457
21458 static PyObject *__pyx_tp_new_6purple_ProxyInfoType(PyTypeObject *t, PyObject *a, PyObject *k) {
21459   PyObject *o = (*t->tp_alloc)(t, 0);
21460   if (!o) return 0;
21461   return o;
21462 }
21463
21464 static void __pyx_tp_dealloc_6purple_ProxyInfoType(PyObject *o) {
21465   (*Py_TYPE(o)->tp_free)(o);
21466 }
21467
21468 static struct PyMethodDef __pyx_methods_6purple_ProxyInfoType[] = {
21469   {"get_NONE", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_NONE, METH_NOARGS, 0},
21470   {"get_USE_GLOBAL", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_USE_GLOBAL, METH_NOARGS, 0},
21471   {"get_HTTP", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_HTTP, METH_NOARGS, 0},
21472   {"get_SOCKS4", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_SOCKS4, METH_NOARGS, 0},
21473   {"get_SOCKS5", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_SOCKS5, METH_NOARGS, 0},
21474   {"get_USE_ENVVAR", (PyCFunction)__pyx_pf_6purple_13ProxyInfoType_get_USE_ENVVAR, METH_NOARGS, 0},
21475   {0, 0, 0, 0}
21476 };
21477
21478 static PyNumberMethods __pyx_tp_as_number_ProxyInfoType = {
21479   0, /*nb_add*/
21480   0, /*nb_subtract*/
21481   0, /*nb_multiply*/
21482   #if PY_MAJOR_VERSION < 3
21483   0, /*nb_divide*/
21484   #endif
21485   0, /*nb_remainder*/
21486   0, /*nb_divmod*/
21487   0, /*nb_power*/
21488   0, /*nb_negative*/
21489   0, /*nb_positive*/
21490   0, /*nb_absolute*/
21491   0, /*nb_nonzero*/
21492   0, /*nb_invert*/
21493   0, /*nb_lshift*/
21494   0, /*nb_rshift*/
21495   0, /*nb_and*/
21496   0, /*nb_xor*/
21497   0, /*nb_or*/
21498   #if PY_MAJOR_VERSION < 3
21499   0, /*nb_coerce*/
21500   #endif
21501   0, /*nb_int*/
21502   0, /*nb_long*/
21503   0, /*nb_float*/
21504   #if PY_MAJOR_VERSION < 3
21505   0, /*nb_oct*/
21506   #endif
21507   #if PY_MAJOR_VERSION < 3
21508   0, /*nb_hex*/
21509   #endif
21510   0, /*nb_inplace_add*/
21511   0, /*nb_inplace_subtract*/
21512   0, /*nb_inplace_multiply*/
21513   #if PY_MAJOR_VERSION < 3
21514   0, /*nb_inplace_divide*/
21515   #endif
21516   0, /*nb_inplace_remainder*/
21517   0, /*nb_inplace_power*/
21518   0, /*nb_inplace_lshift*/
21519   0, /*nb_inplace_rshift*/
21520   0, /*nb_inplace_and*/
21521   0, /*nb_inplace_xor*/
21522   0, /*nb_inplace_or*/
21523   0, /*nb_floor_divide*/
21524   0, /*nb_true_divide*/
21525   0, /*nb_inplace_floor_divide*/
21526   0, /*nb_inplace_true_divide*/
21527   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
21528   0, /*nb_index*/
21529   #endif
21530 };
21531
21532 static PySequenceMethods __pyx_tp_as_sequence_ProxyInfoType = {
21533   0, /*sq_length*/
21534   0, /*sq_concat*/
21535   0, /*sq_repeat*/
21536   0, /*sq_item*/
21537   0, /*sq_slice*/
21538   0, /*sq_ass_item*/
21539   0, /*sq_ass_slice*/
21540   0, /*sq_contains*/
21541   0, /*sq_inplace_concat*/
21542   0, /*sq_inplace_repeat*/
21543 };
21544
21545 static PyMappingMethods __pyx_tp_as_mapping_ProxyInfoType = {
21546   0, /*mp_length*/
21547   0, /*mp_subscript*/
21548   0, /*mp_ass_subscript*/
21549 };
21550
21551 static PyBufferProcs __pyx_tp_as_buffer_ProxyInfoType = {
21552   #if PY_MAJOR_VERSION < 3
21553   0, /*bf_getreadbuffer*/
21554   #endif
21555   #if PY_MAJOR_VERSION < 3
21556   0, /*bf_getwritebuffer*/
21557   #endif
21558   #if PY_MAJOR_VERSION < 3
21559   0, /*bf_getsegcount*/
21560   #endif
21561   #if PY_MAJOR_VERSION < 3
21562   0, /*bf_getcharbuffer*/
21563   #endif
21564   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21565   0, /*bf_getbuffer*/
21566   #endif
21567   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21568   0, /*bf_releasebuffer*/
21569   #endif
21570 };
21571
21572 PyTypeObject __pyx_type_6purple_ProxyInfoType = {
21573   PyVarObject_HEAD_INIT(0, 0)
21574   "purple.ProxyInfoType", /*tp_name*/
21575   sizeof(struct __pyx_obj_6purple_ProxyInfoType), /*tp_basicsize*/
21576   0, /*tp_itemsize*/
21577   __pyx_tp_dealloc_6purple_ProxyInfoType, /*tp_dealloc*/
21578   0, /*tp_print*/
21579   0, /*tp_getattr*/
21580   0, /*tp_setattr*/
21581   0, /*tp_compare*/
21582   0, /*tp_repr*/
21583   &__pyx_tp_as_number_ProxyInfoType, /*tp_as_number*/
21584   &__pyx_tp_as_sequence_ProxyInfoType, /*tp_as_sequence*/
21585   &__pyx_tp_as_mapping_ProxyInfoType, /*tp_as_mapping*/
21586   0, /*tp_hash*/
21587   0, /*tp_call*/
21588   0, /*tp_str*/
21589   0, /*tp_getattro*/
21590   0, /*tp_setattro*/
21591   &__pyx_tp_as_buffer_ProxyInfoType, /*tp_as_buffer*/
21592   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE, /*tp_flags*/
21593   0, /*tp_doc*/
21594   0, /*tp_traverse*/
21595   0, /*tp_clear*/
21596   0, /*tp_richcompare*/
21597   0, /*tp_weaklistoffset*/
21598   0, /*tp_iter*/
21599   0, /*tp_iternext*/
21600   __pyx_methods_6purple_ProxyInfoType, /*tp_methods*/
21601   0, /*tp_members*/
21602   0, /*tp_getset*/
21603   0, /*tp_base*/
21604   0, /*tp_dict*/
21605   0, /*tp_descr_get*/
21606   0, /*tp_descr_set*/
21607   0, /*tp_dictoffset*/
21608   __pyx_pf_6purple_13ProxyInfoType___init__, /*tp_init*/
21609   0, /*tp_alloc*/
21610   __pyx_tp_new_6purple_ProxyInfoType, /*tp_new*/
21611   0, /*tp_free*/
21612   0, /*tp_is_gc*/
21613   0, /*tp_bases*/
21614   0, /*tp_mro*/
21615   0, /*tp_cache*/
21616   0, /*tp_subclasses*/
21617   0, /*tp_weaklist*/
21618 };
21619
21620 static PyObject *__pyx_tp_new_6purple_ProxyInfo(PyTypeObject *t, PyObject *a, PyObject *k) {
21621   struct __pyx_obj_6purple_ProxyInfo *p;
21622   PyObject *o = (*t->tp_alloc)(t, 0);
21623   if (!o) return 0;
21624   p = ((struct __pyx_obj_6purple_ProxyInfo *)o);
21625   p->types = Py_None; Py_INCREF(Py_None);
21626   return o;
21627 }
21628
21629 static void __pyx_tp_dealloc_6purple_ProxyInfo(PyObject *o) {
21630   struct __pyx_obj_6purple_ProxyInfo *p = (struct __pyx_obj_6purple_ProxyInfo *)o;
21631   Py_XDECREF(p->types);
21632   (*Py_TYPE(o)->tp_free)(o);
21633 }
21634
21635 static int __pyx_tp_traverse_6purple_ProxyInfo(PyObject *o, visitproc v, void *a) {
21636   int e;
21637   struct __pyx_obj_6purple_ProxyInfo *p = (struct __pyx_obj_6purple_ProxyInfo *)o;
21638   if (p->types) {
21639     e = (*v)(p->types, a); if (e) return e;
21640   }
21641   return 0;
21642 }
21643
21644 static int __pyx_tp_clear_6purple_ProxyInfo(PyObject *o) {
21645   struct __pyx_obj_6purple_ProxyInfo *p = (struct __pyx_obj_6purple_ProxyInfo *)o;
21646   PyObject* tmp;
21647   tmp = ((PyObject*)p->types);
21648   p->types = Py_None; Py_INCREF(Py_None);
21649   Py_XDECREF(tmp);
21650   return 0;
21651 }
21652
21653 static struct PyMethodDef __pyx_methods_6purple_ProxyInfo[] = {
21654   {"set_type", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_type, METH_O, 0},
21655   {"set_host", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_host, METH_O, 0},
21656   {"set_port", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_port, METH_O, 0},
21657   {"set_username", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_username, METH_O, 0},
21658   {"set_password", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_password, METH_O, 0},
21659   {"get_types", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_get_types, METH_NOARGS, 0},
21660   {"set_info", (PyCFunction)__pyx_pf_6purple_9ProxyInfo_set_info, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6purple_9ProxyInfo_set_info},
21661   {0, 0, 0, 0}
21662 };
21663
21664 static PyNumberMethods __pyx_tp_as_number_ProxyInfo = {
21665   0, /*nb_add*/
21666   0, /*nb_subtract*/
21667   0, /*nb_multiply*/
21668   #if PY_MAJOR_VERSION < 3
21669   0, /*nb_divide*/
21670   #endif
21671   0, /*nb_remainder*/
21672   0, /*nb_divmod*/
21673   0, /*nb_power*/
21674   0, /*nb_negative*/
21675   0, /*nb_positive*/
21676   0, /*nb_absolute*/
21677   0, /*nb_nonzero*/
21678   0, /*nb_invert*/
21679   0, /*nb_lshift*/
21680   0, /*nb_rshift*/
21681   0, /*nb_and*/
21682   0, /*nb_xor*/
21683   0, /*nb_or*/
21684   #if PY_MAJOR_VERSION < 3
21685   0, /*nb_coerce*/
21686   #endif
21687   0, /*nb_int*/
21688   0, /*nb_long*/
21689   0, /*nb_float*/
21690   #if PY_MAJOR_VERSION < 3
21691   0, /*nb_oct*/
21692   #endif
21693   #if PY_MAJOR_VERSION < 3
21694   0, /*nb_hex*/
21695   #endif
21696   0, /*nb_inplace_add*/
21697   0, /*nb_inplace_subtract*/
21698   0, /*nb_inplace_multiply*/
21699   #if PY_MAJOR_VERSION < 3
21700   0, /*nb_inplace_divide*/
21701   #endif
21702   0, /*nb_inplace_remainder*/
21703   0, /*nb_inplace_power*/
21704   0, /*nb_inplace_lshift*/
21705   0, /*nb_inplace_rshift*/
21706   0, /*nb_inplace_and*/
21707   0, /*nb_inplace_xor*/
21708   0, /*nb_inplace_or*/
21709   0, /*nb_floor_divide*/
21710   0, /*nb_true_divide*/
21711   0, /*nb_inplace_floor_divide*/
21712   0, /*nb_inplace_true_divide*/
21713   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
21714   0, /*nb_index*/
21715   #endif
21716 };
21717
21718 static PySequenceMethods __pyx_tp_as_sequence_ProxyInfo = {
21719   0, /*sq_length*/
21720   0, /*sq_concat*/
21721   0, /*sq_repeat*/
21722   0, /*sq_item*/
21723   0, /*sq_slice*/
21724   0, /*sq_ass_item*/
21725   0, /*sq_ass_slice*/
21726   0, /*sq_contains*/
21727   0, /*sq_inplace_concat*/
21728   0, /*sq_inplace_repeat*/
21729 };
21730
21731 static PyMappingMethods __pyx_tp_as_mapping_ProxyInfo = {
21732   0, /*mp_length*/
21733   0, /*mp_subscript*/
21734   0, /*mp_ass_subscript*/
21735 };
21736
21737 static PyBufferProcs __pyx_tp_as_buffer_ProxyInfo = {
21738   #if PY_MAJOR_VERSION < 3
21739   0, /*bf_getreadbuffer*/
21740   #endif
21741   #if PY_MAJOR_VERSION < 3
21742   0, /*bf_getwritebuffer*/
21743   #endif
21744   #if PY_MAJOR_VERSION < 3
21745   0, /*bf_getsegcount*/
21746   #endif
21747   #if PY_MAJOR_VERSION < 3
21748   0, /*bf_getcharbuffer*/
21749   #endif
21750   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21751   0, /*bf_getbuffer*/
21752   #endif
21753   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21754   0, /*bf_releasebuffer*/
21755   #endif
21756 };
21757
21758 PyTypeObject __pyx_type_6purple_ProxyInfo = {
21759   PyVarObject_HEAD_INIT(0, 0)
21760   "purple.ProxyInfo", /*tp_name*/
21761   sizeof(struct __pyx_obj_6purple_ProxyInfo), /*tp_basicsize*/
21762   0, /*tp_itemsize*/
21763   __pyx_tp_dealloc_6purple_ProxyInfo, /*tp_dealloc*/
21764   0, /*tp_print*/
21765   0, /*tp_getattr*/
21766   0, /*tp_setattr*/
21767   0, /*tp_compare*/
21768   0, /*tp_repr*/
21769   &__pyx_tp_as_number_ProxyInfo, /*tp_as_number*/
21770   &__pyx_tp_as_sequence_ProxyInfo, /*tp_as_sequence*/
21771   &__pyx_tp_as_mapping_ProxyInfo, /*tp_as_mapping*/
21772   0, /*tp_hash*/
21773   0, /*tp_call*/
21774   0, /*tp_str*/
21775   0, /*tp_getattro*/
21776   0, /*tp_setattro*/
21777   &__pyx_tp_as_buffer_ProxyInfo, /*tp_as_buffer*/
21778   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
21779   0, /*tp_doc*/
21780   __pyx_tp_traverse_6purple_ProxyInfo, /*tp_traverse*/
21781   __pyx_tp_clear_6purple_ProxyInfo, /*tp_clear*/
21782   0, /*tp_richcompare*/
21783   0, /*tp_weaklistoffset*/
21784   0, /*tp_iter*/
21785   0, /*tp_iternext*/
21786   __pyx_methods_6purple_ProxyInfo, /*tp_methods*/
21787   0, /*tp_members*/
21788   0, /*tp_getset*/
21789   0, /*tp_base*/
21790   0, /*tp_dict*/
21791   0, /*tp_descr_get*/
21792   0, /*tp_descr_set*/
21793   0, /*tp_dictoffset*/
21794   __pyx_pf_6purple_9ProxyInfo___init__, /*tp_init*/
21795   0, /*tp_alloc*/
21796   __pyx_tp_new_6purple_ProxyInfo, /*tp_new*/
21797   0, /*tp_free*/
21798   0, /*tp_is_gc*/
21799   0, /*tp_bases*/
21800   0, /*tp_mro*/
21801   0, /*tp_cache*/
21802   0, /*tp_subclasses*/
21803   0, /*tp_weaklist*/
21804 };
21805 static struct __pyx_vtabstruct_6purple_Account __pyx_vtable_6purple_Account;
21806
21807 static PyObject *__pyx_tp_new_6purple_Account(PyTypeObject *t, PyObject *a, PyObject *k) {
21808   struct __pyx_obj_6purple_Account *p;
21809   PyObject *o = (*t->tp_alloc)(t, 0);
21810   if (!o) return 0;
21811   p = ((struct __pyx_obj_6purple_Account *)o);
21812   *(struct __pyx_vtabstruct_6purple_Account **)&p->__pyx_vtab = __pyx_vtabptr_6purple_Account;
21813   p->__username = Py_None; Py_INCREF(Py_None);
21814   p->__protocol = Py_None; Py_INCREF(Py_None);
21815   p->__core = Py_None; Py_INCREF(Py_None);
21816   p->__exists = Py_None; Py_INCREF(Py_None);
21817   return o;
21818 }
21819
21820 static void __pyx_tp_dealloc_6purple_Account(PyObject *o) {
21821   struct __pyx_obj_6purple_Account *p = (struct __pyx_obj_6purple_Account *)o;
21822   Py_XDECREF(p->__username);
21823   Py_XDECREF(p->__protocol);
21824   Py_XDECREF(p->__core);
21825   Py_XDECREF(p->__exists);
21826   (*Py_TYPE(o)->tp_free)(o);
21827 }
21828
21829 static int __pyx_tp_traverse_6purple_Account(PyObject *o, visitproc v, void *a) {
21830   int e;
21831   struct __pyx_obj_6purple_Account *p = (struct __pyx_obj_6purple_Account *)o;
21832   if (p->__username) {
21833     e = (*v)(p->__username, a); if (e) return e;
21834   }
21835   if (p->__protocol) {
21836     e = (*v)(p->__protocol, a); if (e) return e;
21837   }
21838   if (p->__core) {
21839     e = (*v)(p->__core, a); if (e) return e;
21840   }
21841   if (p->__exists) {
21842     e = (*v)(p->__exists, a); if (e) return e;
21843   }
21844   return 0;
21845 }
21846
21847 static int __pyx_tp_clear_6purple_Account(PyObject *o) {
21848   struct __pyx_obj_6purple_Account *p = (struct __pyx_obj_6purple_Account *)o;
21849   PyObject* tmp;
21850   tmp = ((PyObject*)p->__username);
21851   p->__username = Py_None; Py_INCREF(Py_None);
21852   Py_XDECREF(tmp);
21853   tmp = ((PyObject*)p->__protocol);
21854   p->__protocol = Py_None; Py_INCREF(Py_None);
21855   Py_XDECREF(tmp);
21856   tmp = ((PyObject*)p->__core);
21857   p->__core = Py_None; Py_INCREF(Py_None);
21858   Py_XDECREF(tmp);
21859   tmp = ((PyObject*)p->__exists);
21860   p->__exists = Py_None; Py_INCREF(Py_None);
21861   Py_XDECREF(tmp);
21862   return 0;
21863 }
21864
21865 static struct PyMethodDef __pyx_methods_6purple_Account[] = {
21866   {"__is_connected", (PyCFunction)__pyx_pf_6purple_7Account___is_connected, METH_NOARGS, 0},
21867   {"__is_connecting", (PyCFunction)__pyx_pf_6purple_7Account___is_connecting, METH_NOARGS, 0},
21868   {"__is_disconnected", (PyCFunction)__pyx_pf_6purple_7Account___is_disconnected, METH_NOARGS, 0},
21869   {"__get_core", (PyCFunction)__pyx_pf_6purple_7Account___get_core, METH_NOARGS, 0},
21870   {"__get_exists", (PyCFunction)__pyx_pf_6purple_7Account___get_exists, METH_NOARGS, 0},
21871   {"__get_username", (PyCFunction)__pyx_pf_6purple_7Account___get_username, METH_NOARGS, 0},
21872   {"__get_protocol", (PyCFunction)__pyx_pf_6purple_7Account___get_protocol, METH_NOARGS, 0},
21873   {"_get_protocol_options", (PyCFunction)__pyx_pf_6purple_7Account__get_protocol_options, METH_NOARGS, __pyx_doc_6purple_7Account__get_protocol_options},
21874   {"__get_password", (PyCFunction)__pyx_pf_6purple_7Account___get_password, METH_NOARGS, 0},
21875   {"__get_alias", (PyCFunction)__pyx_pf_6purple_7Account___get_alias, METH_NOARGS, 0},
21876   {"__get_user_info", (PyCFunction)__pyx_pf_6purple_7Account___get_user_info, METH_NOARGS, 0},
21877   {"__get_remember_password", (PyCFunction)__pyx_pf_6purple_7Account___get_remember_password, METH_NOARGS, 0},
21878   {"__get_enabled", (PyCFunction)__pyx_pf_6purple_7Account___get_enabled, METH_NOARGS, 0},
21879   {"__get_status_types", (PyCFunction)__pyx_pf_6purple_7Account___get_status_types, METH_NOARGS, 0},
21880   {"__get_active_status", (PyCFunction)__pyx_pf_6purple_7Account___get_active_status, METH_NOARGS, 0},
21881   {"set_username", (PyCFunction)__pyx_pf_6purple_7Account_set_username, METH_O, __pyx_doc_6purple_7Account_set_username},
21882   {"set_protocol", (PyCFunction)__pyx_pf_6purple_7Account_set_protocol, METH_O, __pyx_doc_6purple_7Account_set_protocol},
21883   {"set_protocol_options", (PyCFunction)__pyx_pf_6purple_7Account_set_protocol_options, METH_O, __pyx_doc_6purple_7Account_set_protocol_options},
21884   {"set_password", (PyCFunction)__pyx_pf_6purple_7Account_set_password, METH_O, __pyx_doc_6purple_7Account_set_password},
21885   {"set_alias", (PyCFunction)__pyx_pf_6purple_7Account_set_alias, METH_O, __pyx_doc_6purple_7Account_set_alias},
21886   {"set_user_info", (PyCFunction)__pyx_pf_6purple_7Account_set_user_info, METH_O, __pyx_doc_6purple_7Account_set_user_info},
21887   {"set_remember_password", (PyCFunction)__pyx_pf_6purple_7Account_set_remember_password, METH_O, __pyx_doc_6purple_7Account_set_remember_password},
21888   {"set_enabled", (PyCFunction)__pyx_pf_6purple_7Account_set_enabled, METH_O, __pyx_doc_6purple_7Account_set_enabled},
21889   {"new", (PyCFunction)__pyx_pf_6purple_7Account_new, METH_NOARGS, __pyx_doc_6purple_7Account_new},
21890   {"remove", (PyCFunction)__pyx_pf_6purple_7Account_remove, METH_NOARGS, __pyx_doc_6purple_7Account_remove},
21891   {"connect", (PyCFunction)__pyx_pf_6purple_7Account_connect, METH_NOARGS, __pyx_doc_6purple_7Account_connect},
21892   {"disconnect", (PyCFunction)__pyx_pf_6purple_7Account_disconnect, METH_NOARGS, __pyx_doc_6purple_7Account_disconnect},
21893   {"add_buddy", (PyCFunction)__pyx_pf_6purple_7Account_add_buddy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6purple_7Account_add_buddy},
21894   {"remove_buddy", (PyCFunction)__pyx_pf_6purple_7Account_remove_buddy, METH_O, __pyx_doc_6purple_7Account_remove_buddy},
21895   {"get_buddies_online", (PyCFunction)__pyx_pf_6purple_7Account_get_buddies_online, METH_NOARGS, 0},
21896   {"get_buddies", (PyCFunction)__pyx_pf_6purple_7Account_get_buddies, METH_NOARGS, 0},
21897   {"request_add_buddy", (PyCFunction)__pyx_pf_6purple_7Account_request_add_buddy, METH_VARARGS|METH_KEYWORDS, 0},
21898   {"set_active_status", (PyCFunction)__pyx_pf_6purple_7Account_set_active_status, METH_VARARGS|METH_KEYWORDS, 0},
21899   {"set_status_message", (PyCFunction)__pyx_pf_6purple_7Account_set_status_message, METH_VARARGS|METH_KEYWORDS, 0},
21900   {0, 0, 0, 0}
21901 };
21902
21903 static PyNumberMethods __pyx_tp_as_number_Account = {
21904   0, /*nb_add*/
21905   0, /*nb_subtract*/
21906   0, /*nb_multiply*/
21907   #if PY_MAJOR_VERSION < 3
21908   0, /*nb_divide*/
21909   #endif
21910   0, /*nb_remainder*/
21911   0, /*nb_divmod*/
21912   0, /*nb_power*/
21913   0, /*nb_negative*/
21914   0, /*nb_positive*/
21915   0, /*nb_absolute*/
21916   0, /*nb_nonzero*/
21917   0, /*nb_invert*/
21918   0, /*nb_lshift*/
21919   0, /*nb_rshift*/
21920   0, /*nb_and*/
21921   0, /*nb_xor*/
21922   0, /*nb_or*/
21923   #if PY_MAJOR_VERSION < 3
21924   0, /*nb_coerce*/
21925   #endif
21926   0, /*nb_int*/
21927   0, /*nb_long*/
21928   0, /*nb_float*/
21929   #if PY_MAJOR_VERSION < 3
21930   0, /*nb_oct*/
21931   #endif
21932   #if PY_MAJOR_VERSION < 3
21933   0, /*nb_hex*/
21934   #endif
21935   0, /*nb_inplace_add*/
21936   0, /*nb_inplace_subtract*/
21937   0, /*nb_inplace_multiply*/
21938   #if PY_MAJOR_VERSION < 3
21939   0, /*nb_inplace_divide*/
21940   #endif
21941   0, /*nb_inplace_remainder*/
21942   0, /*nb_inplace_power*/
21943   0, /*nb_inplace_lshift*/
21944   0, /*nb_inplace_rshift*/
21945   0, /*nb_inplace_and*/
21946   0, /*nb_inplace_xor*/
21947   0, /*nb_inplace_or*/
21948   0, /*nb_floor_divide*/
21949   0, /*nb_true_divide*/
21950   0, /*nb_inplace_floor_divide*/
21951   0, /*nb_inplace_true_divide*/
21952   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
21953   0, /*nb_index*/
21954   #endif
21955 };
21956
21957 static PySequenceMethods __pyx_tp_as_sequence_Account = {
21958   0, /*sq_length*/
21959   0, /*sq_concat*/
21960   0, /*sq_repeat*/
21961   0, /*sq_item*/
21962   0, /*sq_slice*/
21963   0, /*sq_ass_item*/
21964   0, /*sq_ass_slice*/
21965   0, /*sq_contains*/
21966   0, /*sq_inplace_concat*/
21967   0, /*sq_inplace_repeat*/
21968 };
21969
21970 static PyMappingMethods __pyx_tp_as_mapping_Account = {
21971   0, /*mp_length*/
21972   0, /*mp_subscript*/
21973   0, /*mp_ass_subscript*/
21974 };
21975
21976 static PyBufferProcs __pyx_tp_as_buffer_Account = {
21977   #if PY_MAJOR_VERSION < 3
21978   0, /*bf_getreadbuffer*/
21979   #endif
21980   #if PY_MAJOR_VERSION < 3
21981   0, /*bf_getwritebuffer*/
21982   #endif
21983   #if PY_MAJOR_VERSION < 3
21984   0, /*bf_getsegcount*/
21985   #endif
21986   #if PY_MAJOR_VERSION < 3
21987   0, /*bf_getcharbuffer*/
21988   #endif
21989   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21990   0, /*bf_getbuffer*/
21991   #endif
21992   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
21993   0, /*bf_releasebuffer*/
21994   #endif
21995 };
21996
21997 PyTypeObject __pyx_type_6purple_Account = {
21998   PyVarObject_HEAD_INIT(0, 0)
21999   "purple.Account", /*tp_name*/
22000   sizeof(struct __pyx_obj_6purple_Account), /*tp_basicsize*/
22001   0, /*tp_itemsize*/
22002   __pyx_tp_dealloc_6purple_Account, /*tp_dealloc*/
22003   0, /*tp_print*/
22004   0, /*tp_getattr*/
22005   0, /*tp_setattr*/
22006   0, /*tp_compare*/
22007   0, /*tp_repr*/
22008   &__pyx_tp_as_number_Account, /*tp_as_number*/
22009   &__pyx_tp_as_sequence_Account, /*tp_as_sequence*/
22010   &__pyx_tp_as_mapping_Account, /*tp_as_mapping*/
22011   0, /*tp_hash*/
22012   0, /*tp_call*/
22013   0, /*tp_str*/
22014   0, /*tp_getattro*/
22015   0, /*tp_setattro*/
22016   &__pyx_tp_as_buffer_Account, /*tp_as_buffer*/
22017   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
22018   "\n    Account class\n    @param username\n    @param protocol Protocol class instance\n    @param core Purple class instance\n    ", /*tp_doc*/
22019   __pyx_tp_traverse_6purple_Account, /*tp_traverse*/
22020   __pyx_tp_clear_6purple_Account, /*tp_clear*/
22021   0, /*tp_richcompare*/
22022   0, /*tp_weaklistoffset*/
22023   0, /*tp_iter*/
22024   0, /*tp_iternext*/
22025   __pyx_methods_6purple_Account, /*tp_methods*/
22026   0, /*tp_members*/
22027   0, /*tp_getset*/
22028   0, /*tp_base*/
22029   0, /*tp_dict*/
22030   0, /*tp_descr_get*/
22031   0, /*tp_descr_set*/
22032   0, /*tp_dictoffset*/
22033   __pyx_pf_6purple_7Account___init__, /*tp_init*/
22034   0, /*tp_alloc*/
22035   __pyx_tp_new_6purple_Account, /*tp_new*/
22036   0, /*tp_free*/
22037   0, /*tp_is_gc*/
22038   0, /*tp_bases*/
22039   0, /*tp_mro*/
22040   0, /*tp_cache*/
22041   0, /*tp_subclasses*/
22042   0, /*tp_weaklist*/
22043 };
22044 static struct __pyx_vtabstruct_6purple_Buddy __pyx_vtable_6purple_Buddy;
22045
22046 static PyObject *__pyx_tp_new_6purple_Buddy(PyTypeObject *t, PyObject *a, PyObject *k) {
22047   struct __pyx_obj_6purple_Buddy *p;
22048   PyObject *o = (*t->tp_alloc)(t, 0);
22049   if (!o) return 0;
22050   p = ((struct __pyx_obj_6purple_Buddy *)o);
22051   *(struct __pyx_vtabstruct_6purple_Buddy **)&p->__pyx_vtab = __pyx_vtabptr_6purple_Buddy;
22052   p->__account = Py_None; Py_INCREF(Py_None);
22053   p->__name = Py_None; Py_INCREF(Py_None);
22054   p->__exists = Py_None; Py_INCREF(Py_None);
22055   return o;
22056 }
22057
22058 static void __pyx_tp_dealloc_6purple_Buddy(PyObject *o) {
22059   struct __pyx_obj_6purple_Buddy *p = (struct __pyx_obj_6purple_Buddy *)o;
22060   Py_XDECREF(p->__account);
22061   Py_XDECREF(p->__name);
22062   Py_XDECREF(p->__exists);
22063   (*Py_TYPE(o)->tp_free)(o);
22064 }
22065
22066 static int __pyx_tp_traverse_6purple_Buddy(PyObject *o, visitproc v, void *a) {
22067   int e;
22068   struct __pyx_obj_6purple_Buddy *p = (struct __pyx_obj_6purple_Buddy *)o;
22069   if (p->__account) {
22070     e = (*v)(p->__account, a); if (e) return e;
22071   }
22072   if (p->__name) {
22073     e = (*v)(p->__name, a); if (e) return e;
22074   }
22075   if (p->__exists) {
22076     e = (*v)(p->__exists, a); if (e) return e;
22077   }
22078   return 0;
22079 }
22080
22081 static int __pyx_tp_clear_6purple_Buddy(PyObject *o) {
22082   struct __pyx_obj_6purple_Buddy *p = (struct __pyx_obj_6purple_Buddy *)o;
22083   PyObject* tmp;
22084   tmp = ((PyObject*)p->__account);
22085   p->__account = Py_None; Py_INCREF(Py_None);
22086   Py_XDECREF(tmp);
22087   tmp = ((PyObject*)p->__name);
22088   p->__name = Py_None; Py_INCREF(Py_None);
22089   Py_XDECREF(tmp);
22090   tmp = ((PyObject*)p->__exists);
22091   p->__exists = Py_None; Py_INCREF(Py_None);
22092   Py_XDECREF(tmp);
22093   return 0;
22094 }
22095
22096 static struct PyMethodDef __pyx_methods_6purple_Buddy[] = {
22097   {"__get_exists", (PyCFunction)__pyx_pf_6purple_5Buddy___get_exists, METH_NOARGS, 0},
22098   {"__get_name", (PyCFunction)__pyx_pf_6purple_5Buddy___get_name, METH_NOARGS, 0},
22099   {"__get_account", (PyCFunction)__pyx_pf_6purple_5Buddy___get_account, METH_NOARGS, 0},
22100   {"__get_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_alias, METH_NOARGS, 0},
22101   {"__get_group", (PyCFunction)__pyx_pf_6purple_5Buddy___get_group, METH_NOARGS, 0},
22102   {"__get_server_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_server_alias, METH_NOARGS, 0},
22103   {"__get_contact_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_contact_alias, METH_NOARGS, 0},
22104   {"__get_local_alias", (PyCFunction)__pyx_pf_6purple_5Buddy___get_local_alias, METH_NOARGS, 0},
22105   {"__get_available", (PyCFunction)__pyx_pf_6purple_5Buddy___get_available, METH_NOARGS, 0},
22106   {"__get_online", (PyCFunction)__pyx_pf_6purple_5Buddy___get_online, METH_NOARGS, 0},
22107   {"__get_idle", (PyCFunction)__pyx_pf_6purple_5Buddy___get_idle, METH_NOARGS, 0},
22108   {"__get_active_status", (PyCFunction)__pyx_pf_6purple_5Buddy___get_active_status, METH_NOARGS, 0},
22109   {"set_alias", (PyCFunction)__pyx_pf_6purple_5Buddy_set_alias, METH_O, 0},
22110   {"set_group", (PyCFunction)__pyx_pf_6purple_5Buddy_set_group, METH_O, 0},
22111   {0, 0, 0, 0}
22112 };
22113
22114 static PyNumberMethods __pyx_tp_as_number_Buddy = {
22115   0, /*nb_add*/
22116   0, /*nb_subtract*/
22117   0, /*nb_multiply*/
22118   #if PY_MAJOR_VERSION < 3
22119   0, /*nb_divide*/
22120   #endif
22121   0, /*nb_remainder*/
22122   0, /*nb_divmod*/
22123   0, /*nb_power*/
22124   0, /*nb_negative*/
22125   0, /*nb_positive*/
22126   0, /*nb_absolute*/
22127   0, /*nb_nonzero*/
22128   0, /*nb_invert*/
22129   0, /*nb_lshift*/
22130   0, /*nb_rshift*/
22131   0, /*nb_and*/
22132   0, /*nb_xor*/
22133   0, /*nb_or*/
22134   #if PY_MAJOR_VERSION < 3
22135   0, /*nb_coerce*/
22136   #endif
22137   0, /*nb_int*/
22138   0, /*nb_long*/
22139   0, /*nb_float*/
22140   #if PY_MAJOR_VERSION < 3
22141   0, /*nb_oct*/
22142   #endif
22143   #if PY_MAJOR_VERSION < 3
22144   0, /*nb_hex*/
22145   #endif
22146   0, /*nb_inplace_add*/
22147   0, /*nb_inplace_subtract*/
22148   0, /*nb_inplace_multiply*/
22149   #if PY_MAJOR_VERSION < 3
22150   0, /*nb_inplace_divide*/
22151   #endif
22152   0, /*nb_inplace_remainder*/
22153   0, /*nb_inplace_power*/
22154   0, /*nb_inplace_lshift*/
22155   0, /*nb_inplace_rshift*/
22156   0, /*nb_inplace_and*/
22157   0, /*nb_inplace_xor*/
22158   0, /*nb_inplace_or*/
22159   0, /*nb_floor_divide*/
22160   0, /*nb_true_divide*/
22161   0, /*nb_inplace_floor_divide*/
22162   0, /*nb_inplace_true_divide*/
22163   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
22164   0, /*nb_index*/
22165   #endif
22166 };
22167
22168 static PySequenceMethods __pyx_tp_as_sequence_Buddy = {
22169   0, /*sq_length*/
22170   0, /*sq_concat*/
22171   0, /*sq_repeat*/
22172   0, /*sq_item*/
22173   0, /*sq_slice*/
22174   0, /*sq_ass_item*/
22175   0, /*sq_ass_slice*/
22176   0, /*sq_contains*/
22177   0, /*sq_inplace_concat*/
22178   0, /*sq_inplace_repeat*/
22179 };
22180
22181 static PyMappingMethods __pyx_tp_as_mapping_Buddy = {
22182   0, /*mp_length*/
22183   0, /*mp_subscript*/
22184   0, /*mp_ass_subscript*/
22185 };
22186
22187 static PyBufferProcs __pyx_tp_as_buffer_Buddy = {
22188   #if PY_MAJOR_VERSION < 3
22189   0, /*bf_getreadbuffer*/
22190   #endif
22191   #if PY_MAJOR_VERSION < 3
22192   0, /*bf_getwritebuffer*/
22193   #endif
22194   #if PY_MAJOR_VERSION < 3
22195   0, /*bf_getsegcount*/
22196   #endif
22197   #if PY_MAJOR_VERSION < 3
22198   0, /*bf_getcharbuffer*/
22199   #endif
22200   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
22201   0, /*bf_getbuffer*/
22202   #endif
22203   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
22204   0, /*bf_releasebuffer*/
22205   #endif
22206 };
22207
22208 PyTypeObject __pyx_type_6purple_Buddy = {
22209   PyVarObject_HEAD_INIT(0, 0)
22210   "purple.Buddy", /*tp_name*/
22211   sizeof(struct __pyx_obj_6purple_Buddy), /*tp_basicsize*/
22212   0, /*tp_itemsize*/
22213   __pyx_tp_dealloc_6purple_Buddy, /*tp_dealloc*/
22214   0, /*tp_print*/
22215   0, /*tp_getattr*/
22216   0, /*tp_setattr*/
22217   0, /*tp_compare*/
22218   0, /*tp_repr*/
22219   &__pyx_tp_as_number_Buddy, /*tp_as_number*/
22220   &__pyx_tp_as_sequence_Buddy, /*tp_as_sequence*/
22221   &__pyx_tp_as_mapping_Buddy, /*tp_as_mapping*/
22222   0, /*tp_hash*/
22223   0, /*tp_call*/
22224   0, /*tp_str*/
22225   0, /*tp_getattro*/
22226   0, /*tp_setattro*/
22227   &__pyx_tp_as_buffer_Buddy, /*tp_as_buffer*/
22228   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
22229   "\n    Buddy class\n    @param name\n    @param account\n    ", /*tp_doc*/
22230   __pyx_tp_traverse_6purple_Buddy, /*tp_traverse*/
22231   __pyx_tp_clear_6purple_Buddy, /*tp_clear*/
22232   0, /*tp_richcompare*/
22233   0, /*tp_weaklistoffset*/
22234   0, /*tp_iter*/
22235   0, /*tp_iternext*/
22236   __pyx_methods_6purple_Buddy, /*tp_methods*/
22237   0, /*tp_members*/
22238   0, /*tp_getset*/
22239   0, /*tp_base*/
22240   0, /*tp_dict*/
22241   0, /*tp_descr_get*/
22242   0, /*tp_descr_set*/
22243   0, /*tp_dictoffset*/
22244   __pyx_pf_6purple_5Buddy___init__, /*tp_init*/
22245   0, /*tp_alloc*/
22246   __pyx_tp_new_6purple_Buddy, /*tp_new*/
22247   0, /*tp_free*/
22248   0, /*tp_is_gc*/
22249   0, /*tp_bases*/
22250   0, /*tp_mro*/
22251   0, /*tp_cache*/
22252   0, /*tp_subclasses*/
22253   0, /*tp_weaklist*/
22254 };
22255 static struct __pyx_vtabstruct_6purple_Conversation __pyx_vtable_6purple_Conversation;
22256
22257 static PyObject *__pyx_tp_new_6purple_Conversation(PyTypeObject *t, PyObject *a, PyObject *k) {
22258   struct __pyx_obj_6purple_Conversation *p;
22259   PyObject *o = (*t->tp_alloc)(t, 0);
22260   if (!o) return 0;
22261   p = ((struct __pyx_obj_6purple_Conversation *)o);
22262   *(struct __pyx_vtabstruct_6purple_Conversation **)&p->__pyx_vtab = __pyx_vtabptr_6purple_Conversation;
22263   p->__account = Py_None; Py_INCREF(Py_None);
22264   p->__name = Py_None; Py_INCREF(Py_None);
22265   p->__type = Py_None; Py_INCREF(Py_None);
22266   p->__exists = Py_None; Py_INCREF(Py_None);
22267   return o;
22268 }
22269
22270 static void __pyx_tp_dealloc_6purple_Conversation(PyObject *o) {
22271   struct __pyx_obj_6purple_Conversation *p = (struct __pyx_obj_6purple_Conversation *)o;
22272   Py_XDECREF(p->__account);
22273   Py_XDECREF(p->__name);
22274   Py_XDECREF(p->__type);
22275   Py_XDECREF(p->__exists);
22276   (*Py_TYPE(o)->tp_free)(o);
22277 }
22278
22279 static int __pyx_tp_traverse_6purple_Conversation(PyObject *o, visitproc v, void *a) {
22280   int e;
22281   struct __pyx_obj_6purple_Conversation *p = (struct __pyx_obj_6purple_Conversation *)o;
22282   if (p->__account) {
22283     e = (*v)(p->__account, a); if (e) return e;
22284   }
22285   if (p->__name) {
22286     e = (*v)(p->__name, a); if (e) return e;
22287   }
22288   if (p->__type) {
22289     e = (*v)(p->__type, a); if (e) return e;
22290   }
22291   if (p->__exists) {
22292     e = (*v)(p->__exists, a); if (e) return e;
22293   }
22294   return 0;
22295 }
22296
22297 static int __pyx_tp_clear_6purple_Conversation(PyObject *o) {
22298   struct __pyx_obj_6purple_Conversation *p = (struct __pyx_obj_6purple_Conversation *)o;
22299   PyObject* tmp;
22300   tmp = ((PyObject*)p->__account);
22301   p->__account = Py_None; Py_INCREF(Py_None);
22302   Py_XDECREF(tmp);
22303   tmp = ((PyObject*)p->__name);
22304   p->__name = Py_None; Py_INCREF(Py_None);
22305   Py_XDECREF(tmp);
22306   tmp = ((PyObject*)p->__type);
22307   p->__type = Py_None; Py_INCREF(Py_None);
22308   Py_XDECREF(tmp);
22309   tmp = ((PyObject*)p->__exists);
22310   p->__exists = Py_None; Py_INCREF(Py_None);
22311   Py_XDECREF(tmp);
22312   return 0;
22313 }
22314
22315 static struct PyMethodDef __pyx_methods_6purple_Conversation[] = {
22316   {"__get_exists", (PyCFunction)__pyx_pf_6purple_12Conversation___get_exists, METH_NOARGS, 0},
22317   {"__get_account", (PyCFunction)__pyx_pf_6purple_12Conversation___get_account, METH_NOARGS, 0},
22318   {"__get_name", (PyCFunction)__pyx_pf_6purple_12Conversation___get_name, METH_NOARGS, 0},
22319   {"new", (PyCFunction)__pyx_pf_6purple_12Conversation_new, METH_NOARGS, __pyx_doc_6purple_12Conversation_new},
22320   {"destroy", (PyCFunction)__pyx_pf_6purple_12Conversation_destroy, METH_NOARGS, __pyx_doc_6purple_12Conversation_destroy},
22321   {"set_ui_ops", (PyCFunction)__pyx_pf_6purple_12Conversation_set_ui_ops, METH_O, __pyx_doc_6purple_12Conversation_set_ui_ops},
22322   {"im_send", (PyCFunction)__pyx_pf_6purple_12Conversation_im_send, METH_O, __pyx_doc_6purple_12Conversation_im_send},
22323   {0, 0, 0, 0}
22324 };
22325
22326 static PyNumberMethods __pyx_tp_as_number_Conversation = {
22327   0, /*nb_add*/
22328   0, /*nb_subtract*/
22329   0, /*nb_multiply*/
22330   #if PY_MAJOR_VERSION < 3
22331   0, /*nb_divide*/
22332   #endif
22333   0, /*nb_remainder*/
22334   0, /*nb_divmod*/
22335   0, /*nb_power*/
22336   0, /*nb_negative*/
22337   0, /*nb_positive*/
22338   0, /*nb_absolute*/
22339   0, /*nb_nonzero*/
22340   0, /*nb_invert*/
22341   0, /*nb_lshift*/
22342   0, /*nb_rshift*/
22343   0, /*nb_and*/
22344   0, /*nb_xor*/
22345   0, /*nb_or*/
22346   #if PY_MAJOR_VERSION < 3
22347   0, /*nb_coerce*/
22348   #endif
22349   0, /*nb_int*/
22350   0, /*nb_long*/
22351   0, /*nb_float*/
22352   #if PY_MAJOR_VERSION < 3
22353   0, /*nb_oct*/
22354   #endif
22355   #if PY_MAJOR_VERSION < 3
22356   0, /*nb_hex*/
22357   #endif
22358   0, /*nb_inplace_add*/
22359   0, /*nb_inplace_subtract*/
22360   0, /*nb_inplace_multiply*/
22361   #if PY_MAJOR_VERSION < 3
22362   0, /*nb_inplace_divide*/
22363   #endif
22364   0, /*nb_inplace_remainder*/
22365   0, /*nb_inplace_power*/
22366   0, /*nb_inplace_lshift*/
22367   0, /*nb_inplace_rshift*/
22368   0, /*nb_inplace_and*/
22369   0, /*nb_inplace_xor*/
22370   0, /*nb_inplace_or*/
22371   0, /*nb_floor_divide*/
22372   0, /*nb_true_divide*/
22373   0, /*nb_inplace_floor_divide*/
22374   0, /*nb_inplace_true_divide*/
22375   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
22376   0, /*nb_index*/
22377   #endif
22378 };
22379
22380 static PySequenceMethods __pyx_tp_as_sequence_Conversation = {
22381   0, /*sq_length*/
22382   0, /*sq_concat*/
22383   0, /*sq_repeat*/
22384   0, /*sq_item*/
22385   0, /*sq_slice*/
22386   0, /*sq_ass_item*/
22387   0, /*sq_ass_slice*/
22388   0, /*sq_contains*/
22389   0, /*sq_inplace_concat*/
22390   0, /*sq_inplace_repeat*/
22391 };
22392
22393 static PyMappingMethods __pyx_tp_as_mapping_Conversation = {
22394   0, /*mp_length*/
22395   0, /*mp_subscript*/
22396   0, /*mp_ass_subscript*/
22397 };
22398
22399 static PyBufferProcs __pyx_tp_as_buffer_Conversation = {
22400   #if PY_MAJOR_VERSION < 3
22401   0, /*bf_getreadbuffer*/
22402   #endif
22403   #if PY_MAJOR_VERSION < 3
22404   0, /*bf_getwritebuffer*/
22405   #endif
22406   #if PY_MAJOR_VERSION < 3
22407   0, /*bf_getsegcount*/
22408   #endif
22409   #if PY_MAJOR_VERSION < 3
22410   0, /*bf_getcharbuffer*/
22411   #endif
22412   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
22413   0, /*bf_getbuffer*/
22414   #endif
22415   #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_NEWBUFFER)
22416   0, /*bf_releasebuffer*/
22417   #endif
22418 };
22419
22420 PyTypeObject __pyx_type_6purple_Conversation = {
22421   PyVarObject_HEAD_INIT(0, 0)
22422   "purple.Conversation", /*tp_name*/
22423   sizeof(struct __pyx_obj_6purple_Conversation), /*tp_basicsize*/
22424   0, /*tp_itemsize*/
22425   __pyx_tp_dealloc_6purple_Conversation, /*tp_dealloc*/
22426   0, /*tp_print*/
22427   0, /*tp_getattr*/
22428   0, /*tp_setattr*/
22429   0, /*tp_compare*/
22430   0, /*tp_repr*/
22431   &__pyx_tp_as_number_Conversation, /*tp_as_number*/
22432   &__pyx_tp_as_sequence_Conversation, /*tp_as_sequence*/
22433   &__pyx_tp_as_mapping_Conversation, /*tp_as_mapping*/
22434   0, /*tp_hash*/
22435   0, /*tp_call*/
22436   0, /*tp_str*/
22437   0, /*tp_getattro*/
22438   0, /*tp_setattro*/
22439   &__pyx_tp_as_buffer_Conversation, /*tp_as_buffer*/
22440   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
22441   "\n    Conversation class\n    @param type    UNKNOWN, IM, CHAT, MISC, ANY\n    @param account Your account\n    @param name    Buddy name\n    ", /*tp_doc*/
22442   __pyx_tp_traverse_6purple_Conversation, /*tp_traverse*/
22443   __pyx_tp_clear_6purple_Conversation, /*tp_clear*/
22444   0, /*tp_richcompare*/
22445   0, /*tp_weaklistoffset*/
22446   0, /*tp_iter*/
22447   0, /*tp_iternext*/
22448   __pyx_methods_6purple_Conversation, /*tp_methods*/
22449   0, /*tp_members*/
22450   0, /*tp_getset*/
22451   0, /*tp_base*/
22452   0, /*tp_dict*/
22453   0, /*tp_descr_get*/
22454   0, /*tp_descr_set*/
22455   0, /*tp_dictoffset*/
22456   __pyx_pf_6purple_12Conversation___init__, /*tp_init*/
22457   0, /*tp_alloc*/
22458   __pyx_tp_new_6purple_Conversation, /*tp_new*/
22459   0, /*tp_free*/
22460   0, /*tp_is_gc*/
22461   0, /*tp_bases*/
22462   0, /*tp_mro*/
22463   0, /*tp_cache*/
22464   0, /*tp_subclasses*/
22465   0, /*tp_weaklist*/
22466 };
22467
22468 static struct PyMethodDef __pyx_methods[] = {
22469   {"call_authorize_cb", (PyCFunction)__pyx_pf_6purple_call_authorize_cb, METH_NOARGS, 0},
22470   {"call_deny_cb", (PyCFunction)__pyx_pf_6purple_call_deny_cb, METH_NOARGS, 0},
22471   {"markup_strip_html", (PyCFunction)__pyx_pf_6purple_markup_strip_html, METH_O, 0},
22472   {0, 0, 0, 0}
22473 };
22474
22475 static void __pyx_init_filenames(void); /*proto*/
22476
22477 PyMODINIT_FUNC initpurple(void); /*proto*/
22478 PyMODINIT_FUNC initpurple(void) {
22479   PyObject *__pyx_1 = 0;
22480   PyObject *__pyx_2 = 0;
22481   __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;}
22482   /*--- Libary function declarations ---*/
22483   __pyx_init_filenames();
22484   /*--- Module creation code ---*/
22485   __pyx_m = Py_InitModule4("purple", __pyx_methods, 0, 0, PYTHON_API_VERSION);
22486   if (!__pyx_m) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22487   Py_INCREF(__pyx_m);
22488   __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME);
22489   if (!__pyx_b) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22490   if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22491   /*--- Intern code ---*/
22492   __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22493   __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22494   __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22495   __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22496   __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22497   __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22498   __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22499   __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22500   __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22501   __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22502   __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22503   __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22504   __pyx_int_12 = PyInt_FromLong(12); if (unlikely(!__pyx_int_12)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22505   __pyx_int_13 = PyInt_FromLong(13); if (unlikely(!__pyx_int_13)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22506   __pyx_int_14 = PyInt_FromLong(14); if (unlikely(!__pyx_int_14)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22507   __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22508   __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22509   /*--- String init code ---*/
22510   if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1;};
22511   /*--- Builtin init code ---*/
22512   __pyx_builtin_property = __Pyx_GetName(__pyx_b, __pyx_kp_property); if (!__pyx_builtin_property) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
22513   __pyx_builtin_bool = __Pyx_GetName(__pyx_b, __pyx_kp_bool); if (!__pyx_builtin_bool) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
22514   __pyx_skip_dispatch = 0;
22515   /*--- Global init code ---*/
22516   /*--- Function export code ---*/
22517   /*--- Type init code ---*/
22518   __pyx_vtabptr_6purple_Purple = &__pyx_vtable_6purple_Purple;
22519   *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_ui_prefs_init = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_ui_prefs_init;
22520   *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_debug_init = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_debug_init;
22521   *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_ui_init = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_ui_init;
22522   *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_quit = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_quit;
22523   *(void(**)(void))&__pyx_vtable_6purple_Purple.__core_ui_ops_get_ui_info = (void(*)(void))__pyx_f_6purple_6Purple___core_ui_ops_get_ui_info;
22524   if (PyType_Ready(&__pyx_type_6purple_Purple) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22525   if (__Pyx_SetVtable(__pyx_type_6purple_Purple.tp_dict, __pyx_vtabptr_6purple_Purple) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22526   if (PyObject_SetAttrString(__pyx_m, "Purple", (PyObject *)&__pyx_type_6purple_Purple) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22527   __pyx_ptype_6purple_Purple = &__pyx_type_6purple_Purple;
22528   __pyx_vtabptr_6purple_Protocol = &__pyx_vtable_6purple_Protocol;
22529   *(void(**)(void))&__pyx_vtable_6purple_Protocol._get_structure = (void(*)(void))__pyx_f_6purple_8Protocol__get_structure;
22530   if (PyType_Ready(&__pyx_type_6purple_Protocol) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22531   if (__Pyx_SetVtable(__pyx_type_6purple_Protocol.tp_dict, __pyx_vtabptr_6purple_Protocol) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22532   if (PyObject_SetAttrString(__pyx_m, "Protocol", (PyObject *)&__pyx_type_6purple_Protocol) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22533   __pyx_ptype_6purple_Protocol = &__pyx_type_6purple_Protocol;
22534   if (PyType_Ready(&__pyx_type_6purple_ProxyInfoType) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22535   if (PyObject_SetAttrString(__pyx_m, "ProxyInfoType", (PyObject *)&__pyx_type_6purple_ProxyInfoType) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22536   __pyx_ptype_6purple_ProxyInfoType = &__pyx_type_6purple_ProxyInfoType;
22537   if (PyType_Ready(&__pyx_type_6purple_ProxyInfo) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
22538   if (PyObject_SetAttrString(__pyx_m, "ProxyInfo", (PyObject *)&__pyx_type_6purple_ProxyInfo) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
22539   __pyx_ptype_6purple_ProxyInfo = &__pyx_type_6purple_ProxyInfo;
22540   __pyx_vtabptr_6purple_Account = &__pyx_vtable_6purple_Account;
22541   *(void(**)(void))&__pyx_vtable_6purple_Account._get_structure = (void(*)(void))__pyx_f_6purple_7Account__get_structure;
22542   if (PyType_Ready(&__pyx_type_6purple_Account) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22543   if (__Pyx_SetVtable(__pyx_type_6purple_Account.tp_dict, __pyx_vtabptr_6purple_Account) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22544   if (PyObject_SetAttrString(__pyx_m, "Account", (PyObject *)&__pyx_type_6purple_Account) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22545   __pyx_ptype_6purple_Account = &__pyx_type_6purple_Account;
22546   __pyx_vtabptr_6purple_Buddy = &__pyx_vtable_6purple_Buddy;
22547   *(void(**)(void))&__pyx_vtable_6purple_Buddy._get_structure = (void(*)(void))__pyx_f_6purple_5Buddy__get_structure;
22548   if (PyType_Ready(&__pyx_type_6purple_Buddy) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22549   if (__Pyx_SetVtable(__pyx_type_6purple_Buddy.tp_dict, __pyx_vtabptr_6purple_Buddy) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22550   if (PyObject_SetAttrString(__pyx_m, "Buddy", (PyObject *)&__pyx_type_6purple_Buddy) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22551   __pyx_ptype_6purple_Buddy = &__pyx_type_6purple_Buddy;
22552   __pyx_vtabptr_6purple_Conversation = &__pyx_vtable_6purple_Conversation;
22553   *(void(**)(void))&__pyx_vtable_6purple_Conversation._get_structure = (void(*)(void))__pyx_f_6purple_12Conversation__get_structure;
22554   if (PyType_Ready(&__pyx_type_6purple_Conversation) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22555   if (__Pyx_SetVtable(__pyx_type_6purple_Conversation.tp_dict, __pyx_vtabptr_6purple_Conversation) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22556   if (PyObject_SetAttrString(__pyx_m, "Conversation", (PyObject *)&__pyx_type_6purple_Conversation) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22557   __pyx_ptype_6purple_Conversation = &__pyx_type_6purple_Conversation;
22558   /*--- Type import code ---*/
22559   /*--- Function import code ---*/
22560   /*--- Execution code ---*/
22561
22562   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":25
22563  *     glib.guint glib_input_add(glib.gint fd, eventloop.PurpleInputCondition condition, eventloop.PurpleInputFunction function, glib.gpointer data)
22564  * 
22565  * import ecore             # <<<<<<<<<<<<<<
22566  * 
22567  * cdef glib.GHashTable *c_ui_info
22568  */
22569   __pyx_1 = __Pyx_Import(__pyx_kp_ecore, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22570   if (PyObject_SetAttr(__pyx_m, __pyx_kp_ecore, __pyx_1) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22571   Py_DECREF(__pyx_1); __pyx_1 = 0;
22572
22573   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":29
22574  * cdef glib.GHashTable *c_ui_info
22575  * 
22576  * c_ui_info = NULL             # <<<<<<<<<<<<<<
22577  * 
22578  * cdef char *c_ui_name
22579  */
22580   __pyx_v_6purple_c_ui_info = NULL;
22581
22582   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":25
22583  *     ctypedef char const_char "const char"
22584  * 
22585  * account_cbs = {}             # <<<<<<<<<<<<<<
22586  * 
22587  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL
22588  */
22589   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22590   if (PyObject_SetAttr(__pyx_m, __pyx_kp_account_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22591   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22592
22593   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":27
22594  * account_cbs = {}
22595  * 
22596  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL             # <<<<<<<<<<<<<<
22597  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_deny_cb = NULL
22598  * cdef void *c_request_authorize_user_data = NULL
22599  */
22600   __pyx_v_6purple_c_request_authorize_authorize_cb = NULL;
22601
22602
22603   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":28
22604  * 
22605  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL
22606  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_deny_cb = NULL             # <<<<<<<<<<<<<<
22607  * cdef void *c_request_authorize_user_data = NULL
22608  * 
22609  */
22610   __pyx_v_6purple_c_request_authorize_deny_cb = NULL;
22611
22612
22613   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account_cbs.pxd":29
22614  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_authorize_cb = NULL
22615  * cdef account.PurpleAccountRequestAuthorizationCb c_request_authorize_deny_cb = NULL
22616  * cdef void *c_request_authorize_user_data = NULL             # <<<<<<<<<<<<<<
22617  * 
22618  * def call_authorize_cb():
22619  */
22620   __pyx_v_6purple_c_request_authorize_user_data = NULL;
22621
22622
22623   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/blist_cbs.pxd":25
22624  *     ctypedef char const_char "const char"
22625  * 
22626  * blist_cbs = {}             # <<<<<<<<<<<<<<
22627  * 
22628  * cdef void __group_node_cb(blist.PurpleBlistNode *node, object callback):
22629  */
22630   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22631   if (PyObject_SetAttr(__pyx_m, __pyx_kp_blist_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22632   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22633
22634   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/connection_cbs.pxd":22
22635  * cimport purple
22636  * 
22637  * cdef extern from *:             # <<<<<<<<<<<<<<
22638  *     ctypedef char const_char "const char"
22639  * 
22640  */
22641   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22642   if (PyObject_SetAttr(__pyx_m, __pyx_kp_connection_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1;}
22643   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22644
22645   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation_cbs.pxd":27
22646  *     ctypedef long int time_t
22647  * 
22648  * conversation_cbs = {}             # <<<<<<<<<<<<<<
22649  * 
22650  * cdef void create_conversation(conversation.PurpleConversation *conv):
22651  */
22652   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1;}
22653   if (PyObject_SetAttr(__pyx_m, __pyx_kp_conversation_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1;}
22654   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22655
22656   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/notify_cbs.pxd":26
22657  *     ctypedef int size_t
22658  * 
22659  * notify_cbs = {}             # <<<<<<<<<<<<<<
22660  * 
22661  * cdef void *notify_message(notify.PurpleNotifyMsgType type, \
22662  */
22663   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1;}
22664   if (PyObject_SetAttr(__pyx_m, __pyx_kp_notify_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1;}
22665   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22666
22667   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/request_cbs.pxd":27
22668  *     ctypedef void* va_list
22669  * 
22670  * request_cbs = {}             # <<<<<<<<<<<<<<
22671  * 
22672  * cdef void *request_input(const_char *title, const_char *primary, \
22673  */
22674   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1;}
22675   if (PyObject_SetAttr(__pyx_m, __pyx_kp_request_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1;}
22676   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22677
22678   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/signal_cbs.pxd":22
22679  * cimport purple
22680  * 
22681  * signal_cbs = {}             # <<<<<<<<<<<<<<
22682  * 
22683  * cdef extern from *:
22684  */
22685   __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22686   if (PyObject_SetAttr(__pyx_m, __pyx_kp_signal_cbs, ((PyObject *)__pyx_1)) < 0) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1;}
22687   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22688
22689   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/purple.pyx":96
22690  *         global c_ui_name
22691  *         return str(c_ui_name)
22692  *     ui_name = property(__get_ui_name)             # <<<<<<<<<<<<<<
22693  * 
22694  *     cdef void __core_ui_ops_ui_prefs_init(self):
22695  */
22696   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Purple, __pyx_kp___get_ui_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
22697   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
22698   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22699   __pyx_1 = 0;
22700   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
22701   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22702   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Purple->tp_dict, __pyx_kp_ui_name, __pyx_1) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1;}
22703   __Pyx_TypeModified(__pyx_ptype_6purple_Purple);
22704
22705   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":43
22706  *     def __get_exists(self):
22707  *         return self.__exists
22708  *     exists = property(__get_exists)             # <<<<<<<<<<<<<<
22709  * 
22710  *     def __get_id(self):
22711  */
22712   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp___get_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1;}
22713   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1;}
22714   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22715   __pyx_2 = 0;
22716   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1;}
22717   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22718   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_exists, __pyx_2) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1;}
22719   __Pyx_TypeModified(__pyx_ptype_6purple_Protocol);
22720
22721   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":47
22722  *     def __get_id(self):
22723  *         return self.__id
22724  *     id = property(__get_id)             # <<<<<<<<<<<<<<
22725  * 
22726  *     def __get_name(self):
22727  */
22728   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp___get_id); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
22729   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
22730   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22731   __pyx_1 = 0;
22732   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
22733   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22734   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_id, __pyx_1) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1;}
22735   __Pyx_TypeModified(__pyx_ptype_6purple_Protocol);
22736
22737   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":58
22738  *                 return None
22739  *         return None
22740  *     name = property(__get_name)             # <<<<<<<<<<<<<<
22741  * 
22742  *     def __get_options_labels(self):
22743  */
22744   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp___get_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1;}
22745   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1;}
22746   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22747   __pyx_2 = 0;
22748   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1;}
22749   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22750   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_name, __pyx_2) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1;}
22751   __Pyx_TypeModified(__pyx_ptype_6purple_Protocol);
22752
22753   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":92
22754  * 
22755  *         return po
22756  *     options_labels = property(__get_options_labels)             # <<<<<<<<<<<<<<
22757  * 
22758  *     def __get_options_values(self):
22759  */
22760   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
22761   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
22762   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22763   __pyx_1 = 0;
22764   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
22765   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22766   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_options_labels, __pyx_1) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
22767   __Pyx_TypeModified(__pyx_ptype_6purple_Protocol);
22768
22769   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/protocol.pyx":148
22770  * 
22771  *         return po
22772  *     options_values = property(__get_options_values)             # <<<<<<<<<<<<<<
22773  */
22774   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Protocol, __pyx_kp_4); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1;}
22775   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1;}
22776   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22777   __pyx_2 = 0;
22778   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1;}
22779   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22780   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Protocol->tp_dict, __pyx_kp_options_values, __pyx_2) < 0) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1;}
22781   __Pyx_TypeModified(__pyx_ptype_6purple_Protocol);
22782
22783   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":31
22784  *         self.c_type = proxy.PURPLE_PROXY_NONE
22785  *         return self
22786  *     NONE = property(get_NONE)             # <<<<<<<<<<<<<<
22787  * 
22788  *     def get_USE_GLOBAL(self):
22789  */
22790   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_NONE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1;}
22791   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1;}
22792   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22793   __pyx_1 = 0;
22794   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1;}
22795   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22796   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_NONE, __pyx_1) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1;}
22797   __Pyx_TypeModified(__pyx_ptype_6purple_ProxyInfoType);
22798
22799   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":36
22800  *         self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL
22801  *         return self
22802  *     USE_GLOBAL = property(get_USE_GLOBAL)             # <<<<<<<<<<<<<<
22803  * 
22804  *     def get_HTTP(self):
22805  */
22806   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_USE_GLOBAL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
22807   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
22808   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22809   __pyx_2 = 0;
22810   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
22811   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22812   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_USE_GLOBAL, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1;}
22813   __Pyx_TypeModified(__pyx_ptype_6purple_ProxyInfoType);
22814
22815   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":41
22816  *         self.c_type = proxy.PURPLE_PROXY_HTTP
22817  *         return self
22818  *     HTTP = property(get_HTTP)             # <<<<<<<<<<<<<<
22819  * 
22820  *     def get_SOCKS4(self):
22821  */
22822   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_HTTP); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
22823   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
22824   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22825   __pyx_1 = 0;
22826   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
22827   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22828   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_HTTP, __pyx_1) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1;}
22829   __Pyx_TypeModified(__pyx_ptype_6purple_ProxyInfoType);
22830
22831   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/proxy.pyx":54
22832  *         self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR
22833  *         return self
22834  *     USE_ENVVAR = property(get_USE_ENVVAR)             # <<<<<<<<<<<<<<
22835  * 
22836  * cdef class ProxyInfo:
22837  */
22838   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_ProxyInfoType, __pyx_kp_get_USE_ENVVAR); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22839   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22840   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22841   __pyx_2 = 0;
22842   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22843   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22844   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_ProxyInfoType->tp_dict, __pyx_kp_USE_ENVVAR, __pyx_2) < 0) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22845   __Pyx_TypeModified(__pyx_ptype_6purple_ProxyInfoType);
22846
22847   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":49
22848  *                 self.__protocol.id)
22849  * 
22850  *     def __is_connected(self):             # <<<<<<<<<<<<<<
22851  *         if self.__exists:
22852  *             return account.purple_account_is_connected(self._get_structure())
22853  */
22854   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___is_connected); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22855   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22856   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22857   __pyx_1 = 0;
22858   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22859   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22860   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_is_connected, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1;}
22861   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22862
22863   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":61
22864  *         else:
22865  *             return None
22866  *     is_connecting = property(__is_connecting)             # <<<<<<<<<<<<<<
22867  * 
22868  *     def __is_disconnected(self):
22869  */
22870   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___is_connecting); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22871   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22872   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22873   __pyx_2 = 0;
22874   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22875   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22876   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_is_connecting, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1;}
22877   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22878
22879   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":69
22880  *         else:
22881  *             return None
22882  *     is_disconnected = property(__is_disconnected)             # <<<<<<<<<<<<<<
22883  * 
22884  *     def __get_core(self):
22885  */
22886   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___is_disconnected); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1;}
22887   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1;}
22888   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22889   __pyx_1 = 0;
22890   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1;}
22891   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22892   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_is_disconnected, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1;}
22893   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22894
22895   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":73
22896  *     def __get_core(self):
22897  *         return self.__core
22898  *     core = property(__get_core)             # <<<<<<<<<<<<<<
22899  * 
22900  *     def __get_exists(self):
22901  */
22902   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_core); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
22903   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
22904   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22905   __pyx_2 = 0;
22906   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
22907   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22908   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_core, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
22909   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22910
22911   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":77
22912  *     def __get_exists(self):
22913  *         return self.__exists
22914  *     exists = property(__get_exists)             # <<<<<<<<<<<<<<
22915  * 
22916  *     def __get_username(self):
22917  */
22918   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_exists); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
22919   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
22920   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22921   __pyx_1 = 0;
22922   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
22923   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22924   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_exists, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1;}
22925   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22926
22927   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":90
22928  *         else:
22929  *             return self.__username
22930  *     username = property(__get_username)             # <<<<<<<<<<<<<<
22931  * 
22932  *     def __get_protocol(self):
22933  */
22934   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_username); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
22935   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
22936   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22937   __pyx_2 = 0;
22938   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
22939   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22940   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_username, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1;}
22941   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22942
22943   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":94
22944  *     def __get_protocol(self):
22945  *         return self.__protocol
22946  *     protocol = property(__get_protocol)             # <<<<<<<<<<<<<<
22947  * 
22948  *     def _get_protocol_options(self):
22949  */
22950   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_protocol); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1;}
22951   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1;}
22952   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22953   __pyx_1 = 0;
22954   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1;}
22955   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22956   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_protocol, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1;}
22957   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22958
22959   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":170
22960  * 
22961  *         return po
22962  *     protocol_options = property(_get_protocol_options)             # <<<<<<<<<<<<<<
22963  * 
22964  *     def __get_password(self):
22965  */
22966   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp_7); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
22967   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
22968   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
22969   __pyx_2 = 0;
22970   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
22971   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
22972   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_protocol_options, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1;}
22973   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22974
22975   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":183
22976  *         else:
22977  *             return None
22978  *     password = property(__get_password)             # <<<<<<<<<<<<<<
22979  * 
22980  *     def __get_alias(self):
22981  */
22982   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_password); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1;}
22983   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1;}
22984   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
22985   __pyx_1 = 0;
22986   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1;}
22987   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
22988   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_password, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1;}
22989   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
22990
22991   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":195
22992  *         else:
22993  *             return None
22994  *     alias = property(__get_alias)             # <<<<<<<<<<<<<<
22995  * 
22996  *     def __get_user_info(self):
22997  */
22998   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1;}
22999   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1;}
23000   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23001   __pyx_2 = 0;
23002   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1;}
23003   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23004   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_alias, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1;}
23005   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
23006
23007   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":207
23008  *         else:
23009  *             return None
23010  *     user_info = property(__get_user_info)             # <<<<<<<<<<<<<<
23011  * 
23012  *     def __get_remember_password(self):
23013  */
23014   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_user_info); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1;}
23015   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1;}
23016   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23017   __pyx_1 = 0;
23018   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1;}
23019   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23020   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_user_info, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1;}
23021   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
23022
23023   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":215
23024  *         else:
23025  *             return None
23026  *     remember_password = property(__get_remember_password)             # <<<<<<<<<<<<<<
23027  * 
23028  *     def __get_enabled(self):
23029  */
23030   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp_8); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1;}
23031   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1;}
23032   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23033   __pyx_2 = 0;
23034   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1;}
23035   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23036   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_remember_password, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1;}
23037   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
23038
23039   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":223
23040  *         else:
23041  *             return None
23042  *     enabled = property(__get_enabled)             # <<<<<<<<<<<<<<
23043  * 
23044  *     def __get_status_types(self):
23045  */
23046   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_enabled); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
23047   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
23048   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23049   __pyx_1 = 0;
23050   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
23051   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23052   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_enabled, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1;}
23053   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
23054
23055   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":244
23056  *              return None
23057  * 
23058  *     status_types = property(__get_status_types)             # <<<<<<<<<<<<<<
23059  * 
23060  *     def __get_active_status(self):
23061  */
23062   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_status_types); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1;}
23063   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1;}
23064   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23065   __pyx_2 = 0;
23066   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1;}
23067   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23068   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_status_types, __pyx_2) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1;}
23069   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
23070
23071   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/account.pyx":267
23072  *         else:
23073  *             return None
23074  *     active_status = property(__get_active_status)             # <<<<<<<<<<<<<<
23075  * 
23076  *     def set_username(self, username):
23077  */
23078   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Account, __pyx_kp___get_active_status); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1;}
23079   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1;}
23080   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23081   __pyx_1 = 0;
23082   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1;}
23083   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23084   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Account->tp_dict, __pyx_kp_active_status, __pyx_1) < 0) {__pyx_filename = __pyx_f[11]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1;}
23085   __Pyx_TypeModified(__pyx_ptype_6purple_Account);
23086
23087   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":49
23088  *     def __get_exists(self):
23089  *         return self.__exists
23090  *     exists = property(__get_exists)             # <<<<<<<<<<<<<<
23091  * 
23092  *     def __get_name(self):
23093  */
23094   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
23095   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
23096   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23097   __pyx_2 = 0;
23098   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
23099   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23100   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_exists, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1;}
23101   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23102
23103   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":56
23104  *         else:
23105  *             return self.__name
23106  *     name = property(__get_name)             # <<<<<<<<<<<<<<
23107  * 
23108  *     def __get_account(self):
23109  */
23110   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
23111   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
23112   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23113   __pyx_1 = 0;
23114   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
23115   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23116   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_name, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1;}
23117   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23118
23119   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":63
23120  *         else:
23121  *             return None
23122  *     account = property(__get_account)             # <<<<<<<<<<<<<<
23123  * 
23124  *     def __get_alias(self):
23125  */
23126   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_account); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
23127   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
23128   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23129   __pyx_2 = 0;
23130   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
23131   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23132   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_account, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1;}
23133   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23134
23135   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":73
23136  *         else:
23137  *             return None
23138  *     alias = property(__get_alias)             # <<<<<<<<<<<<<<
23139  * 
23140  *     def __get_group(self):
23141  */
23142   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
23143   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
23144   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23145   __pyx_1 = 0;
23146   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
23147   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23148   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_alias, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1;}
23149   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23150
23151   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":82
23152  *         else:
23153  *             return None
23154  *     group = property(__get_group)             # <<<<<<<<<<<<<<
23155  * 
23156  *     def __get_server_alias(self):
23157  */
23158   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_group); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
23159   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
23160   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23161   __pyx_2 = 0;
23162   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
23163   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23164   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_group, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1;}
23165   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23166
23167   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":92
23168  *         else:
23169  *             return None
23170  *     server_alias = property(__get_server_alias)             # <<<<<<<<<<<<<<
23171  * 
23172  *     def __get_contact_alias(self):
23173  */
23174   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_server_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
23175   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
23176   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23177   __pyx_1 = 0;
23178   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
23179   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23180   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_server_alias, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1;}
23181   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23182
23183   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":102
23184  *         else:
23185  *             return None
23186  *     contact_alias = property(__get_contact_alias)             # <<<<<<<<<<<<<<
23187  * 
23188  *     def __get_local_alias(self):
23189  */
23190   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_contact_alias); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
23191   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
23192   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23193   __pyx_2 = 0;
23194   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
23195   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23196   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_contact_alias, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1;}
23197   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23198
23199   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":112
23200  *         else:
23201  *             return None
23202  *     local_alias = property(__get_local_alias)             # <<<<<<<<<<<<<<
23203  * 
23204  *     def __get_available(self):
23205  */
23206   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_local_alias); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
23207   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
23208   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23209   __pyx_1 = 0;
23210   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
23211   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23212   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_local_alias, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1;}
23213   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23214
23215   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":120
23216  *         else:
23217  *             return None
23218  *     available = property(__get_available)             # <<<<<<<<<<<<<<
23219  * 
23220  *     def __get_online(self):
23221  */
23222   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_available); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
23223   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
23224   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23225   __pyx_2 = 0;
23226   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
23227   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23228   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_available, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1;}
23229   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23230
23231   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":128
23232  *         else:
23233  *             return None
23234  *     online = property(__get_online)             # <<<<<<<<<<<<<<
23235  * 
23236  *     def __get_idle(self):
23237  */
23238   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_online); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
23239   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
23240   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23241   __pyx_1 = 0;
23242   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
23243   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23244   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_online, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1;}
23245   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23246
23247   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":136
23248  *         else:
23249  *             return None
23250  *     idle = property(__get_idle)             # <<<<<<<<<<<<<<
23251  * 
23252  *     def __get_active_status(self):
23253  */
23254   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_idle); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
23255   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
23256   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23257   __pyx_2 = 0;
23258   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
23259   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23260   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_idle, __pyx_2) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1;}
23261   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23262
23263   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/buddy.pyx":160
23264  *         else:
23265  *             return None
23266  *     active_status = property(__get_active_status)             # <<<<<<<<<<<<<<
23267  * 
23268  *     def set_alias(self, alias):
23269  */
23270   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Buddy, __pyx_kp___get_active_status); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1;}
23271   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1;}
23272   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23273   __pyx_1 = 0;
23274   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1;}
23275   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23276   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Buddy->tp_dict, __pyx_kp_active_status, __pyx_1) < 0) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1;}
23277   __Pyx_TypeModified(__pyx_ptype_6purple_Buddy);
23278
23279   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":57
23280  *     def __get_exists(self):
23281  *         return self.__exists
23282  *     exists = property(__get_exists)             # <<<<<<<<<<<<<<
23283  * 
23284  *     def __get_account(self):
23285  */
23286   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Conversation, __pyx_kp___get_exists); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1;}
23287   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1;}
23288   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23289   __pyx_2 = 0;
23290   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1;}
23291   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23292   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Conversation->tp_dict, __pyx_kp_exists, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1;}
23293   __Pyx_TypeModified(__pyx_ptype_6purple_Conversation);
23294
23295   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":64
23296  *         else:
23297  *             return None
23298  *     account = property(__get_account)             # <<<<<<<<<<<<<<
23299  * 
23300  *     def __get_name(self):
23301  */
23302   __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Conversation, __pyx_kp___get_account); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
23303   __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
23304   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
23305   __pyx_1 = 0;
23306   __pyx_1 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_2), NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
23307   Py_DECREF(((PyObject *)__pyx_2)); __pyx_2 = 0;
23308   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Conversation->tp_dict, __pyx_kp_account, __pyx_1) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1;}
23309   __Pyx_TypeModified(__pyx_ptype_6purple_Conversation);
23310
23311   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":72
23312  *         else:
23313  *             return None
23314  *     name = property(__get_name)             # <<<<<<<<<<<<<<
23315  * 
23316  *     def new(self):
23317  */
23318   __pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_6purple_Conversation, __pyx_kp___get_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
23319   __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
23320   PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2);
23321   __pyx_2 = 0;
23322   __pyx_2 = PyObject_Call(__pyx_builtin_property, ((PyObject *)__pyx_1), NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
23323   Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
23324   if (PyDict_SetItem((PyObject *)__pyx_ptype_6purple_Conversation->tp_dict, __pyx_kp_name, __pyx_2) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1;}
23325   __Pyx_TypeModified(__pyx_ptype_6purple_Conversation);
23326
23327   /* "/opt/wrk/indt/workspace/git-svn/carman/python-purple/conversation.pyx":131
23328  *         return True
23329  * 
23330  *     def im_send(self, message):             # <<<<<<<<<<<<<<
23331  *         """
23332  *         Sends a message to this IM conversation.
23333  */
23334   return;
23335   __pyx_L1:;
23336   Py_XDECREF(__pyx_1);
23337   Py_XDECREF(__pyx_2);
23338   __Pyx_AddTraceback("purple");
23339 }
23340
23341 static const char *__pyx_filenames[] = {
23342   "account_cbs.pxd",
23343   "blist_cbs.pxd",
23344   "connection_cbs.pxd",
23345   "conversation_cbs.pxd",
23346   "notify_cbs.pxd",
23347   "request_cbs.pxd",
23348   "signal_cbs.pxd",
23349   "util.pxd",
23350   "purple.pyx",
23351   "protocol.pyx",
23352   "proxy.pyx",
23353   "account.pyx",
23354   "buddy.pyx",
23355   "conversation.pyx",
23356 };
23357
23358 /* Runtime support code */
23359
23360 static void __pyx_init_filenames(void) {
23361   __pyx_f = __pyx_filenames;
23362 }
23363
23364 static INLINE void __Pyx_RaiseArgtupleTooLong(
23365     Py_ssize_t num_expected,
23366     Py_ssize_t num_found)
23367 {
23368     const char* error_message =
23369     #if PY_VERSION_HEX < 0x02050000
23370         "function takes at most %d positional arguments (%d given)";
23371     #else
23372         "function takes at most %zd positional arguments (%zd given)";
23373     #endif
23374     PyErr_Format(PyExc_TypeError, error_message, num_expected, num_found);
23375 }
23376
23377 #if PY_VERSION_HEX >= 0x02060000
23378 /* copied from typeobject.c in Python 3.0a5 */
23379 static void __Pyx_TypeModified(PyTypeObject* type) {
23380     PyObject *raw, *ref;
23381     Py_ssize_t i, n;
23382
23383     if (!PyType_HasFeature(type, Py_TPFLAGS_VALID_VERSION_TAG))
23384         return;
23385
23386     raw = type->tp_subclasses;
23387     if (raw != NULL) {
23388         n = PyList_GET_SIZE(raw);
23389         for (i = 0; i < n; i++) {
23390             ref = PyList_GET_ITEM(raw, i);
23391             ref = PyWeakref_GET_OBJECT(ref);
23392             if (ref != Py_None) {
23393                 __Pyx_TypeModified((PyTypeObject *)ref);
23394             }
23395         }
23396     }
23397     type->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
23398 }
23399 #endif
23400
23401 static int __Pyx_CheckKeywordStrings(
23402     PyObject *kwdict,
23403     const char* function_name,
23404     int kw_allowed)
23405 {
23406     PyObject* key = 0;
23407     Py_ssize_t pos = 0;
23408     while (PyDict_Next(kwdict, &pos, &key, 0)) {
23409         #if PY_MAJOR_VERSION < 3
23410         if (unlikely(!PyString_Check(key))) {
23411         #else
23412         if (unlikely(!PyUnicode_Check(key))) {
23413         #endif
23414             PyErr_Format(PyExc_TypeError,
23415                          "%s() keywords must be strings", function_name);
23416             return 0;
23417         }
23418     }
23419     if (unlikely(!kw_allowed) && unlikely(key)) {
23420         PyErr_Format(PyExc_TypeError,
23421                      "'%s' is an invalid keyword argument for this function",
23422         #if PY_MAJOR_VERSION < 3
23423                      PyString_AsString(key));
23424         #else
23425                      PyUnicode_AsString(key));
23426         #endif
23427         return 0;
23428     }
23429     return 1;
23430 }
23431
23432 static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name, int exact) {
23433     if (!type) {
23434         PyErr_Format(PyExc_SystemError, "Missing type object");
23435         return 0;
23436     }
23437     if (none_allowed && obj == Py_None) return 1;
23438     else if (exact) {
23439         if (Py_TYPE(obj) == type) return 1;
23440     }
23441     else {
23442         if (PyObject_TypeCheck(obj, type)) return 1;
23443     }
23444     PyErr_Format(PyExc_TypeError,
23445         "Argument '%s' has incorrect type (expected %s, got %s)",
23446         name, type->tp_name, Py_TYPE(obj)->tp_name);
23447     return 0;
23448 }
23449
23450 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
23451     PyObject *__import__ = 0;
23452     PyObject *empty_list = 0;
23453     PyObject *module = 0;
23454     PyObject *global_dict = 0;
23455     PyObject *empty_dict = 0;
23456     PyObject *list;
23457     __import__ = PyObject_GetAttrString(__pyx_b, "__import__");
23458     if (!__import__)
23459         goto bad;
23460     if (from_list)
23461         list = from_list;
23462     else {
23463         empty_list = PyList_New(0);
23464         if (!empty_list)
23465             goto bad;
23466         list = empty_list;
23467     }
23468     global_dict = PyModule_GetDict(__pyx_m);
23469     if (!global_dict)
23470         goto bad;
23471     empty_dict = PyDict_New();
23472     if (!empty_dict)
23473         goto bad;
23474     module = PyObject_CallFunction(__import__, "OOOO",
23475         name, global_dict, empty_dict, list);
23476 bad:
23477     Py_XDECREF(empty_list);
23478     Py_XDECREF(__import__);
23479     Py_XDECREF(empty_dict);
23480     return module;
23481 }
23482
23483 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
23484     PyObject *result;
23485     result = PyObject_GetAttr(dict, name);
23486     if (!result)
23487         PyErr_SetObject(PyExc_NameError, name);
23488     return result;
23489 }
23490
23491 static void __Pyx_WriteUnraisable(const char *name) {
23492     PyObject *old_exc, *old_val, *old_tb;
23493     PyObject *ctx;
23494     PyErr_Fetch(&old_exc, &old_val, &old_tb);
23495     #if PY_MAJOR_VERSION < 3
23496     ctx = PyString_FromString(name);
23497     #else
23498     ctx = PyUnicode_FromString(name);
23499     #endif
23500     PyErr_Restore(old_exc, old_val, old_tb);
23501     if (!ctx)
23502         ctx = Py_None;
23503     PyErr_WriteUnraisable(ctx);
23504 }
23505
23506
23507 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
23508     while (t->p) {
23509         #if PY_MAJOR_VERSION < 3
23510         if (t->is_unicode && (!t->is_identifier)) {
23511             *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
23512         } else if (t->intern) {
23513             *t->p = PyString_InternFromString(t->s);
23514         } else {
23515             *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
23516         }
23517         #else  /* Python 3+ has unicode identifiers */
23518         if (t->is_identifier || (t->is_unicode && t->intern)) {
23519             *t->p = PyUnicode_InternFromString(t->s);
23520         } else if (t->is_unicode) {
23521             *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
23522         } else {
23523             *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
23524         }
23525         #endif
23526         if (!*t->p)
23527             return -1;
23528         ++t;
23529     }
23530     return 0;
23531 }
23532
23533 static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
23534     PyObject *pycobj = 0;
23535     int result;
23536     
23537     pycobj = PyCObject_FromVoidPtr(vtable, 0);
23538     if (!pycobj)
23539         goto bad;
23540     if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
23541         goto bad;
23542     result = 0;
23543     goto done;
23544
23545 bad:
23546     result = -1;
23547 done:
23548     Py_XDECREF(pycobj);
23549     return result;
23550 }
23551
23552 #include "compile.h"
23553 #include "frameobject.h"
23554 #include "traceback.h"
23555
23556 static void __Pyx_AddTraceback(const char *funcname) {
23557     PyObject *py_srcfile = 0;
23558     PyObject *py_funcname = 0;
23559     PyObject *py_globals = 0;
23560     PyObject *empty_string = 0;
23561     PyCodeObject *py_code = 0;
23562     PyFrameObject *py_frame = 0;
23563
23564     #if PY_MAJOR_VERSION < 3
23565     py_srcfile = PyString_FromString(__pyx_filename);
23566     #else
23567     py_srcfile = PyUnicode_FromString(__pyx_filename);
23568     #endif
23569     if (!py_srcfile) goto bad;
23570     if (__pyx_clineno) {
23571         #if PY_MAJOR_VERSION < 3
23572         py_funcname = PyString_FromFormat( "%s (%s:%u)", funcname, __pyx_cfilenm, __pyx_clineno);
23573         #else
23574         py_funcname = PyUnicode_FromFormat( "%s (%s:%u)", funcname, __pyx_cfilenm, __pyx_clineno);
23575         #endif
23576     }
23577     else {
23578         #if PY_MAJOR_VERSION < 3
23579         py_funcname = PyString_FromString(funcname);
23580         #else
23581         py_funcname = PyUnicode_FromString(funcname);
23582         #endif
23583     }
23584     if (!py_funcname) goto bad;
23585     py_globals = PyModule_GetDict(__pyx_m);
23586     if (!py_globals) goto bad;
23587     #if PY_MAJOR_VERSION < 3
23588     empty_string = PyString_FromStringAndSize("", 0);
23589     #else
23590     empty_string = PyBytes_FromStringAndSize("", 0);
23591     #endif
23592     if (!empty_string) goto bad;
23593     py_code = PyCode_New(
23594         0,            /*int argcount,*/
23595         #if PY_MAJOR_VERSION >= 3
23596         0,            /*int kwonlyargcount,*/
23597         #endif
23598         0,            /*int nlocals,*/
23599         0,            /*int stacksize,*/
23600         0,            /*int flags,*/
23601         empty_string, /*PyObject *code,*/
23602         __pyx_empty_tuple,  /*PyObject *consts,*/
23603         __pyx_empty_tuple,  /*PyObject *names,*/
23604         __pyx_empty_tuple,  /*PyObject *varnames,*/
23605         __pyx_empty_tuple,  /*PyObject *freevars,*/
23606         __pyx_empty_tuple,  /*PyObject *cellvars,*/
23607         py_srcfile,   /*PyObject *filename,*/
23608         py_funcname,  /*PyObject *name,*/
23609         __pyx_lineno,   /*int firstlineno,*/
23610         empty_string  /*PyObject *lnotab*/
23611     );
23612     if (!py_code) goto bad;
23613     py_frame = PyFrame_New(
23614         PyThreadState_Get(), /*PyThreadState *tstate,*/
23615         py_code,             /*PyCodeObject *code,*/
23616         py_globals,          /*PyObject *globals,*/
23617         0                    /*PyObject *locals*/
23618     );
23619     if (!py_frame) goto bad;
23620     py_frame->f_lineno = __pyx_lineno;
23621     PyTraceBack_Here(py_frame);
23622 bad:
23623     Py_XDECREF(py_srcfile);
23624     Py_XDECREF(py_funcname);
23625     Py_XDECREF(empty_string);
23626     Py_XDECREF(py_code);
23627     Py_XDECREF(py_frame);
23628 }
23629
23630 /* Type Conversion Functions */
23631
23632 static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b) {
23633   Py_ssize_t ival;
23634   PyObject* x = PyNumber_Index(b);
23635   if (!x) return -1;
23636   ival = PyInt_AsSsize_t(x);
23637   Py_DECREF(x);
23638   return ival;
23639 }
23640
23641 static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
23642    if (x == Py_True) return 1;
23643    else if (x == Py_False) return 0;
23644    else return PyObject_IsTrue(x);
23645 }
23646
23647 static INLINE PY_LONG_LONG __pyx_PyInt_AsLongLong(PyObject* x) {
23648     if (PyInt_CheckExact(x)) {
23649         return PyInt_AS_LONG(x);
23650     }
23651     else if (PyLong_CheckExact(x)) {
23652         return PyLong_AsLongLong(x);
23653     }
23654     else {
23655         PY_LONG_LONG val;
23656         PyObject* tmp = PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1;
23657         val = __pyx_PyInt_AsLongLong(tmp);
23658         Py_DECREF(tmp);
23659         return val;
23660     }
23661 }
23662
23663 static INLINE unsigned PY_LONG_LONG __pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
23664     if (PyInt_CheckExact(x)) {
23665         long val = PyInt_AS_LONG(x);
23666         if (unlikely(val < 0)) {
23667             PyErr_SetString(PyExc_TypeError, "Negative assignment to unsigned type.");
23668             return (unsigned PY_LONG_LONG)-1;
23669         }
23670         return val;
23671     }
23672     else if (PyLong_CheckExact(x)) {
23673         return PyLong_AsUnsignedLongLong(x);
23674     }
23675     else {
23676         PY_LONG_LONG val;
23677         PyObject* tmp = PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1;
23678         val = __pyx_PyInt_AsUnsignedLongLong(tmp);
23679         Py_DECREF(tmp);
23680         return val;
23681     }
23682 }
23683
23684
23685 static INLINE unsigned char __pyx_PyInt_unsigned_char(PyObject* x) {
23686     if (sizeof(unsigned char) < sizeof(long)) {
23687         long long_val = __pyx_PyInt_AsLong(x);
23688         unsigned char val = (unsigned char)long_val;
23689         if (unlikely((val != long_val)  || (long_val < 0))) {
23690             PyErr_SetString(PyExc_OverflowError, "value too large to convert to unsigned char");
23691             return (unsigned char)-1;
23692         }
23693         return val;
23694     }
23695     else {
23696         return __pyx_PyInt_AsLong(x);
23697     }
23698 }
23699
23700 static INLINE unsigned short __pyx_PyInt_unsigned_short(PyObject* x) {
23701     if (sizeof(unsigned short) < sizeof(long)) {
23702         long long_val = __pyx_PyInt_AsLong(x);
23703         unsigned short val = (unsigned short)long_val;
23704         if (unlikely((val != long_val)  || (long_val < 0))) {
23705             PyErr_SetString(PyExc_OverflowError, "value too large to convert to unsigned short");
23706             return (unsigned short)-1;
23707         }
23708         return val;
23709     }
23710     else {
23711         return __pyx_PyInt_AsLong(x);
23712     }
23713 }
23714
23715 static INLINE char __pyx_PyInt_char(PyObject* x) {
23716     if (sizeof(char) < sizeof(long)) {
23717         long long_val = __pyx_PyInt_AsLong(x);
23718         char val = (char)long_val;
23719         if (unlikely((val != long_val) )) {
23720             PyErr_SetString(PyExc_OverflowError, "value too large to convert to char");
23721             return (char)-1;
23722         }
23723         return val;
23724     }
23725     else {
23726         return __pyx_PyInt_AsLong(x);
23727     }
23728 }
23729
23730 static INLINE short __pyx_PyInt_short(PyObject* x) {
23731     if (sizeof(short) < sizeof(long)) {
23732         long long_val = __pyx_PyInt_AsLong(x);
23733         short val = (short)long_val;
23734         if (unlikely((val != long_val) )) {
23735             PyErr_SetString(PyExc_OverflowError, "value too large to convert to short");
23736             return (short)-1;
23737         }
23738         return val;
23739     }
23740     else {
23741         return __pyx_PyInt_AsLong(x);
23742     }
23743 }
23744
23745 static INLINE int __pyx_PyInt_int(PyObject* x) {
23746     if (sizeof(int) < sizeof(long)) {
23747         long long_val = __pyx_PyInt_AsLong(x);
23748         int val = (int)long_val;
23749         if (unlikely((val != long_val) )) {
23750             PyErr_SetString(PyExc_OverflowError, "value too large to convert to int");
23751             return (int)-1;
23752         }
23753         return val;
23754     }
23755     else {
23756         return __pyx_PyInt_AsLong(x);
23757     }
23758 }
23759
23760 static INLINE long __pyx_PyInt_long(PyObject* x) {
23761     if (sizeof(long) < sizeof(long)) {
23762         long long_val = __pyx_PyInt_AsLong(x);
23763         long val = (long)long_val;
23764         if (unlikely((val != long_val) )) {
23765             PyErr_SetString(PyExc_OverflowError, "value too large to convert to long");
23766             return (long)-1;
23767         }
23768         return val;
23769     }
23770     else {
23771         return __pyx_PyInt_AsLong(x);
23772     }
23773 }
23774
23775 static INLINE signed char __pyx_PyInt_signed_char(PyObject* x) {
23776     if (sizeof(signed char) < sizeof(long)) {
23777         long long_val = __pyx_PyInt_AsLong(x);
23778         signed char val = (signed char)long_val;
23779         if (unlikely((val != long_val) )) {
23780             PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed char");
23781             return (signed char)-1;
23782         }
23783         return val;
23784     }
23785     else {
23786         return __pyx_PyInt_AsLong(x);
23787     }
23788 }
23789
23790 static INLINE signed short __pyx_PyInt_signed_short(PyObject* x) {
23791     if (sizeof(signed short) < sizeof(long)) {
23792         long long_val = __pyx_PyInt_AsLong(x);
23793         signed short val = (signed short)long_val;
23794         if (unlikely((val != long_val) )) {
23795             PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed short");
23796             return (signed short)-1;
23797         }
23798         return val;
23799     }
23800     else {
23801         return __pyx_PyInt_AsLong(x);
23802     }
23803 }
23804
23805 static INLINE signed int __pyx_PyInt_signed_int(PyObject* x) {
23806     if (sizeof(signed int) < sizeof(long)) {
23807         long long_val = __pyx_PyInt_AsLong(x);
23808         signed int val = (signed int)long_val;
23809         if (unlikely((val != long_val) )) {
23810             PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed int");
23811             return (signed int)-1;
23812         }
23813         return val;
23814     }
23815     else {
23816         return __pyx_PyInt_AsLong(x);
23817     }
23818 }
23819
23820 static INLINE signed long __pyx_PyInt_signed_long(PyObject* x) {
23821     if (sizeof(signed long) < sizeof(long)) {
23822         long long_val = __pyx_PyInt_AsLong(x);
23823         signed long val = (signed long)long_val;
23824         if (unlikely((val != long_val) )) {
23825             PyErr_SetString(PyExc_OverflowError, "value too large to convert to signed long");
23826             return (signed long)-1;
23827         }
23828         return val;
23829     }
23830     else {
23831         return __pyx_PyInt_AsLong(x);
23832     }
23833 }
23834
23835 static INLINE long double __pyx_PyInt_long_double(PyObject* x) {
23836     if (sizeof(long double) < sizeof(long)) {
23837         long long_val = __pyx_PyInt_AsLong(x);
23838         long double val = (long double)long_val;
23839         if (unlikely((val != long_val) )) {
23840             PyErr_SetString(PyExc_OverflowError, "value too large to convert to long double");
23841             return (long double)-1;
23842         }
23843         return val;
23844     }
23845     else {
23846         return __pyx_PyInt_AsLong(x);
23847     }
23848 }