Merge heads.
[pidgin-git.git] / libpurple / conversations.h
blobcded479374e24b2cfa2b0a6478159ff9f8c7199f
1 /* purple
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
5 * source distribution.
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
24 /**
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"
33 #include "server.h"
35 G_BEGIN_DECLS
37 /**************************************************************************/
38 /* Conversations Subsystem */
39 /**************************************************************************/
41 /**
42 * purple_conversations_add:
43 * @conv: The conversation.
45 * Adds a conversation to the list of conversations.
47 void purple_conversations_add(PurpleConversation *conv);
49 /**
50 * purple_conversations_remove:
51 * @conv: The conversation.
53 * Removes a conversation from the list of conversations.
55 void purple_conversations_remove(PurpleConversation *conv);
57 /**
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);
68 /**
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);
77 /**
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);
86 /**
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: (transfer none): The conversation if found, or %NULL otherwise.
95 PurpleConversation *purple_conversations_find_with_account(const char *name,
96 PurpleAccount *account);
98 /**
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: (transfer none): The conversation if found, or %NULL otherwise.
107 PurpleIMConversation *purple_conversations_find_im_with_account(const char *name,
108 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: (transfer none): The conversation if found, or %NULL otherwise.
119 PurpleChatConversation *purple_conversations_find_chat_with_account(const char *name,
120 PurpleAccount *account);
123 * purple_conversations_find_chat:
124 * @gc: The purple_connection.
125 * @id: The chat ID.
127 * Finds a chat with the specified chat ID.
129 * Returns: (transfer none): 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);
173 G_END_DECLS
175 #endif /* PURPLE_CONVERSATIONS_H */