--- /dev/null
+#
+# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
+#
+# This file is part of python-purple.
+#
+# python-purple is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# python-purple is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+class ProxyType:
+ def __init__(self):
+ self.PROXY_USE_GLOBAL = -1
+ self.PROXY_NONE = 0
+ self.PROXY_HTTP = 1
+ self.PROXY_SOCKS4 = 2
+ self.PROXY_SOCKS5 = 3
+ self.PROXY_USE_ENVVAR = 4
+
+
+class StatusPrimitive:
+ def __init__(self):
+ self.STAUTS_UNSET = 0
+ self.STATUS_OFFLINE = 1
+ self.STATUS_AVAILABLE = 2
+ self.STATUS_UNAVAILABLE = 3
+ self.STATUS_INVISIBLE = 4
+ self.STATUS_AWAY = 5
+ self.STATUS_EXTENDED_AWAY = 6
+ self.STATUS_MOBILE = 7
+ self.STATUS_TUNE = 8
+ self.STATUS_NUN_PRIMITIVE = 9
+
+cdef class Account:
+ """ Account class """
+ cdef PurpleAccount *__account
+ cdef PurpleSavedStatus *__sstatus
+
+ def __cinit__(self, const_char_ptr username, const_char_ptr protocol_id):
+ self.__account = c_purple_account_new(username, protocol_id)
+
+ def set_password(self, password):
+ c_purple_account_set_password(self.__account, password)
+
+ def set_enabled(self, ui, value):
+ c_purple_account_set_enabled(self.__account, ui, value)
+
+ def get_acc_username(self):
+ if self.__account:
+ return c_purple_account_get_username(self.__account)
+
+ def get_password(self):
+ if self.__account:
+ return c_purple_account_get_password(self.__account)
+
+ def set_status(self):
+ self.__sstatus = c_purple_savedstatus_new(NULL, StatusPrimitive().STATUS_AVAILABLE)
+ c_purple_savedstatus_activate(self.__sstatus)
+
+++ /dev/null
-#
-# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
-#
-# This file is part of python-purple.
-#
-# python-purple is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# python-purple is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-class ProxyType:
- def __init__(self):
- self.PROXY_USE_GLOBAL = -1
- self.PROXY_NONE = 0
- self.PROXY_HTTP = 1
- self.PROXY_SOCKS4 = 2
- self.PROXY_SOCKS5 = 3
- self.PROXY_USE_ENVVAR = 4
-
-
-class StatusPrimitive:
- def __init__(self):
- self.STAUTS_UNSET = 0
- self.STATUS_OFFLINE = 1
- self.STATUS_AVAILABLE = 2
- self.STATUS_UNAVAILABLE = 3
- self.STATUS_INVISIBLE = 4
- self.STATUS_AWAY = 5
- self.STATUS_EXTENDED_AWAY = 6
- self.STATUS_MOBILE = 7
- self.STATUS_TUNE = 8
- self.STATUS_NUN_PRIMITIVE = 9
-
-cdef class Account:
- """ Account class """
- cdef PurpleAccount *__account
- cdef PurpleSavedStatus *__sstatus
-
- def __cinit__(self, const_char_ptr username, const_char_ptr protocol_id):
- self.__account = c_purple_account_new(username, protocol_id)
-
- def set_password(self, password):
- c_purple_account_set_password(self.__account, password)
-
- def set_enabled(self, ui, value):
- c_purple_account_set_enabled(self.__account, ui, value)
-
- def get_acc_username(self):
- if self.__account:
- return c_purple_account_get_username(self.__account)
-
- def get_password(self):
- if self.__account:
- return c_purple_account_get_password(self.__account)
-
- def set_status(self):
- self.__sstatus = c_purple_savedstatus_new(NULL, StatusPrimitive().STATUS_AVAILABLE)
- c_purple_savedstatus_activate(self.__sstatus)
-
--- /dev/null
+#
+# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
+#
+# This file is part of python-purple.
+#
+# python-purple is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# python-purple is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+cdef class Buddy:
+ """ Buddy class """
+ cdef PurpleBuddy *__buddy
+
+ def __cinit__(self):
+ self.__buddy = NULL
+
+ def new_buddy(self, acc, const_char_ptr scr, const_char_ptr alias):
+ self.__buddy = c_purple_buddy_new(<PurpleAccount *>acc.__account, scr, alias)
+
+ def get_alias(self):
+ return c_purple_buddy_get_alias_only(self.__buddy)
+
+ def get_name(self):
+ return c_purple_buddy_get_name(self.__buddy)
+++ /dev/null
-#
-# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
-#
-# This file is part of python-purple.
-#
-# python-purple is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# python-purple is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-cdef class Buddy:
- """ Buddy class """
- cdef PurpleBuddy *__buddy
-
- def __cinit__(self):
- self.__buddy = NULL
-
- def new_buddy(self, acc, const_char_ptr scr, const_char_ptr alias):
- self.__buddy = c_purple_buddy_new(<PurpleAccount *>acc.__account, scr, alias)
-
- def get_alias(self):
- return c_purple_buddy_get_alias_only(self.__buddy)
-
- def get_name(self):
- return c_purple_buddy_get_name(self.__buddy)
--- /dev/null
+#
+# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
+#
+# This file is part of python-purple.
+#
+# python-purple is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# python-purple is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+cdef class Connection:
+ """ Connection class """
+ cdef PurpleConnection *__conn
+
+ def connect(self):
+ connect_to_signals_for_demonstration_purposes_only()
+++ /dev/null
-#
-# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
-#
-# This file is part of python-purple.
-#
-# python-purple is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# python-purple is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-cdef class Connection:
- """ Connection class """
- cdef PurpleConnection *__conn
-
- def connect(self):
- connect_to_signals_for_demonstration_purposes_only()
--- /dev/null
+#
+# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
+#
+# This file is part of python-purple.
+#
+# python-purple is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# python-purple is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+cdef class Conversation:
+ """ Conversation class """
+ cdef PurpleConversation *__conv
+
+ def __cinit__(self):
+ purple_conversations_init()
+
+ def conversation_new(self, type, acc, const_char_ptr name):
+ self.__conv = purple_conversation_new(type, <PurpleAccount*>acc.__account, name)
+
+ def conversation_set_ui_ops(self):
+ cdef PurpleConversationUiOps c_conv_ui_ops
+ c_conv_ui_ops.create_conversation = NULL
+ c_conv_ui_ops.destroy_conversation = NULL
+ c_conv_ui_ops.write_chat = NULL
+ c_conv_ui_ops.write_im = NULL
+ c_conv_ui_ops.write_conv = NULL
+ c_conv_ui_ops.chat_add_users = NULL
+ c_conv_ui_ops.chat_rename_user = NULL
+ c_conv_ui_ops.chat_remove_users = NULL
+ c_conv_ui_ops.chat_update_user = NULL
+ c_conv_ui_ops.present = NULL
+ c_conv_ui_ops.has_focus = NULL
+ c_conv_ui_ops.custom_smiley_add = NULL
+ c_conv_ui_ops.custom_smiley_write = NULL
+ c_conv_ui_ops.custom_smiley_close = NULL
+ c_conv_ui_ops.send_confirm = NULL
+
+ purple_conversation_set_ui_ops(self.__conv, &c_conv_ui_ops)
+
+ def conversation_write(self, const_char_ptr message):
+ purple_conv_im_send(purple_conversation_get_im_data(self.__conv), message)
+
+ def conversation_destroy(self):
+ purple_conversation_destroy(self.__conv)
+
+ def conversation_get_handle(self):
+ purple_conversations_get_handle()
+
+ def send_message(self, buddy, const_char_ptr message):
+ self.conversation_new(1, buddy.account, buddy.name)
+ self.conversation_set_ui_ops()
+ self.conversation_write(message)
+++ /dev/null
-#
-# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
-#
-# This file is part of python-purple.
-#
-# python-purple is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# python-purple is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-cdef class Conversation:
- """ Conversation class """
- cdef PurpleConversation *__conv
-
- def __cinit__(self):
- purple_conversations_init()
-
- def conversation_new(self, type, acc, const_char_ptr name):
- self.__conv = purple_conversation_new(type, <PurpleAccount*>acc.__account, name)
-
- def conversation_set_ui_ops(self):
- cdef PurpleConversationUiOps c_conv_ui_ops
- c_conv_ui_ops.create_conversation = NULL
- c_conv_ui_ops.destroy_conversation = NULL
- c_conv_ui_ops.write_chat = NULL
- c_conv_ui_ops.write_im = NULL
- c_conv_ui_ops.write_conv = NULL
- c_conv_ui_ops.chat_add_users = NULL
- c_conv_ui_ops.chat_rename_user = NULL
- c_conv_ui_ops.chat_remove_users = NULL
- c_conv_ui_ops.chat_update_user = NULL
- c_conv_ui_ops.present = NULL
- c_conv_ui_ops.has_focus = NULL
- c_conv_ui_ops.custom_smiley_add = NULL
- c_conv_ui_ops.custom_smiley_write = NULL
- c_conv_ui_ops.custom_smiley_close = NULL
- c_conv_ui_ops.send_confirm = NULL
-
- purple_conversation_set_ui_ops(self.__conv, &c_conv_ui_ops)
-
- def conversation_write(self, const_char_ptr message):
- purple_conv_im_send(purple_conversation_get_im_data(self.__conv), message)
-
- def conversation_destroy(self):
- purple_conversation_destroy(self.__conv)
-
- def conversation_get_handle(self):
- purple_conversations_get_handle()
-
- def send_message(self, buddy, const_char_ptr message):
- self.conversation_new(1, buddy.account, buddy.name)
- self.conversation_set_ui_ops()
- self.conversation_write(message)
--- /dev/null
+#
+# Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
+#
+# This file is part of python-purple.
+#
+# python-purple is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# python-purple is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+cdef extern from "libpurple/savedstatuses.h":
+ ctypedef struct PurpleSavedStatus:
+ pass
+
+ PurpleSavedStatus *c_purple_savedstatus_new "purple_savedstatus_new" (const_char_ptr title, PurpleStatusPrimitive type)
+ void c_purple_savedstatus_activate "purple_savedstatus_activate" (PurpleSavedStatus *saved_status)
ctypedef struct PurplePresence:
pass
- ctypedef struct PurpleSavedStatus:
- pass
-
ctypedef int PurpleStatusPrimitive
- PurpleSavedStatus *c_purple_savedstatus_new "purple_savedstatus_new" (const_char_ptr title, PurpleStatusPrimitive type)
- void c_purple_savedstatus_activate "purple_savedstatus_activate" (PurpleSavedStatus *saved_status)
include "libpurple/prefs.pxd"
include "libpurple/proxy.pxd"
include "libpurple/status.pxd"
+include "libpurple/savedstatuses.pxd"
include "libpurple/util.pxd"
cdef extern from "c_purple.h":
c_purple_pounces_load()
return ret
- # core_init
-
-# Purple
+ # purple_init
def get_protocols(self):
cdef 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 "account.pyx"
-include "buddy.pyx"
-include "connection.pyx"
-include "conversation.pyx"
+include "account.pxd"
+include "buddy.pxd"
+include "connection.pxd"
+include "conversation.pxd"