--- /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 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 extern from "glib.h":
- ctypedef int gboolean
-
-cdef extern from "libpurple/account.h":
- cdef struct _PurpleAccount
- ctypedef _PurpleAccount PurpleAccount
-
- PurpleAccount *c_purple_account_new "purple_account_new" (const_char_ptr username, const_char_ptr protocol_id)
- void c_purple_account_set_password "purple_account_set_password" (PurpleAccount *account, const_char_ptr password)
- const_char_ptr c_purple_account_get_password "purple_account_get_password" (PurpleAccount *account)
- void c_purple_account_set_enabled "purple_account_set_enabled" (PurpleAccount *account, const_char_ptr ui, gboolean value)
- const_char_ptr c_purple_account_get_username "purple_account_get_username" (PurpleAccount *account)
-
-cdef extern from "libpurple/status.h":
- ctypedef int PurpleStatusPrimitive
-
- cdef struct _PurpleSavedStatus
- ctypedef _PurpleSavedStatus PurpleSavedStatus
-
- 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)
-
-cdef extern from "libpurple/proxy.h":
- cdef struct PurpleProxyInfo
-
- ctypedef int PurpleProxyType
- PurpleProxyInfo *purple_proxy_info_new()
- void c_purple_proxy_info_set_type "purple_proxy_info_set_type" (PurpleProxyInfo *info, PurpleProxyType type)
- void c_purple_proxy_info_set_host "purple_proxy_info_set_host" (const_char_ptr host)
- void c_purple_proxy_info_set_port "purple_proxy_info_set_port" (const_char_ptr port)
-
-
-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 extern from "libpurple/purple.h":
- ctypedef struct PurpleBlistNode:
- pass
-
- ctypedef struct PurpleBuddyIcon:
- pass
-
- ctypedef struct PurplePresence:
- pass
-
- ctypedef struct PurpleBuddy:
- PurpleBlistNode node
- char *name
- char *alias
- char *server_alias
- void *proto_data
- PurpleBuddyIcon *icon
- PurpleAccount *account
- PurplePresence *presence
-
- PurpleBuddy *c_purple_buddy_new "purple_buddy_new" (PurpleAccount *account,
- const_char_ptr screenname, const_char_ptr alias)
-
- const_char_ptr c_purple_buddy_get_alias_only "purple_buddy_get_alias_only" (PurpleBuddy *buddy)
- const_char_ptr c_purple_buddy_get_name "purple_buddy_get_name" (PurpleBuddy *buddy)
-
-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 extern from "libpurple/connection.h":
- cdef struct PurpleConnection
-
- void connect_to_signals_for_demonstration_purposes_only()
-
-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 extern from "libpurple/conversation.h":
- ctypedef struct PurpleConversation:
- pass
-
- ctypedef struct PurpleConvIm:
- pass
-
- ctypedef enum PurpleMessageFlags:
- PURPLE_MESSAGE_SEND = 0x0001
- PURPLE_MESSAGE_RECV = 0x0002
- PURPLE_MESSAGE_SYSTEM = 0x0004
- PURPLE_MESSAGE_AUTO_RESP = 0x0008
- PURPLE_MESSAGE_ACTIVE_ONLY = 0x0010
- PURPLE_MESSAGE_NICK = 0x0020
- PURPLE_MESSAGE_NO_LOG = 0x0040
- PURPLE_MESSAGE_WHISPER = 0x0080
- PURPLE_MESSAGE_ERROR = 0x0200
- PURPLE_MESSAGE_DELAYED = 0x0400
- PURPLE_MESSAGE_RAW = 0x0800
- PURPLE_MESSAGE_IMAGES = 0x1000
- PURPLE_MESSAGE_NOTIFY = 0x2000
- PURPLE_MESSAGE_NO_LINKIFY = 0x4000
- PURPLE_MESSAGE_INVISIBLE = 0x8000
-
- ctypedef struct PurpleConversationUiOps:
- void (*create_conversation) (PurpleConversation *conv)
- void (*destroy_conversation) (PurpleConversation *conv)
- void (*write_chat) (PurpleConversation *conv, const_char_ptr who, const_char_ptr message, PurpleMessageFlags flags, time_t mtime)
- void (*write_im) (PurpleConversation *conv, const_char_ptr who, const_char_ptr message, PurpleMessageFlags flags, time_t mtime)
- void (*write_conv) (PurpleConversation *conv, const_char_ptr name, const_char_ptr alias, const_char_ptr message, PurpleMessageFlags flags, time_t mtime)
- void (*chat_add_users) (PurpleConversation *conv, GList *cbuddies, gboolean new_arrivals)
- void (*chat_rename_user) (PurpleConversation *conv, const_char_ptr old_name, const_char_ptr new_name, const_char_ptr new_alias)
- void (*chat_remove_users) (PurpleConversation *conv, GList *users)
- void (*chat_update_user) (PurpleConversation *conv, const_char_ptr user)
- void (*present) (PurpleConversation *conv)
- gboolean (*has_focus) (PurpleConversation *conv)
- gboolean (*custom_smiley_add) (PurpleConversation *conv, const_char_ptr smile, gboolean remote)
- void (*custom_smiley_write) (PurpleConversation *conv, const_char_ptr smile, const_guchar_ptr data, gsize size)
- void (*custom_smiley_close) (PurpleConversation *conv, const_char_ptr smile)
- void (*send_confirm) (PurpleConversation *conv, const_char_ptr message)
-
- void purple_conversations_init()
- PurpleConversation *purple_conversation_new(int type, PurpleAccount *account, const_char_ptr name)
- void purple_conversation_set_ui_ops(PurpleConversation *conv, PurpleConversationUiOps *ops)
- PurpleConvIm *purple_conversation_get_im_data(PurpleConversation *conv)
- void purple_conv_im_send(PurpleConvIm *im, const_char_ptr message)
- void *purple_conversations_get_handle()
- void purple_conversation_destroy(PurpleConversation *conv)
-
-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/account.h":
+ ctypedef struct PurpleAccount:
+ pass
+
+ PurpleAccount *c_purple_account_new "purple_account_new" (const_char_ptr username, const_char_ptr protocol_id)
+ void c_purple_account_set_password "purple_account_set_password" (PurpleAccount *account, const_char_ptr password)
+ const_char_ptr c_purple_account_get_password "purple_account_get_password" (PurpleAccount *account)
+ void c_purple_account_set_enabled "purple_account_set_enabled" (PurpleAccount *account, const_char_ptr ui, gboolean value)
+ const_char_ptr c_purple_account_get_username "purple_account_get_username" (PurpleAccount *account)
+ GList *c_purple_accounts_get_all_active "purple_accounts_get_all_active" ()
--- /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/blist.h":
+ ctypedef struct PurpleBlistNode:
+ pass
+
+ ctypedef struct PurpleBuddy:
+ pass
+
+ ctypedef struct PurpleBuddyList:
+ pass
+
+ void c_purple_blist_load "purple_blist_load" ()
+ PurpleBuddyList* c_purple_blist_new "purple_blist_new" ()
+
+ PurpleBuddy *c_purple_buddy_new "purple_buddy_new" (PurpleAccount *account,
+ const_char_ptr screenname, const_char_ptr alias)
+ const_char_ptr c_purple_buddy_get_alias_only "purple_buddy_get_alias_only" (PurpleBuddy *buddy)
+ const_char_ptr c_purple_buddy_get_name "purple_buddy_get_name" (PurpleBuddy *buddy)
+ PurpleBuddy *c_purple_find_buddy "purple_find_buddy" (PurpleAccount *account,
+ const_char_ptr name)
+ void c_purple_set_blist "purple_set_blist" (PurpleBuddyList *list)
--- /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/buddyicon.h":
+ ctypedef struct PurpleBuddyIcon:
+ pass
--- /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/connection.h":
+ ctypedef struct PurpleConnection:
+ pass
+
+ void 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 extern from "libpurple/conversation.h":
+ ctypedef struct PurpleConversation:
+ pass
+
+ ctypedef struct PurpleConvIm:
+ pass
+
+ ctypedef enum PurpleMessageFlags:
+ PURPLE_MESSAGE_SEND = 0x0001
+ PURPLE_MESSAGE_RECV = 0x0002
+ PURPLE_MESSAGE_SYSTEM = 0x0004
+ PURPLE_MESSAGE_AUTO_RESP = 0x0008
+ PURPLE_MESSAGE_ACTIVE_ONLY = 0x0010
+ PURPLE_MESSAGE_NICK = 0x0020
+ PURPLE_MESSAGE_NO_LOG = 0x0040
+ PURPLE_MESSAGE_WHISPER = 0x0080
+ PURPLE_MESSAGE_ERROR = 0x0200
+ PURPLE_MESSAGE_DELAYED = 0x0400
+ PURPLE_MESSAGE_RAW = 0x0800
+ PURPLE_MESSAGE_IMAGES = 0x1000
+ PURPLE_MESSAGE_NOTIFY = 0x2000
+ PURPLE_MESSAGE_NO_LINKIFY = 0x4000
+ PURPLE_MESSAGE_INVISIBLE = 0x8000
+
+ ctypedef struct PurpleConversationUiOps:
+ void (*create_conversation) (PurpleConversation *conv)
+ void (*destroy_conversation) (PurpleConversation *conv)
+ void (*write_chat) (PurpleConversation *conv, const_char_ptr who, const_char_ptr message, PurpleMessageFlags flags, time_t mtime)
+ void (*write_im) (PurpleConversation *conv, const_char_ptr who, const_char_ptr message, PurpleMessageFlags flags, time_t mtime)
+ void (*write_conv) (PurpleConversation *conv, const_char_ptr name, const_char_ptr alias, const_char_ptr message, PurpleMessageFlags flags, time_t mtime)
+ void (*chat_add_users) (PurpleConversation *conv, GList *cbuddies, gboolean new_arrivals)
+ void (*chat_rename_user) (PurpleConversation *conv, const_char_ptr old_name, const_char_ptr new_name, const_char_ptr new_alias)
+ void (*chat_remove_users) (PurpleConversation *conv, GList *users)
+ void (*chat_update_user) (PurpleConversation *conv, const_char_ptr user)
+ void (*present) (PurpleConversation *conv)
+ gboolean (*has_focus) (PurpleConversation *conv)
+ gboolean (*custom_smiley_add) (PurpleConversation *conv, const_char_ptr smile, gboolean remote)
+ void (*custom_smiley_write) (PurpleConversation *conv, const_char_ptr smile, const_guchar_ptr data, gsize size)
+ void (*custom_smiley_close) (PurpleConversation *conv, const_char_ptr smile)
+ void (*send_confirm) (PurpleConversation *conv, const_char_ptr message)
+
+ void purple_conversations_init()
+ PurpleConversation *purple_conversation_new(int type, PurpleAccount *account, const_char_ptr name)
+ void purple_conversation_set_ui_ops(PurpleConversation *conv, PurpleConversationUiOps *ops)
+ PurpleConvIm *purple_conversation_get_im_data(PurpleConversation *conv)
+ void purple_conv_im_send(PurpleConvIm *im, const_char_ptr message)
+ void *purple_conversations_get_handle()
+ void purple_conversation_destroy(PurpleConversation *conv)
+
--- /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/core.h":
+ ctypedef struct PurpleCoreUiOps:
+ void (*ui_prefs_init) ()
+ void (*debug_ui_init) ()
+ void (*ui_init) ()
+ void (*quit) ()
+ GHashTable* (*get_ui_info) ()
+
+ gboolean c_purple_core_init "purple_core_init" (const_char_ptr ui_name)
+ void c_purple_core_quit "purple_core_quit" ()
+ void c_purple_core_set_ui_ops "purple_core_set_ui_ops" (PurpleCoreUiOps *ops)
+ gboolean c_purple_core_ensure_single_instance "purple_core_ensure_single_instance" ()
--- /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/debug.h":
+ ctypedef enum PurpleDebugLevel:
+ PURPLE_DEBUG_ALL
+ PURPLE_DEBUG_MISC
+ PURPLE_DEBUG_INFO
+ PURPLE_DEBUG_WARNING
+ PURPLE_DEBUG_ERROR
+ PURPLE_DEBUG_FATAL
+
+ void c_purple_debug "purple_debug" (PurpleDebugLevel level, const_char_ptr category, const_char_ptr format)
+ void c_purple_debug_set_enabled "purple_debug_set_enabled" (gboolean debug_enabled)
--- /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/eventloop.h":
+ ctypedef enum PurpleInputCondition:
+ PURPLE_INPUT_READ
+ PURPLE_INPUT_WRITE
+
+ ctypedef void (*PurpleInputFunction) (gpointer, gint, PurpleInputCondition)
+
+ ctypedef struct PurpleEventLoopUiOps:
+ guint (*timeout_add) (guint interval, GSourceFunc function, gpointer data)
+ gboolean (*timeout_remove) (guint handle)
+ guint (*input_add) (int fd, PurpleInputCondition cond, PurpleInputFunction func, gpointer user_data)
+ gboolean (*input_remove) (guint handle)
+ int (*input_get_error) (int fd, int *error)
+ guint (*timeout_add_seconds)(guint interval, GSourceFunc function, gpointer data)
+
+ void c_purple_eventloop_set_ui_ops "purple_eventloop_set_ui_ops" (PurpleEventLoopUiOps *ops)
--- /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/plugin.h":
+ ctypedef struct PurplePluginInfo:
+ char *id
+ char *name
+
+ ctypedef struct PurplePlugin:
+ PurplePluginInfo *info
+
+ void c_purple_plugins_add_search_path "purple_plugins_add_search_path" (const_char_ptr path)
+ GList *c_purple_plugins_get_protocols "purple_plugins_get_protocols" ()
--- /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/pounce.h":
+ gboolean c_purple_pounces_load "purple_pounces_load" ()
--- /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/prefs.h":
+ void c_purple_prefs_add_none "purple_prefs_add_none" (const_char_ptr name)
+ void c_purple_prefs_rename "purple_prefs_rename" (const_char_ptr oldname, const_char_ptr newname)
+ const_char_ptr c_purple_prefs_get_string "purple_prefs_get_string" (const_char_ptr name)
+ gboolean c_purple_prefs_load "purple_prefs_load" ()
--- /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/proxy.h":
+ cdef struct PurpleProxyInfo
+
+ ctypedef int PurpleProxyType
+ PurpleProxyInfo *purple_proxy_info_new()
+ void c_purple_proxy_info_set_type "purple_proxy_info_set_type" (PurpleProxyInfo *info, PurpleProxyType type)
+ void c_purple_proxy_info_set_host "purple_proxy_info_set_host" (const_char_ptr host)
+ void c_purple_proxy_info_set_port "purple_proxy_info_set_port" (const_char_ptr port)
--- /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/status.h":
+ 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)
--- /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/util.h":
+ void c_purple_util_set_user_dir "purple_util_set_user_dir" (char *dir)
include "glib.pxd"
-import ecore
-
cdef extern from *:
ctypedef char* const_char_ptr "const char *"
ctypedef char* const_guchar_ptr "const guchar *"
cdef extern from "time.h":
ctypedef long int time_t
-cdef extern from "libpurple/blist.h":
- ctypedef struct PurpleBuddyList:
- pass
-
- void c_purple_set_blist "purple_set_blist" (PurpleBuddyList *list)
- void c_purple_blist_load "purple_blist_load" ()
- PurpleBuddyList* c_purple_blist_new "purple_blist_new" ()
-
-cdef extern from "libpurple/core.h":
- ctypedef struct PurpleCoreUiOps:
- void (*ui_prefs_init) ()
- void (*debug_ui_init) ()
- void (*ui_init) ()
- void (*quit) ()
- GHashTable* (*get_ui_info) ()
-
- gboolean c_purple_core_init "purple_core_init" (const_char_ptr ui_name)
- void c_purple_core_quit "purple_core_quit" ()
- void c_purple_core_set_ui_ops "purple_core_set_ui_ops" (PurpleCoreUiOps *ops)
- gboolean c_purple_core_ensure_single_instance "purple_core_ensure_single_instance" ()
-
-cdef extern from "libpurple/debug.h":
- ctypedef enum PurpleDebugLevel:
- PURPLE_DEBUG_ALL
- PURPLE_DEBUG_MISC
- PURPLE_DEBUG_INFO
- PURPLE_DEBUG_WARNING
- PURPLE_DEBUG_ERROR
- PURPLE_DEBUG_FATAL
-
- void c_purple_debug "purple_debug" (PurpleDebugLevel level, const_char_ptr category, const_char_ptr format)
- void c_purple_debug_set_enabled "purple_debug_set_enabled" (gboolean debug_enabled)
-
-cdef extern from "libpurple/eventloop.h":
- ctypedef enum PurpleInputCondition:
- PURPLE_INPUT_READ
- PURPLE_INPUT_WRITE
-
- ctypedef void (*PurpleInputFunction) (gpointer , gint, PurpleInputCondition)
-
- ctypedef struct PurpleEventLoopUiOps:
- guint (*timeout_add) (guint interval, GSourceFunc function, gpointer data)
- gboolean (*timeout_remove) (guint handle)
- guint (*input_add) (int fd, PurpleInputCondition cond, PurpleInputFunction func, gpointer user_data)
- gboolean (*input_remove) (guint handle)
- int (*input_get_error) (int fd, int *error)
- guint (*timeout_add_seconds)(guint interval, GSourceFunc function, gpointer data)
-
- void c_purple_eventloop_set_ui_ops "purple_eventloop_set_ui_ops" (PurpleEventLoopUiOps *ops)
-
-cdef extern from "libpurple/plugin.h":
- ctypedef struct PurplePlugin
-
- cdef struct _PurplePluginInfo:
- char *id
- char *name
- ctypedef _PurplePluginInfo PurplePluginInfo
-
- cdef struct _PurplePlugin:
- PurplePluginInfo *info # The plugin information.
- ctypedef _PurplePlugin PurplePlugin
-
- void c_purple_plugins_add_search_path "purple_plugins_add_search_path" (const_char_ptr path)
- GList *c_purple_plugins_get_protocols "purple_plugins_get_protocols" ()
-
-cdef extern from "libpurple/pounce.h":
- gboolean c_purple_pounces_load "purple_pounces_load" ()
-
-cdef extern from "libpurple/prefs.h":
- void c_purple_prefs_add_none "purple_prefs_add_none" (const_char_ptr name)
- void c_purple_prefs_rename "purple_prefs_rename" (const_char_ptr oldname, const_char_ptr newname)
- const_char_ptr c_purple_prefs_get_string "purple_prefs_get_string" (const_char_ptr name)
- gboolean c_purple_prefs_load "purple_prefs_load" ()
-
-cdef extern from "libpurple/util.h":
- void c_purple_util_set_user_dir "purple_util_set_user_dir" (char *dir)
+include "libpurple/account.pxd"
+include "libpurple/buddyicon.pxd"
+include "libpurple/blist.pxd"
+include "libpurple/connection.pxd"
+include "libpurple/conversation.pxd"
+include "libpurple/core.pxd"
+include "libpurple/debug.pxd"
+include "libpurple/eventloop.pxd"
+include "libpurple/plugin.pxd"
+include "libpurple/pounce.pxd"
+include "libpurple/prefs.pxd"
+include "libpurple/proxy.pxd"
+include "libpurple/status.pxd"
+include "libpurple/util.pxd"
cdef extern from "c_purple.h":
guint glib_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunction function, gpointer data)
void glib_main_loop()
+import ecore
+
__DEFAULT_PATH__ = "/tmp"
__APP_NAME__ = "carman-purple-python"
__APP_VERSION__ = "0.1"
conn.connect()
include "core/account.pxd"
-include "core/buddy.pxd"
-include "glib.pxd"
#include "core/blist.pxd"
+include "core/buddy.pxd"
include "core/connection.pxd"
+include "core/conversation.pxd"
#include "core/core.pxd"
#include "core/idle.pxd"
#include "core/pounce.pxd"
-include "core/conversation.pxd"