3 * Purple is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
22 #ifndef _PURPLE_CONVERSATIONS_H_
23 #define _PURPLE_CONVERSATIONS_H_
25 * SECTION:conversations
26 * @section_id: libpurple-conversations
27 * @short_description: <filename>conversations.h</filename>
28 * @title: Conversations Subsystem API
29 * @see_also: <link linkend="chapter-signals-conversation">Conversation signals</link>
32 #include "conversationtypes.h"
37 /**************************************************************************/
38 /* Conversations Subsystem */
39 /**************************************************************************/
42 * purple_conversations_add:
43 * @conv: The conversation.
45 * Adds a conversation to the list of conversations.
47 void purple_conversations_add(PurpleConversation
*conv
);
50 * purple_conversations_remove:
51 * @conv: The conversation.
53 * Removes a conversation from the list of conversations.
55 void purple_conversations_remove(PurpleConversation
*conv
);
58 * purple_conversations_get_all:
60 * Returns a list of all conversations.
62 * This list includes both IMs and chats.
64 * Returns: (element-type PurpleConversation) (transfer none): A GList of all conversations.
66 GList
*purple_conversations_get_all(void);
69 * purple_conversations_get_ims:
71 * Returns a list of all IMs.
73 * Returns: (element-type PurpleIMConversation) (transfer none): All IMs.
75 GList
*purple_conversations_get_ims(void);
78 * purple_conversations_get_chats:
80 * Returns a list of all chats.
82 * Returns: (element-type PurpleChatConversation) (transfer none): All chats.
84 GList
*purple_conversations_get_chats(void);
87 * purple_conversations_find_with_account:
88 * @name: The name of the conversation.
89 * @account: The account associated with the conversation.
91 * Finds a conversation of any type with the specified name and Purple account.
93 * Returns: The conversation if found, or %NULL otherwise.
95 PurpleConversation
*purple_conversations_find_with_account(const char *name
,
96 const PurpleAccount
*account
);
99 * purple_conversations_find_im_with_account:
100 * @name: The name of the conversation.
101 * @account: The account associated with the conversation.
103 * Finds an IM with the specified name and Purple account.
105 * Returns: The conversation if found, or %NULL otherwise.
107 PurpleIMConversation
*purple_conversations_find_im_with_account(const char *name
,
108 const PurpleAccount
*account
);
111 * purple_conversations_find_chat_with_account:
112 * @name: The name of the conversation.
113 * @account: The account associated with the conversation.
115 * Finds a chat with the specified name and Purple account.
117 * Returns: The conversation if found, or %NULL otherwise.
119 PurpleChatConversation
*purple_conversations_find_chat_with_account(const char *name
,
120 const PurpleAccount
*account
);
123 * purple_conversations_find_chat:
124 * @gc: The purple_connection.
127 * Finds a chat with the specified chat ID.
129 * Returns: The chat conversation.
131 PurpleChatConversation
*purple_conversations_find_chat(const PurpleConnection
*gc
, int id
);
134 * purple_conversations_set_ui_ops:
135 * @ops: The UI conversation operations structure.
137 * Sets the default conversation UI operations structure.
139 void purple_conversations_set_ui_ops(PurpleConversationUiOps
*ops
);
142 * purple_conversations_get_ui_ops:
144 * Gets the default conversation UI operations structure.
146 * Returns: The UI conversation operations structure.
148 PurpleConversationUiOps
*purple_conversations_get_ui_ops(void);
151 * purple_conversations_get_handle:
153 * Returns the conversation subsystem handle.
155 * Returns: The conversation subsystem handle.
157 void *purple_conversations_get_handle(void);
160 * purple_conversations_init:
162 * Initializes the conversation subsystem.
164 void purple_conversations_init(void);
167 * purple_conversations_uninit:
169 * Uninitializes the conversation subsystem.
171 void purple_conversations_uninit(void);
175 #endif /* _PURPLE_CONVERSATIONS_H_ */