cdef blist.PurpleGroup *group = <blist.PurpleGroup *>node
cdef char *c_name = NULL
- c_name = <char *> blist.c_purple_group_get_name(group)
+ c_name = <char *> blist.purple_group_get_name(group)
if c_name == NULL:
name = None
else:
name = c_name
- currentsize = blist.c_purple_blist_get_group_size(group, False)
- totalsize = blist.c_purple_blist_get_group_size(group, True)
- online = blist.c_purple_blist_get_group_online_count(group)
+ currentsize = blist.purple_blist_get_group_size(group, False)
+ totalsize = blist.purple_blist_get_group_size(group, True)
+ online = blist.purple_blist_get_group_online_count(group)
callback(node.type, name, totalsize, currentsize, online)
cdef blist.PurpleContact *contact = <blist.PurpleContact *>node
cdef char *c_alias = NULL
- c_alias = <char *> blist.c_purple_contact_get_alias(contact)
+ c_alias = <char *> blist.purple_contact_get_alias(contact)
if c_alias == NULL:
alias = None
else:
cdef char *c_name = NULL
cdef char *c_alias = NULL
- c_name = <char *> blist.c_purple_buddy_get_name(buddy)
+ c_name = <char *> blist.purple_buddy_get_name(buddy)
if c_name == NULL:
name = None
else:
name = c_name
- c_alias = <char *> blist.c_purple_buddy_get_alias_only(buddy)
+ c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
if c_alias == NULL:
alias = None
else:
cdef blist.PurpleChat *chat = <blist.PurpleChat *>node
cdef char *c_name = NULL
- c_name = <char *> blist.c_purple_chat_get_name(chat)
+ c_name = <char *> blist.purple_chat_get_name(chat)
if c_name == NULL:
name = None
else:
def __get_alias(self):
if self.c_buddy:
- return <char *>blist.c_purple_buddy_get_alias_only(self.c_buddy)
+ return <char *>blist.purple_buddy_get_alias_only(self.c_buddy)
else:
return None
alias = property(__get_alias)
def __get_name(self):
if self.c_buddy:
- return <char *>blist.c_purple_buddy_get_name(self.c_buddy)
+ return <char *>blist.purple_buddy_get_name(self.c_buddy)
else:
return None
name = property(__get_name)
"""
def __get_online(self): # FIXME
name = self.name
- self.c_buddy = blist.c_purple_find_buddy(self.__acc.c_account, name)
- return status.c_purple_presence_is_online(blist.c_purple_buddy_get_presence(self.c_buddy))
+ self.c_buddy = blist.purple_find_buddy(self.__acc.c_account, name)
+ return status.purple_presence_is_online(blist.purple_buddy_get_presence(self.c_buddy))
online = property(__get_online)
"""
if alias is not None:
c_alias = alias
- self.c_buddy = blist.c_purple_buddy_new(<account.PurpleAccount *>\
+ self.c_buddy = blist.purple_buddy_new(<account.PurpleAccount *>\
self.__acc.c_account, c_name, c_alias)
cdef object __name
def __init__(self):
- conversation.c_purple_conversations_init()
+ conversation.purple_conversations_init()
self.__name = None
self.__acc = None
if type == "UNKNOWN":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_UNKNOWN,\
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_UNKNOWN,\
c_account, self.__name)
elif type == "IM":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_IM,\
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_IM,\
<account.PurpleAccount*> c_account, self.__name)
elif type == "CHAT":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_CHAT,\
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_CHAT,\
c_account, self.__name)
elif type == "MISC":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_MISC,\
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_MISC,\
c_account, self.__name)
elif type == "ANY":
self.__conv =\
- conversation.c_purple_conversation_new(conversation.PURPLE_CONV_TYPE_ANY,\
+ conversation.purple_conversation_new(conversation.PURPLE_CONV_TYPE_ANY,\
c_account, self.__name)
def conversation_set_ui_ops(self):
c_conv_ui_ops.custom_smiley_close = NULL
c_conv_ui_ops.send_confirm = NULL
- conversation.c_purple_conversation_set_ui_ops(self.__conv, &c_conv_ui_ops)
+ conversation.purple_conversation_set_ui_ops(self.__conv, &c_conv_ui_ops)
def write(self, char *message):
if self.__conv:
- conversation.c_purple_conv_im_send(conversation.c_purple_conversation_get_im_data(self.__conv), message)
+ conversation.purple_conv_im_send(conversation.purple_conversation_get_im_data(self.__conv), message)
def get_handle(self):
- conversation.c_purple_conversations_get_handle()
+ conversation.purple_conversations_get_handle()
def destroy(self):
print "[DEBUG]: Destroy conversation: %s" % self.__name
if self.__conv:
- conversation.c_purple_conversation_destroy(self.__conv)
+ conversation.purple_conversation_destroy(self.__conv)
debug.purple_debug_info("conversation", "%s", "create-conversation\n")
cdef char *c_name = NULL
- c_name = <char *> conversation.c_purple_conversation_get_name(conv)
+ c_name = <char *> conversation.purple_conversation_get_name(conv)
if c_name == NULL:
name = None
else:
name = c_name
- type = conversation.c_purple_conversation_get_type(conv)
+ type = conversation.purple_conversation_get_type(conv)
if conversation_cbs.has_key("create-conversation"):
(<object> conversation_cbs["create-conversation"])(name, type)
@see purple_conv_im_write()
"""
debug.purple_debug_info("conversation", "%s", "write-im\n")
- cdef account.PurpleAccount *acc = conversation.c_purple_conversation_get_account(conv)
+ cdef account.PurpleAccount *acc = conversation.purple_conversation_get_account(conv)
cdef blist.PurpleBuddy *buddy = NULL
cdef char *c_username = NULL
cdef char *c_sender_alias = NULL
if who:
sender = <char *> who
- buddy = blist.c_purple_find_buddy(acc, <char *> who)
- c_sender_alias = <char *> blist.c_purple_buddy_get_alias_only(buddy)
+ buddy = blist.purple_find_buddy(acc, <char *> who)
+ c_sender_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
else:
sender = None
cimport account
cimport buddyicon
-cdef extern from *:
- ctypedef char const_char "const char"
-
# hack to avoid recursive loops by cython
cdef extern from "libpurple/status.h":
- ctypedef struct PurplePresence:
- pass
+ ctypedef struct PurpleStatus
+ ctypedef struct PurplePresence
cdef extern from "libpurple/blist.h":
ctypedef struct PurpleBuddyList
void (*remove) (PurpleBuddyList *list, PurpleBlistNode *node)
void (*destroy) (PurpleBuddyList *list)
void (*set_visible) (PurpleBuddyList *list, glib.gboolean show)
- void (*request_add_buddy) (account.PurpleAccount *account, const_char *username, const_char *group, const_char *alias)
- void (*request_add_chat) (account.PurpleAccount *account, PurpleGroup *group, const_char *alias, const_char *name)
+ void (*request_add_buddy) (account.PurpleAccount *account, char *username, char *group, char *alias)
+ void (*request_add_chat) (account.PurpleAccount *account, PurpleGroup *group, char *alias, char *name)
void (*request_add_group) ()
- void *c_purple_blist_get_handle "purple_blist_get_handle" ()
- void c_purple_blist_load "purple_blist_load" ()
- PurpleBuddyList* c_purple_blist_new "purple_blist_new" ()
- PurpleBlistNodeType c_purple_blist_node_get_type \
- "purple_blist_node_get_type" (PurpleBlistNode *node)
- int c_purple_blist_get_group_size "purple_blist_get_group_size" \
- (PurpleGroup *group, glib.gboolean offline)
- int c_purple_blist_get_group_online_count \
- "purple_blist_get_group_online_count" (PurpleGroup *group)
- void c_purple_blist_set_ui_ops "purple_blist_set_ui_ops" (PurpleBlistUiOps *ops)
- const_char *c_purple_chat_get_name "purple_chat_get_name" (PurpleChat *chat)
- const_char *c_purple_contact_get_alias "purple_contact_get_alias" (PurpleContact *contact)
- const_char *c_purple_group_get_name "purple_group_get_name" (PurpleGroup *group)
- PurpleBuddy *c_purple_buddy_new "purple_buddy_new" (account.PurpleAccount *account,
+ # Buddy List API
+ PurpleBuddyList *purple_blist_new()
+ void purple_set_blist(PurpleBuddyList *blist)
+ PurpleBuddyList *purple_get_blist()
+ PurpleBlistNode *purple_blist_get_root()
+ PurpleBlistNode *purple_blist_node_next(PurpleBlistNode *node, \
+ glib.gboolean offline)
+ PurpleBlistNode *purple_blist_node_get_parent(PurpleBlistNode *node)
+ PurpleBlistNode *purple_blist_node_get_first_child(PurpleBlistNode *node)
+ PurpleBlistNode *purple_blist_node_get_sibling_next(PurpleBlistNode *node)
+ PurpleBlistNode *purple_blist_node_get_sibling_prev(PurpleBlistNode *node)
+ void purple_blist_show()
+ void purple_blist_destroy()
+ void purple_blist_set_visible(glib.gboolean show)
+ void purple_blist_update_buddy_status(PurpleBuddy *buddy, \
+ PurpleStatus *old_status)
+ void purple_blist_update_node_icon(PurpleBlistNode *node)
+ void purple_blist_rename_buddy(PurpleBuddy *buddy, char *name)
+ void purple_blist_alias_contact(PurpleContact *contact, char *alias)
+ void purple_blist_alias_buddy(PurpleBuddy *buddy, char *alias)
+ void purple_blist_server_alias_buddy(PurpleBuddy *buddy, char *alias)
+ void purple_blist_alias_chat(PurpleChat *chat, char *alias)
+ void purple_blist_rename_group(PurpleGroup *group, char *name)
+ PurpleChat *purple_chat_new(account.PurpleAccount *account, char *alias, \
+ glib.GHashTable *components)
+ void purple_blist_add_chat(PurpleChat *chat, PurpleGroup *group, \
+ PurpleBlistNode *node)
+ PurpleBuddy *purple_buddy_new(account.PurpleAccount *account, \
char *screenname, char *alias)
- const_char *c_purple_buddy_get_alias_only "purple_buddy_get_alias_only" (PurpleBuddy *buddy)
- const_char *c_purple_buddy_get_name "purple_buddy_get_name" (PurpleBuddy *buddy)
- PurpleBuddy *c_purple_find_buddy "purple_find_buddy" (account.PurpleAccount *account, char *name)
- void c_purple_set_blist "purple_set_blist" (PurpleBuddyList *list)
- glib.GSList *c_purple_find_buddies "purple_find_buddies" (account.PurpleAccount *account, char *name)
- account.PurpleAccount *c_purple_buddy_get_account "purple_buddy_get_account" (PurpleBuddy *buddy)
- PurplePresence *c_purple_buddy_get_presence "purple_buddy_get_presence" (PurpleBuddy *buddy)
+ void purple_buddy_set_icon(PurpleBuddy *buddy, \
+ buddyicon.PurpleBuddyIcon *icon)
+ account.PurpleAccount *purple_buddy_get_account(PurpleBuddy *buddy)
+ char *purple_buddy_get_name(PurpleBuddy *buddy)
+ buddyicon.PurpleBuddyIcon *purple_buddy_get_icon(PurpleBuddy *buddy)
+ PurpleContact *purple_buddy_get_contact(PurpleBuddy *buddy)
+ PurplePresence *purple_buddy_get_presence(PurpleBuddy *buddy)
+ void purple_blist_add_buddy(PurpleBuddy *buddy, PurpleContact *contact, \
+ PurpleGroup *group, PurpleBlistNode *node)
+ PurpleGroup *purple_group_new(char *name)
+ void purple_blist_add_group(PurpleGroup *group, PurpleBlistNode *node)
+ PurpleContact *purple_contact_new()
+ void purple_blist_add_contact(PurpleContact *contact, PurpleGroup *group, \
+ PurpleBlistNode *node)
+ void purple_blist_merge_contact(PurpleContact *source, \
+ PurpleBlistNode *node)
+ PurpleBuddy *purple_contact_get_priority_buddy(PurpleContact *contact)
+ char *purple_contact_get_alias(PurpleContact *contact)
+ glib.gboolean purple_contact_on_account(PurpleContact *contact, \
+ account.PurpleAccount *account)
+ void purple_contact_invalidate_priority_buddy(PurpleContact *contact)
+ void purple_blist_remove_buddy(PurpleBuddy *buddy)
+ void purple_blist_remove_contact(PurpleContact *contact)
+ void purple_blist_remove_chat(PurpleChat *chat)
+ void purple_blist_remove_group(PurpleGroup *group)
+ char *purple_buddy_get_alias_only(PurpleBuddy *buddy)
+ char *purple_buddy_get_server_alias(PurpleBuddy *buddy)
+ char *purple_buddy_get_contact_alias(PurpleBuddy *buddy)
+ char *purple_buddy_get_local_alias(PurpleBuddy *buddy)
+ char *purple_buddy_get_alias(PurpleBuddy *buddy)
+ char *purple_chat_get_name(PurpleChat *chat)
+ PurpleBuddy *purple_find_buddy(account.PurpleAccount *account, char *name)
+ PurpleBuddy *purple_find_buddy_in_group(account.PurpleAccount *account, \
+ char *name, PurpleGroup *group)
+ glib.GSList *purple_find_buddies(account.PurpleAccount *account, \
+ char *name)
+ PurpleGroup *purple_find_group(char *name)
+ PurpleChat *purple_blist_find_chat(account.PurpleAccount *account, \
+ char *name)
+ PurpleGroup *purple_chat_get_group(PurpleChat *chat)
+ account.PurpleAccount *purple_chat_get_account(PurpleChat *chat)
+ glib.GHashTable *purple_chat_get_components(PurpleChat *chat)
+ PurpleGroup *purple_buddy_get_group(PurpleBuddy *buddy)
+ glib.GSList *purple_group_get_accounts(PurpleGroup *g)
+ glib.gboolean purple_group_on_account(PurpleGroup *g, \
+ account.PurpleAccount *account)
+ char *purple_group_get_name(PurpleGroup *group)
+ void purple_blist_add_account(account.PurpleAccount *account)
+ void purple_blist_remove_account(account.PurpleAccount *account)
+ int purple_blist_get_group_size(PurpleGroup *group, glib.gboolean offline)
+ int purple_blist_get_group_online_count(PurpleGroup *group)
+
+ # Buddy list file management API
+ void purple_blist_load()
+ void purple_blist_schedule_save()
+ void purple_blist_request_add_buddy(account.PurpleAccount *account, \
+ char *username, char *group, char *alias)
+ void purple_blist_request_add_chat(account.PurpleAccount *account, \
+ PurpleGroup *group, char *alias, char *name)
+ void purple_blist_request_add_group()
+ void purple_blist_node_set_bool(PurpleBlistNode *node, char *key, \
+ glib.gboolean value)
+ glib.gboolean purple_blist_node_get_bool(PurpleBlistNode *node, char *key)
+ void purple_blist_node_set_int(PurpleBlistNode *node, char *key, int value)
+ int purple_blist_node_get_int(PurpleBlistNode *node, char *key)
+ void purple_blist_node_set_string(PurpleBlistNode *node, char *key, \
+ char *value)
+ char *purple_blist_node_get_string(PurpleBlistNode *node, char *key)
+ void purple_blist_node_remove_setting(PurpleBlistNode *node, char *key)
+ void purple_blist_node_set_flags(PurpleBlistNode *node, \
+ PurpleBlistNodeFlags flags)
+ PurpleBlistNodeFlags purple_blist_node_get_flags(PurpleBlistNode *node)
+ PurpleBlistNodeType purple_blist_node_get_type(PurpleBlistNode *node)
+ glib.GList *purple_blist_node_get_extended_menu(PurpleBlistNode *n)
+
+ # UI Registration Functions
+ void purple_blist_set_ui_ops(PurpleBlistUiOps *ops)
+ PurpleBlistUiOps *purple_blist_get_ui_ops()
+
+ # Buddy List Subsystem
+ void *purple_blist_get_handle()
+ void purple_blist_init()
+ void purple_blist_uninit()
cdef extern from *:
ctypedef int size_t
ctypedef long int time_t
- ctypedef char const_char "const char"
cdef extern from "libpurple/connection.h":
ctypedef struct PurpleConnection
char *description
ctypedef struct PurpleConnectionUiOps:
- void (*connect_progress) (PurpleConnection *gc, const_char *text, size_t step, size_t step_count)
+ void (*connect_progress) (PurpleConnection *gc, char *text, size_t step, size_t step_count)
void (*connected) (PurpleConnection *gc)
void (*disconnected) (PurpleConnection *gc)
- void (*notice) (PurpleConnection *gc, const_char *text)
- void (*report_disconnect) (PurpleConnection *gc, const_char *text)
+ void (*notice) (PurpleConnection *gc, char *text)
+ void (*report_disconnect) (PurpleConnection *gc, char *text)
void (*network_connected) ()
void (*network_disconnected) ()
- void (*report_disconnect_reason) (PurpleConnection *gc, PurpleConnectionError reason, const_char *text)
+ void (*report_disconnect_reason) (PurpleConnection *gc, PurpleConnectionError reason, char *text)
ctypedef struct PurpleConnection:
plugin.PurplePlugin *prpl
glib.guint disconnect_timeout
time_t last_received
- account.PurpleAccount *c_purple_connection_get_account "purple_connection_get_account" (PurpleConnection *gc)
- void *c_purple_connections_get_handle "purple_connections_get_handle" ()
- void c_purple_connections_set_ui_ops "purple_connections_set_ui_ops" (PurpleConnectionUiOps *ops)
+ # Connection API FIXME
+ void purple_connection_set_state(PurpleConnection *gc, \
+ PurpleConnectionState state)
+ void purple_connection_set_account(PurpleConnection *gc, \
+ account.PurpleAccount *account)
+ void purple_connection_set_display_name(PurpleConnection *gc, char *name)
+ PurpleConnectionState purple_connection_get_state(PurpleConnection *gc)
+ account.PurpleAccount *purple_connection_get_account(PurpleConnection *gc)
+ plugin.PurplePlugin * purple_connection_get_prpl(PurpleConnection *gc)
+ char *purple_connection_get_password(PurpleConnection *gc)
+ char *purple_connection_get_display_name(PurpleConnection *gc)
+ void purple_connection_update_progress(PurpleConnection *gc, char *text, \
+ size_t step, size_t count)
+ void purple_connection_notice(PurpleConnection *gc, char *text)
+ void purple_connection_error(PurpleConnection *gc, char *reason)
+ void purple_connection_error_reason (PurpleConnection *gc, \
+ PurpleConnectionError reason, char *description)
+ #void purple_connection_ssl_error (PurpleConnection *gc, \
+ #PurpleSslErrorType ssl_error)
+ glib.gboolean purple_connection_error_is_fatal ( \
+ PurpleConnectionError reason)
+
+ # Connections API
+ void purple_connections_disconnect_all()
+ glib.GList *purple_connections_get_all()
+ glib.GList *purple_connections_get_connecting()
+
+ # UI Registration Functions
+ void purple_connections_set_ui_ops(PurpleConnectionUiOps *ops)
+ PurpleConnectionUiOps *purple_connections_get_ui_ops()
+
+ # Connections Subsystem
+ void purple_connections_init()
+ void purple_connections_uninit()
+ void *purple_connections_get_handle()
connection.PurpleConnectionFlags features
glib.GList *message_history
- void c_purple_conversations_init "purple_conversations_init" ()
- void *c_purple_conversations_get_handle "purple_conversations_get_handle" ()
- PurpleConversation *c_purple_conversation_new "purple_conversation_new" (int type, account.PurpleAccount *account, char *name)
- void c_purple_conversation_set_ui_ops "purple_conversation_set_ui_ops" (PurpleConversation *conv, PurpleConversationUiOps *ops)
- void c_purple_conversations_set_ui_ops "purple_conversations_set_ui_ops" (PurpleConversationUiOps *ops)
- PurpleConvIm *c_purple_conversation_get_im_data "purple_conversation_get_im_data" (PurpleConversation *conv)
- char *c_purple_conversation_get_name "purple_conversation_get_name" (PurpleConversation *conv)
- PurpleConversationType c_purple_conversation_get_type "purple_conversation_get_type" (PurpleConversation *conv)
- account.PurpleAccount *c_purple_conversation_get_account "purple_conversation_get_account" (PurpleConversation *conv)
- void c_purple_conv_im_send "purple_conv_im_send" (PurpleConvIm *im, char *message)
- void c_purple_conversation_destroy "purple_conversation_destroy" (PurpleConversation *conv)
+ # Conversation API
+ PurpleConversation *purple_conversation_new(int type, \
+ account.PurpleAccount *account, char *name)
+ void purple_conversation_destroy(PurpleConversation *conv)
+ void purple_conversation_present(PurpleConversation *conv)
+ PurpleConversationType purple_conversation_get_type( \
+ PurpleConversation *conv)
+ void purple_conversation_set_ui_ops(PurpleConversation *conv, \
+ PurpleConversationUiOps *ops)
+ void purple_conversations_set_ui_ops(PurpleConversationUiOps *ops)
+ PurpleConversationUiOps *purple_conversation_get_ui_ops( \
+ PurpleConversation *conv)
+ void purple_conversation_set_account(PurpleConversation *conv, \
+ account.PurpleAccount *account)
+ account.PurpleAccount *purple_conversation_get_account( \
+ PurpleConversation *conv)
+ connection.PurpleConnection *purple_conversation_get_gc( \
+ PurpleConversation *conv)
+ void purple_conversation_set_title(PurpleConversation *conv, char *title)
+ char *purple_conversation_get_title(PurpleConversation *conv)
+ void purple_conversation_autoset_title(PurpleConversation *conv)
+ void purple_conversation_set_name(PurpleConversation *conv, char *name)
+ char *purple_conversation_get_name(PurpleConversation *conv)
+ void purple_conversation_set_logging(PurpleConversation *conv, \
+ glib.gboolean log)
+ glib.gboolean purple_conversation_is_logging(PurpleConversation *conv)
+ void purple_conversation_close_logs(PurpleConversation *conv)
+ PurpleConvIm *purple_conversation_get_im_data(PurpleConversation *conv)
+ PurpleConvChat *purple_conversation_get_chat_data(PurpleConversation *conv)
+ void purple_conversation_set_data(PurpleConversation *conv, char *key, \
+ glib.gpointer data)
+ glib.gpointer purple_conversation_get_data(PurpleConversation *conv, \
+ char *key)
+ glib.GList *purple_get_conversations()
+ glib.GList *purple_get_ims()
+ glib.GList *purple_get_chats()
+ PurpleConversation *purple_find_conversation_with_account( \
+ PurpleConversationType type, char *name, \
+ account.PurpleAccount *account)
+ void purple_conversation_write(PurpleConversation *conv, char *who, \
+ char *message, PurpleMessageFlags flags, time_t mtime)
+ void purple_conversation_set_features(PurpleConversation *conv, \
+ connection.PurpleConnectionFlags features)
+ connection.PurpleConnectionFlags purple_conversation_get_features( \
+ PurpleConversation *conv)
+ glib.gboolean purple_conversation_has_focus(PurpleConversation *conv)
+ void purple_conversation_update(PurpleConversation *conv, \
+ PurpleConvUpdateType type)
+ void purple_conversation_foreach(void (*func)(PurpleConversation *conv))
+ glib.GList *purple_conversation_get_message_history( \
+ PurpleConversation *conv)
+ void purple_conversation_clear_message_history(PurpleConversation *conv)
+ char *purple_conversation_message_get_sender(PurpleConvMessage *msg)
+ char *purple_conversation_message_get_message(PurpleConvMessage *msg)
+ PurpleMessageFlags purple_conversation_message_get_flags( \
+ PurpleConvMessage *msg)
+ time_t purple_conversation_message_get_timestamp(PurpleConvMessage *msg)
+
+ #IM Conversation API
+ PurpleConversation *purple_conv_im_get_conversation(PurpleConvIm *im)
+ void purple_conv_im_set_icon(PurpleConvIm *im, \
+ buddyicon.PurpleBuddyIcon *icon)
+ buddyicon.PurpleBuddyIcon *purple_conv_im_get_icon(PurpleConvIm *im)
+ void purple_conv_im_set_typing_state(PurpleConvIm *im, \
+ PurpleTypingState state)
+ PurpleTypingState purple_conv_im_get_typing_state(PurpleConvIm *im)
+ void purple_conv_im_start_typing_timeout(PurpleConvIm *im, int timeout)
+ void purple_conv_im_stop_typing_timeout(PurpleConvIm *im)
+ glib.guint purple_conv_im_get_typing_timeout(PurpleConvIm *im)
+ void purple_conv_im_set_type_again(PurpleConvIm *im, unsigned int val)
+ time_t purple_conv_im_get_type_again(PurpleConvIm *im)
+ void purple_conv_im_start_send_typed_timeout(PurpleConvIm *im)
+ void purple_conv_im_stop_send_typed_timeout(PurpleConvIm *im)
+ glib.guint purple_conv_im_get_send_typed_timeout(PurpleConvIm *im)
+ void purple_conv_im_update_typing(PurpleConvIm *im)
+ void purple_conv_im_write(PurpleConvIm *im, char *who, \
+ char *message, PurpleMessageFlags flags, time_t mtime)
+ glib.gboolean purple_conv_present_error(char *who, \
+ account.PurpleAccount *account, char *what)
+ void purple_conv_im_send(PurpleConvIm *im, char *message)
+ void purple_conv_send_confirm(PurpleConversation *conv, \
+ char *message)
+ void purple_conv_im_send_with_flags(PurpleConvIm *im, char *message, \
+ PurpleMessageFlags flags)
+ glib.gboolean purple_conv_custom_smiley_add(PurpleConversation *conv, \
+ char *smile, char *cksum_type, char *chksum, glib.gboolean remote)
+ void purple_conv_custom_smiley_write(PurpleConversation *conv, \
+ char *smile, glib.guchar *data, glib.gsize size)
+ void purple_conv_custom_smiley_close(PurpleConversation *conv, char *smile)
+
+ # Chat Conversation API
+ PurpleConversation *purple_conv_chat_get_conversation(PurpleConvChat *chat)
+ glib.GList *purple_conv_chat_set_users(PurpleConvChat *chat, \
+ glib.GList *users)
+ glib.GList *purple_conv_chat_get_users(PurpleConvChat *chat)
+ void purple_conv_chat_ignore(PurpleConvChat *chat, char *name)
+ void purple_conv_chat_unignore(PurpleConvChat *chat, char *name)
+ glib.GList *purple_conv_chat_set_ignored(PurpleConvChat *chat, \
+ glib.GList *ignored)
+ glib.GList *purple_conv_chat_get_ignored(PurpleConvChat *chat)
+ char *purple_conv_chat_get_ignored_user(PurpleConvChat *chat, char *user)
+ glib.gboolean purple_conv_chat_is_user_ignored(PurpleConvChat *chat, \
+ char *user)
+ void purple_conv_chat_set_topic(PurpleConvChat *chat, char *who, \
+ char *topic)
+ char *purple_conv_chat_get_topic(PurpleConvChat *chat)
+ void purple_conv_chat_set_id(PurpleConvChat *chat, int id)
+ int purple_conv_chat_get_id(PurpleConvChat *chat)
+ void purple_conv_chat_write(PurpleConvChat *chat, char *who, \
+ char *message, PurpleMessageFlags flags, time_t mtime)
+ void purple_conv_chat_send(PurpleConvChat *chat, char *message)
+ void purple_conv_chat_send_with_flags(PurpleConvChat *chat, \
+ char *message, PurpleMessageFlags flags)
+ void purple_conv_chat_add_user(PurpleConvChat *chat, char *user, \
+ char *extra_msg, PurpleConvChatBuddyFlags flags, \
+ glib.gboolean new_arrival)
+ void purple_conv_chat_add_users(PurpleConvChat *chat, glib.GList *users, \
+ glib.GList *extra_msgs, glib.GList *flags, \
+ glib.gboolean new_arrivals)
+ void purple_conv_chat_rename_user(PurpleConvChat *chat, \
+ char *old_user, char *new_user)
+ void purple_conv_chat_remove_user(PurpleConvChat *chat, \
+ char *user, char *reason)
+ void purple_conv_chat_remove_users(PurpleConvChat *chat, \
+ glib.GList *users, char *reason)
+ glib.gboolean purple_conv_chat_find_user(PurpleConvChat *chat, char *user)
+ void purple_conv_chat_user_set_flags(PurpleConvChat *chat, char *user, \
+ PurpleConvChatBuddyFlags flags)
+ PurpleConvChatBuddyFlags purple_conv_chat_user_get_flags( \
+ PurpleConvChat *chat, char *user)
+ void purple_conv_chat_clear_users(PurpleConvChat *chat)
+ void purple_conv_chat_set_nick(PurpleConvChat *chat, char *nick)
+ char *purple_conv_chat_get_nick(PurpleConvChat *chat)
+ PurpleConversation *purple_find_chat(connection.PurpleConnection *gc, \
+ int id)
+ void purple_conv_chat_left(PurpleConvChat *chat)
+ glib.gboolean purple_conv_chat_has_left(PurpleConvChat *chat)
+ PurpleConvChatBuddy *purple_conv_chat_cb_new(char *name, char *alias, \
+ PurpleConvChatBuddyFlags flags)
+ PurpleConvChatBuddy *purple_conv_chat_cb_find(PurpleConvChat *chat, \
+ char *name)
+ char *purple_conv_chat_cb_get_name(PurpleConvChatBuddy *cb)
+ void purple_conv_chat_cb_destroy(PurpleConvChatBuddy *cb)
+ glib.GList * purple_conversation_get_extended_menu( \
+ PurpleConversation *conv)
+ glib.gboolean purple_conversation_do_command(PurpleConversation *conv, \
+ glib.gchar *cmdline, glib.gchar *markup, glib.gchar **error)
+
+ # Conversations Subsystem
+ void *purple_conversations_get_handle()
+ void purple_conversations_init()
+ void purple_conversations_uninit()
void (*quit) ()
glib.GHashTable* (*get_ui_info) ()
- glib.gboolean c_purple_core_init "purple_core_init" (char *ui_name)
- void c_purple_core_quit "purple_core_quit" ()
- void c_purple_core_set_ui_ops "purple_core_set_ui_ops" (PurpleCoreUiOps *ops)
- glib.gboolean c_purple_core_ensure_single_instance "purple_core_ensure_single_instance" ()
+ glib.gboolean purple_core_init(char *ui_name)
+ void purple_core_quit()
+ void purple_core_set_ui_ops(PurpleCoreUiOps *ops)
+ glib.gboolean purple_core_ensure_single_instance()
PURPLE_INPUT_READ
PURPLE_INPUT_WRITE
- ctypedef void (*PurpleInputFunction) (glib.gpointer, glib.gint, PurpleInputCondition)
+ ctypedef void (*PurpleInputFunction) (glib.gpointer, glib.gint, \
+ PurpleInputCondition)
ctypedef struct PurpleEventLoopUiOps:
- glib.guint (*timeout_add) (glib.guint interval, glib.GSourceFunc function, glib.gpointer data)
+ glib.guint (*timeout_add) (glib.guint interval, \
+ glib.GSourceFunc function, glib.gpointer data)
glib.gboolean (*timeout_remove) (glib.guint handle)
- glib.guint (*input_add) (int fd, PurpleInputCondition cond, PurpleInputFunction func, glib.gpointer user_data)
+ glib.guint (*input_add) (int fd, PurpleInputCondition cond, \
+ PurpleInputFunction func, glib.gpointer user_data)
glib.gboolean (*input_remove) (glib.guint handle)
int (*input_get_error) (int fd, int *error)
- glib.guint (*timeout_add_seconds) (glib.guint interval, glib.GSourceFunc function, glib.gpointer data)
+ glib.guint (*timeout_add_seconds) (glib.guint interval, \
+ glib.GSourceFunc function, glib.gpointer data)
- void c_purple_eventloop_set_ui_ops "purple_eventloop_set_ui_ops" (PurpleEventLoopUiOps *ops)
+ # Event Loop API
+ glib.guint purple_timeout_add(glib.guint interval, \
+ glib.GSourceFunc function, glib.gpointer data)
+ glib.guint purple_timeout_add_seconds(glib.guint interval, \
+ glib.GSourceFunc function, glib.gpointer data)
+ glib.gboolean purple_timeout_remove(glib.guint handle)
+ glib.guint purple_input_add(int fd, PurpleInputCondition cond, \
+ PurpleInputFunction func, glib.gpointer user_data)
+ glib.gboolean purple_input_remove(glib.guint handle)
+ int purple_input_get_error(int fd, int *error)
+
+ # UI Registration Functions
+ void purple_eventloop_set_ui_ops(PurpleEventLoopUiOps *ops)
+ PurpleEventLoopUiOps *purple_eventloop_get_ui_ops()
void *(*notify_uri) (const_char *uri)
void (*close_notify) (PurpleNotifyType type, void *ui_handle)
- void c_purple_notify_set_ui_ops "purple_notify_set_ui_ops" (PurpleNotifyUiOps *ops)
+ void purple_notify_set_ui_ops(PurpleNotifyUiOps *ops)
ctypedef struct PurplePluginProtocolInfo:
glib.GList *protocol_options
- PurplePlugin *c_purple_find_prpl "purple_find_prpl" (char *id)
+ # Protocol Plugin Subsystem API
+ PurplePlugin *purple_find_prpl(char *id)
conversation.PurpleConversation *conv,
void *user_data)
- void c_purple_request_set_ui_ops "purple_request_set_ui_ops" (PurpleRequestUiOps *ops)
+ void purple_request_set_ui_ops(PurpleRequestUiOps *ops)
cdef extern from "libpurple/signals.h":
ctypedef void (*PurpleCallback) ()
- glib.gulong c_purple_signal_connect "purple_signal_connect" (void *instance,
- char *signal, void *handle, PurpleCallback func,
- void *data)
- void c_purple_signal_disconnect "purple_signal_disconnect" (void *instance,
- char *signal, void *handle, PurpleCallback func)
+ glib.gulong purple_signal_connect(void *instance, char *signal, \
+ void *handle, PurpleCallback func, void *data)
+ void purple_signal_disconnect(void *instance, char *signal, void *handle, \
+ PurpleCallback func)
account.PurpleAccount *account
char *name
- glib.gboolean c_purple_presence_is_online "purple_presence_is_online" (PurplePresence *presence)
+ glib.gboolean purple_presence_is_online(PurplePresence *presence)
'''
def __init__(self, id):
- self.c_plugin = plugin.c_purple_plugins_find_with_id(id)
+ self.c_plugin = plugin.purple_plugins_find_with_id(id)
self.c_prpl_info = plugin.c_PURPLE_PLUGIN_PROTOCOL_INFO(self.c_plugin)
'''
protocols = []
- iter = plugin.c_purple_plugins_get_protocols()
+ iter = plugin.purple_plugins_get_protocols()
while iter:
pp = <plugin.PurplePlugin*> iter.data
if pp.info and pp.info.name:
if username:
c_account = account.purple_accounts_find(username, id)
- c_plugin = plugin.c_purple_plugins_find_with_id(id)
+ c_plugin = plugin.purple_plugins_find_with_id(id)
c_prpl_info = plugin.c_PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)
po = {}
# FIXME: Message error or call a error handler
return False
- c_plugin = plugin.c_purple_plugins_find_with_id(acc[1])
+ c_plugin = plugin.purple_plugins_find_with_id(acc[1])
c_prpl_info = plugin.c_PURPLE_PLUGIN_PROTOCOL_INFO(c_plugin)
iter = c_prpl_info.protocol_options
cdef glib.GList *iter
cdef plugin.PurplePlugin *pp
protocols = []
- iter = plugin.c_purple_plugins_get_protocols()
+ iter = plugin.purple_plugins_get_protocols()
while iter:
pp = <plugin.PurplePlugin*> iter.data
if pp.info and pp.info.name:
ui_name = property(__get_ui_name)
def destroy(self):
- core.c_purple_core_quit()
+ core.purple_core_quit()
cdef void __core_ui_ops_ui_prefs_init(self):
debug.purple_debug_info("core_ui_ops", "%s", "ui_prefs_init\n")
- prefs.c_purple_prefs_load()
+ prefs.purple_prefs_load()
- prefs.c_purple_prefs_add_none("/carman")
+ prefs.purple_prefs_add_none("/carman")
cdef void __core_ui_ops_debug_init(self):
debug.purple_debug_info("core_ui_ops", "%s", "debug_ui_init\n")
debug.purple_debug_info("core_ui_ops", "%s", "ui_init\n")
account.purple_accounts_set_ui_ops(&c_account_ui_ops)
- connection.c_purple_connections_set_ui_ops(&c_conn_ui_ops)
- blist.c_purple_blist_set_ui_ops(&c_blist_ui_ops)
- conversation.c_purple_conversations_set_ui_ops(&c_conv_ui_ops)
- notify.c_purple_notify_set_ui_ops(&c_notify_ui_ops)
- #privacy.c_purple_privacy_set_ui_ops(&c_privacy_ui_ops)
- request.c_purple_request_set_ui_ops(&c_request_ui_ops)
- #ft.c_purple_xfers_set_ui_ops(&c_ft_ui_ops)
- #roomlist.c_purple_roomlist_set_ui_ops(&c_rlist_ui_ops)
+ connection.purple_connections_set_ui_ops(&c_conn_ui_ops)
+ blist.purple_blist_set_ui_ops(&c_blist_ui_ops)
+ conversation.purple_conversations_set_ui_ops(&c_conv_ui_ops)
+ notify.purple_notify_set_ui_ops(&c_notify_ui_ops)
+ #privacy.purple_privacy_set_ui_ops(&c_privacy_ui_ops)
+ request.purple_request_set_ui_ops(&c_request_ui_ops)
+ #ft.purple_xfers_set_ui_ops(&c_ft_ui_ops)
+ #roomlist.purple_roomlist_set_ui_ops(&c_rlist_ui_ops)
cdef void __core_ui_ops_quit(self):
debug.purple_debug_info("core_ui_ops", "%s", "quit\n")
global c_ui_info
account.purple_accounts_set_ui_ops(NULL)
- connection.c_purple_connections_set_ui_ops(NULL)
- blist.c_purple_blist_set_ui_ops(NULL)
- conversation.c_purple_conversations_set_ui_ops(NULL)
- notify.c_purple_notify_set_ui_ops(NULL)
- #privacy.c_purple_privacy_set_ui_ops(NULL)
- request.c_purple_request_set_ui_ops(NULL)
- #ft.c_purple_xfers_set_ui_ops(NULL)
- #roomlist.c_purple_roomlist_set_ui_ops(NULL)
+ connection.purple_connections_set_ui_ops(NULL)
+ blist.purple_blist_set_ui_ops(NULL)
+ conversation.purple_conversations_set_ui_ops(NULL)
+ notify.purple_notify_set_ui_ops(NULL)
+ #privacy.purple_privacy_set_ui_ops(NULL)
+ request.purple_request_set_ui_ops(NULL)
+ #ft.purple_xfers_set_ui_ops(NULL)
+ #roomlist.purple_roomlist_set_ui_ops(NULL)
if c_ui_info:
glib.g_hash_table_destroy(c_ui_info)
c_eventloop_ui_ops.input_get_error = NULL
c_eventloop_ui_ops.timeout_add_seconds = NULL
- core.c_purple_core_set_ui_ops(&c_core_ui_ops)
- eventloop.c_purple_eventloop_set_ui_ops(&c_eventloop_ui_ops)
+ core.purple_core_set_ui_ops(&c_core_ui_ops)
+ eventloop.purple_eventloop_set_ui_ops(&c_eventloop_ui_ops)
# initialize purple core
- ret = core.c_purple_core_init(__APP_NAME__)
+ ret = core.purple_core_init(__APP_NAME__)
if ret is False:
debug.purple_debug_fatal("main", "%s", "libpurple " \
"initialization failed.\n")
return False
# check if there is another instance of libpurple running
- if core.c_purple_core_ensure_single_instance() == False:
+ if core.purple_core_ensure_single_instance() == False:
debug.purple_debug_fatal("main", "%s", "Another instance of " \
"libpurple is already running.\n")
- core.c_purple_core_quit()
+ core.purple_core_quit()
return False
# create and load the buddy list
- blist.c_purple_set_blist(blist.c_purple_blist_new())
- blist.c_purple_blist_load()
+ blist.purple_set_blist(blist.purple_blist_new())
+ blist.purple_blist_load()
# load pounces
- pounce.c_purple_pounces_load()
+ pounce.purple_pounces_load()
return ret
if name is None:
return
- jabber = prpl.c_purple_find_prpl("prpl-jabber")
+ jabber = prpl.purple_find_prpl("prpl-jabber")
if jabber == NULL:
return
signal_cbs[name] = cb
if name == "signed-on":
- signals.c_purple_signal_connect(
- connection.c_purple_connections_get_handle(),
+ signals.purple_signal_connect(
+ connection.purple_connections_get_handle(),
"signed-on", &handle,
<signals.PurpleCallback> signal_signed_on_cb, NULL)
elif name == "signed-off":
- signals.c_purple_signal_connect(
- connection.c_purple_connections_get_handle(),
+ signals.purple_signal_connect(
+ connection.purple_connections_get_handle(),
"signed-off", &handle,
<signals.PurpleCallback> signal_signed_off_cb, NULL)
elif name == "connection-error":
- signals.c_purple_signal_connect(
- connection.c_purple_connections_get_handle(),
+ signals.purple_signal_connect(
+ connection.purple_connections_get_handle(),
"connection-error", &handle,
<signals.PurpleCallback> signal_connection_error_cb, NULL)
elif name == "buddy-signed-on":
- signals.c_purple_signal_connect(
- blist.c_purple_blist_get_handle(),
+ signals.purple_signal_connect(
+ blist.purple_blist_get_handle(),
"buddy-signed-on", &handle,
<signals.PurpleCallback> signal_buddy_signed_on_cb, NULL)
elif name == "buddy-signed-off":
- signals.c_purple_signal_connect(
- blist.c_purple_blist_get_handle(),
+ signals.purple_signal_connect(
+ blist.purple_blist_get_handle(),
"buddy-signed-off", &handle,
<signals.PurpleCallback> signal_buddy_signed_off_cb, NULL)
elif name == "receiving-im-msg":
- signals.c_purple_signal_connect(
- conversation.c_purple_conversations_get_handle(),
+ signals.purple_signal_connect(
+ conversation.purple_conversations_get_handle(),
"receiving-im-msg", &handle,
<signals.PurpleCallback> signal_receiving_im_msg_cb, NULL)
elif name == "jabber-receiving-xmlnode":
- signals.c_purple_signal_connect(
+ signals.purple_signal_connect(
jabber, "jabber-receiving-xmlnode", &handle,
<signals.PurpleCallback> jabber_receiving_xmlnode_cb, NULL)
Emitted when a connection has signed on.
@params gc The connection that has signed on.
"""
- cdef account.PurpleAccount *acc = connection.c_purple_connection_get_account(gc)
+ cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
cdef char *c_username = NULL
cdef char *c_protocol_id = NULL
Emitted when a connection has signed off.
@params gc The connection that has signed off.
"""
- cdef account.PurpleAccount *acc = connection.c_purple_connection_get_account(gc)
+ cdef account.PurpleAccount *acc = connection.purple_connection_get_account(gc)
cdef char *c_username = NULL
cdef char *c_protocol_id = NULL
cdef char *c_name = NULL
cdef char *c_alias = NULL
- c_name = <char *> blist.c_purple_buddy_get_name(buddy)
+ c_name = <char *> blist.purple_buddy_get_name(buddy)
if c_name == NULL:
name = None
else:
name = c_name
- c_alias = <char *> blist.c_purple_buddy_get_alias_only(buddy)
+ c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
if c_alias == NULL:
alias = None
else:
cdef char *c_name = NULL
cdef char *c_alias = NULL
- c_name = <char *> blist.c_purple_buddy_get_name(buddy)
+ c_name = <char *> blist.purple_buddy_get_name(buddy)
if c_name == NULL:
name = None
else:
name = c_name
- c_alias = <char *> blist.c_purple_buddy_get_alias_only(buddy)
+ c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
if c_alias == NULL:
alias = None
else:
@params conv The IM conversation.
@params flags A pointer to the IM message flags.
"""
- cdef blist.PurpleBuddy *buddy = blist.c_purple_find_buddy(account, sender[0])
+ cdef blist.PurpleBuddy *buddy = blist.purple_find_buddy(account, sender[0])
cdef char *c_alias = NULL
- c_alias = <char *> blist.c_purple_buddy_get_alias_only(buddy)
+ c_alias = <char *> blist.purple_buddy_get_alias_only(buddy)
if c_alias == NULL:
alias = None
else:
alias = c_alias
- stripped = util.c_purple_markup_strip_html(message[0])
+ stripped = util.purple_markup_strip_html(message[0])
if signal_cbs.has_key("receiving-im-msg"):
return (<object> signal_cbs["receiving-im-msg"])(sender[0], alias, stripped)
if message is None:
return None
else:
- return util.c_purple_markup_strip_html(message)
+ return util.purple_markup_strip_html(message)