From: Ragner Magalhaes Date: Tue, 2 Dec 2008 20:37:13 +0000 (+0000) Subject: Adding support to new class of protocols X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=a1096cd145faf63a6726fbc43cb5b68f0cf16b0d;ds=sidebyside Adding support to new class of protocols Adding support to new class of protocols Signed-off-by: Ragner Magalhaes git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1326 596f6dd7-e928-0410-a184-9e12fd12cf7e --- diff --git a/purple.pyx b/purple.pyx index 62f441b..be7fbbc 100644 --- a/purple.pyx +++ b/purple.pyx @@ -24,6 +24,8 @@ cdef extern from "c_purple.h": import ecore +include "plugin.pyx" + __DEFAULT_PATH__ = "/tmp" __APP_NAME__ = "carman-purple-python" __APP_VERSION__ = "0.1" @@ -61,6 +63,8 @@ cdef class Purple: @parm default_path: Full path for libpurple user files. """ + cdef Plugins plugins + def __init__(self, debug_enabled=True, app_name=__APP_NAME__, default_path=__DEFAULT_PATH__): if app_name is not __APP_NAME__: __APP_NAME__ = app_name @@ -71,6 +75,7 @@ cdef class Purple: debug.c_purple_debug_set_enabled(debug_enabled) util.c_purple_util_set_user_dir(default_path) plugin.c_purple_plugins_add_search_path(default_path) + self.plugins = Plugins() # adds glib iteration inside ecore main loop ecore.timer_add(0.001, self.__glib_iteration_when_idle) @@ -246,16 +251,7 @@ cdef class Purple: return ret def get_protocols(self): - cdef glib.GList *iter - cdef plugin.PurplePlugin *__plugin - protocols = [] - iter = plugin.c_purple_plugins_get_protocols() - while iter: - __plugin = iter.data - if __plugin.info and __plugin.info.name: - protocols += [(__plugin.info.id, __plugin.info.name)] - iter = iter.next - return protocols + return self.plugins.get_protocols() def connect(self): conn = Connection()