diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-01-10 00:11:59 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-10 00:11:59 +0800 |
commit | c55283c50222dd43dd7a088592c7675e7d4a0959 (patch) | |
tree | 2e0dcd6d595c97b066c177e9696bb26dc94ddb8a /libempathy/empathy-tp-chat.h | |
parent | 646486c9e5f3972d2d5ec332c601eab73502fd3a (diff) | |
download | gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.tar gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.tar.gz gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.tar.bz2 gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.tar.lz gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.tar.xz gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.tar.zst gsoc2013-empathy-c55283c50222dd43dd7a088592c7675e7d4a0959.zip |
Improve API of tp-chat
* Never automagically acknowledge message, the UI should do this
* Add API to acknowledge a single or a list of EmpathyMessage
* Add API to get the list of pending messages
* Add API to explicitly close the underlying channel
* Ignore events from a channel that is being closed. Important events will be
emitted when the text channel respawns.
In the future we might want to make the closing of the channel async and have
it emit signals untill closed. Mostly for the benefit of the logger. Needs some
work in the UI bits to disconnect all signals properly when closing the window
though.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2128
Diffstat (limited to 'libempathy/empathy-tp-chat.h')
-rw-r--r-- | libempathy/empathy-tp-chat.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libempathy/empathy-tp-chat.h b/libempathy/empathy-tp-chat.h index 4aae240b8..353052923 100644 --- a/libempathy/empathy-tp-chat.h +++ b/libempathy/empathy-tp-chat.h @@ -54,15 +54,13 @@ struct _EmpathyTpChatClass { GType empathy_tp_chat_get_type (void) G_GNUC_CONST; EmpathyTpChat *empathy_tp_chat_new (TpChannel *channel); +void empathy_tp_chat_close (EmpathyTpChat *chat); const gchar * empathy_tp_chat_get_id (EmpathyTpChat *chat); EmpathyContact*empathy_tp_chat_get_remote_contact (EmpathyTpChat *chat); McAccount * empathy_tp_chat_get_account (EmpathyTpChat *chat); TpChannel * empathy_tp_chat_get_channel (EmpathyTpChat *chat); gboolean empathy_tp_chat_is_ready (EmpathyTpChat *chat); guint empathy_tp_chat_get_members_count (EmpathyTpChat *chat); -void empathy_tp_chat_set_acknowledge (EmpathyTpChat *chat, - gboolean acknowledge); -void empathy_tp_chat_emit_pendings (EmpathyTpChat *chat); void empathy_tp_chat_send (EmpathyTpChat *chat, EmpathyMessage *message); void empathy_tp_chat_set_state (EmpathyTpChat *chat, @@ -71,6 +69,13 @@ void empathy_tp_chat_set_property (EmpathyTpChat *chat, const gchar *name, const GValue *value); +/* Returns a read-only list of pending messages (should be a copy maybe ?) */ +const GList * empathy_tp_chat_get_pending_messages (EmpathyTpChat *chat); +void empathy_tp_chat_acknowledge_message (EmpathyTpChat *chat, + EmpathyMessage *message); +void empathy_tp_chat_acknowledge_messages (EmpathyTpChat *chat, + const GList *messages); + G_END_DECLS #endif /* __EMPATHY_TP_CHAT_H__ */ |