# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-cdef extern from "libpurple/purple.h":
- pass
-
-cimport glib
-
-cimport account
-cimport buddyicon
-cimport blist
-cimport connection
-cimport conversation
-cimport core
-cimport debug
-cimport eventloop
-cimport ft
-cimport idle
-cimport notify
-cimport plugin
-cimport pounce
-cimport prefs
-cimport proxy
-cimport request
-cimport roomlist
-cimport signals
-cimport status
-cimport savedstatuses
-cimport util
+cimport purple
cdef extern from "c_purple.h":
- void connect_to_signals_for_demonstration_purposes_only ()
glib.guint glib_input_add(glib.gint fd, eventloop.PurpleInputCondition condition, eventloop.PurpleInputFunction function, glib.gpointer data)
import ecore
__APP_NAME__ = "carman-purple-python"
__APP_VERSION__ = "0.1"
-global __DEFAULT_PATH__
-global __APP_NAME__
-global __APP_VERSION__
-
cdef class Purple:
- """ Purple class """
+ """ Purple class.
+
+ @parm debug_enabled: Toggle debug messages.
+ @parm app_name: Set application name.
+ @parm default_path: Full path for libpurple user files.
+ """
+
cdef core.PurpleCoreUiOps c_core_ui_ops
cdef eventloop.PurpleEventLoopUiOps c_eventloop_ui_ops
cdef glib.GHashTable *c_ui_info
- def __cinit__(self, debug_enabled=True, app_name=__APP_NAME__, default_path=__DEFAULT_PATH__):
+ def __init__(self, debug_enabled=True, app_name=__APP_NAME__, default_path=__DEFAULT_PATH__):
self.c_ui_info = NULL
if app_name is not __APP_NAME__:
# adds glib iteration inside ecore main loop
ecore.idler_add(self.__glib_iteration_when_idle)
- # __cinit__
def __del__(self):
core.c_purple_core_quit()
- # __del__
cdef void __core_ui_ops_ui_prefs_init(self):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "core_ui_ops", "ui_prefs_init\n")
prefs.c_purple_prefs_load()
prefs.c_purple_prefs_add_none("/carman")
- # __core_ui_ops_ui_prefs_init
cdef void __core_ui_ops_debug_init(self):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "core_ui_ops", "debug_ui_init\n")
- # __core_ui_ops_debug_init
cdef void __core_ui_ops_ui_init(self):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "core_ui_ops", "ui_init\n")
# FIXME: Add core ui initialization here
- # __core_ui_ops_ui_init
cdef void __core_ui_ops_quit(self):
debug.c_purple_debug(debug.PURPLE_DEBUG_INFO, "core_ui_ops", "quit\n")
if self.c_ui_info:
glib.g_hash_table_destroy(self.c_ui_info)
- # __core_ui_ops_quit
cdef glib.GHashTable *__core_ui_ops_get_ui_info(self):
if self.c_ui_info == NULL:
glib.g_hash_table_insert(self.c_ui_info, "name", <glib.gpointer> __APP_NAME__)
glib.g_hash_table_insert(self.c_ui_info, "version", <glib.gpointer> __APP_VERSION__)
return self.c_ui_info
- # __core_ui_ops_get_ui_info
def __glib_iteration_when_idle(self):
glib.g_main_context_iteration(NULL, False)
return True
- # __glib_iteration_when_idle
def purple_init(self):
""" Initializes libpurple """
pounce.c_purple_pounces_load()
return ret
- # purple_init
def get_protocols(self):
cdef glib.GList *iter
protocols += [(__plugin.info.id, __plugin.info.name)]
iter = iter.next
return protocols
- # get_protocols
def connect(self):
conn = Connection()
conn.connect()
- # connect
-# Purple
+include "proxy.pyx"
include "account.pyx"
include "buddy.pyx"
include "connection.pyx"