src/conversation.h

Mon, 20 Oct 2003 04:08:13 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Mon, 20 Oct 2003 04:08:13 +0000
changeset 7304
6dd96b6aad23
parent 7256
311c8febfc92
child 7431
f3eaace13491
permissions
-rw-r--r--

[gaim-migrate @ 7888]
This is fun. I got silly and decided to add some drop shadows to the buddy
list tooltip. It looks totally awesome. It will be reverted before the next
release though. It's just far too hacky.

4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file conversation.h Conversation API
5034
077678f7b048 [gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents: 4890
diff changeset
3 * @ingroup core
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * Copyright (C) 2002-2003, Christian Hammond <chipx86@gnupdate.org>
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
8 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * (at your option) any later version.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * GNU General Public License for more details.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
22 *
6605
665d3a8e885c [gaim-migrate @ 7129]
Christian Hammond <chipx86@chipx86.com>
parents: 6585
diff changeset
23 * @see @ref conversation-signals
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
4890
d87a9b5bbe57 [gaim-migrate @ 5220]
Christian Hammond <chipx86@chipx86.com>
parents: 4877
diff changeset
25 #ifndef _GAIM_CONVERSATION_H_
d87a9b5bbe57 [gaim-migrate @ 5220]
Christian Hammond <chipx86@chipx86.com>
parents: 4877
diff changeset
26 #define _GAIM_CONVERSATION_H_
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29 /** Data Structures */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
32 typedef struct _GaimConvWindowUiOps GaimConvWindowUiOps;
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
33 typedef struct _GaimConvWindow GaimConvWindow;
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
34 typedef struct _GaimConversationUiOps GaimConversationUiOps;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
35 typedef struct _GaimConversation GaimConversation;
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
36 typedef struct _GaimConvIm GaimConvIm;
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
37 typedef struct _GaimConvChat GaimConvChat;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 * A type of conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
42 typedef enum
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 GAIM_CONV_UNKNOWN = 0, /**< Unknown conversation type. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 GAIM_CONV_IM, /**< Instant Message. */
4378
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
46 GAIM_CONV_CHAT, /**< Chat room. */
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
47 GAIM_CONV_MISC /**< A misc. conversation. */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
48
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
49 } GaimConversationType;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 * Unseen text states.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
54 typedef enum
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 GAIM_UNSEEN_NONE = 0, /**< No unseen text in the conversation. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 GAIM_UNSEEN_TEXT, /**< Unseen text in the conversation. */
6405
30166fa1b9a2 [gaim-migrate @ 6910]
Christian Hammond <chipx86@chipx86.com>
parents: 6311
diff changeset
58 GAIM_UNSEEN_NICK, /**< Unseen text and the nick was said. */
30166fa1b9a2 [gaim-migrate @ 6910]
Christian Hammond <chipx86@chipx86.com>
parents: 6311
diff changeset
59 GAIM_UNSEEN_EVENT /**< Unseen events in the conversation. */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
60
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
61 } GaimUnseenState;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 * Conversation update type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
66 typedef enum
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 GAIM_CONV_UPDATE_ADD = 0, /**< The buddy associated with the conversation
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 was added. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 GAIM_CONV_UPDATE_REMOVE, /**< The buddy associated with the conversation
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 was removed. */
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
72 GAIM_CONV_UPDATE_ACCOUNT, /**< The gaim_account was changed. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 GAIM_CONV_UPDATE_TYPING, /**< The typing state was updated. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 GAIM_CONV_UPDATE_UNSEEN, /**< The unseen state was updated. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 GAIM_CONV_UPDATE_LOGGING, /**< Logging for this conversation was
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 enabled or disabled. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 GAIM_CONV_UPDATE_TOPIC, /**< The topic for a chat was updated. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 /*
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 * XXX These need to go when we implement a more generic core/UI event
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 * system.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 */
4378
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
83 GAIM_CONV_ACCOUNT_ONLINE, /**< One of the user's accounts went online. */
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
84 GAIM_CONV_ACCOUNT_OFFLINE, /**< One of the user's accounts went offline. */
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
85 GAIM_CONV_UPDATE_AWAY, /**< The other user went away. */
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
86 GAIM_CONV_UPDATE_ICON /**< The other user's buddy icon changed. */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
87
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
88 } GaimConvUpdateType;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 /**
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
91 * The typing state of a user.
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
92 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
93 typedef enum
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
94 {
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
95 GAIM_NOT_TYPING = 0, /**< Not typing. */
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
96 GAIM_TYPING, /**< Currently typing. */
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
97 GAIM_TYPED /**< Stopped typing momentarily. */
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
98
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
99 } GaimTypingState;
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
100
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
101 /**
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
102 * Flags applicable to a message. Most will have send, recv or system.
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
103 */
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
104 typedef enum
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
105 {
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
106 GAIM_MESSAGE_SEND = 0x0001, /**< Outgoing message. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
107 GAIM_MESSAGE_RECV = 0x0002, /**< Incoming message. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
108 GAIM_MESSAGE_SYSTEM = 0x0004, /**< System message. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
109 GAIM_MESSAGE_AUTO_RESP = 0x0008, /**< Auto response. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
110 GAIM_MESSAGE_COLORIZE = 0x0010, /**< Colorize nicks. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
111 GAIM_MESSAGE_NICK = 0x0020, /**< Contains your nick. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
112 GAIM_MESSAGE_NO_LOG = 0x0040, /**< Do not log. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
113 GAIM_MESSAGE_WHISPER = 0x0080, /**< Whispered message. */
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
114 GAIM_MESSAGE_IMAGES = 0x0100 /**< Message contains images. */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
115
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
116 } GaimMessageFlags;
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
117
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
118 #include "account.h"
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
119 #include "buddyicon.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
120 #include "server.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
121
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
122 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
123 * Conversation window operations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 *
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
125 * Any UI representing a window must assign a filled-out gaim_conv_window_ops
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
126 * structure to the GaimConvWindow.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
128 struct _GaimConvWindowUiOps
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
130 GaimConversationUiOps *(*get_conversation_ui_ops)(void);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
132 void (*new_window)(GaimConvWindow *win);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
133 void (*destroy_window)(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
135 void (*show)(GaimConvWindow *win);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
136 void (*hide)(GaimConvWindow *win);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
137 void (*raise)(GaimConvWindow *win);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
138 void (*flash)(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
140 void (*switch_conversation)(GaimConvWindow *win, unsigned int index);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
141 void (*add_conversation)(GaimConvWindow *win, GaimConversation *conv);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
142 void (*remove_conversation)(GaimConvWindow *win, GaimConversation *conv);
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
143 void (*move_conversation)(GaimConvWindow *win, GaimConversation *conv,
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144 unsigned int newIndex);
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
145 int (*get_active_index)(const GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
146 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
147
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
149 * Conversation operations and events.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
150 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
151 * Any UI representing a conversation must assign a filled-out
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
152 * GaimConversationUiOps structure to the GaimConversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
154 struct _GaimConversationUiOps
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
156 void (*destroy_conversation)(GaimConversation *conv);
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
157 void (*write_chat)(GaimConversation *conv, const char *who,
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
158 const char *message, GaimMessageFlags flags,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
159 time_t mtime);
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
160 void (*write_im)(GaimConversation *conv, const char *who,
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
161 const char *message, GaimMessageFlags flags,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
162 time_t mtime);
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
163 void (*write_conv)(GaimConversation *conv, const char *who,
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
164 const char *message, GaimMessageFlags flags,
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 time_t mtime);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
167 void (*chat_add_user)(GaimConversation *conv, const char *user);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
168 void (*chat_add_users)(GaimConversation *conv, GList *users);
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
169 void (*chat_rename_user)(GaimConversation *conv,
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170 const char *old_name, const char *new_name);
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
171 void (*chat_remove_user)(GaimConversation *conv, const char *user);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
172 void (*chat_remove_users)(GaimConversation *conv, GList *users);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
174 void (*set_title)(GaimConversation *conv, const char *title);
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
175 void (*update_progress)(GaimConversation *conv, float percent);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 /* Events */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
178 void (*updated)(GaimConversation *conv, GaimConvUpdateType type);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182 * A core representation of a graphical window containing one or more
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 * conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
184 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
185 struct _GaimConvWindow
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
186 {
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
187 GList *conversations; /**< The conversations in the window. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
188 size_t conversation_count; /**< The number of conversations. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
189
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
190 GaimConvWindowUiOps *ui_ops; /**< UI-specific window operations. */
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
191 void *ui_data; /**< UI-specific data. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195 * Data specific to Instant Messages.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
197 struct _GaimConvIm
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
199 GaimConversation *conv; /**< The parent conversation. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
201 GaimTypingState typing_state; /**< The current typing state. */
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
202 guint typing_timeout; /**< The typing timer handle. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
203 time_t type_again; /**< The type again time. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
204 guint type_again_timeout; /**< The type again timer handle. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
205
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
206 GSList *images; /**< A list of images in the IM. */
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
207
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
208 GaimBuddyIcon *icon; /**< The buddy icon. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
209 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
210
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
211 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
212 * Data specific to Chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
213 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
214 struct _GaimConvChat
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
215 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
216 GaimConversation *conv; /**< The parent conversation. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
217
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
218 GList *in_room; /**< The users in the room. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
219 GList *ignored; /**< Ignored users. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
220 char *who; /**< The person who set the topic. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
221 char *topic; /**< The topic. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
222 int id; /**< The chat ID. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
223 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
225 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
226 * A core representation of a conversation between two or more people.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
227 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
228 * The conversation can be an IM or a chat. Each conversation is kept
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
229 * in a GaimConvWindow and has a UI representation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
230 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
231 struct _GaimConversation
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
232 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233 GaimConversationType type; /**< The type of conversation. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
234
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
235 GaimAccount *account; /**< The user using this conversation. */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
236 GaimConvWindow *window; /**< The parent window. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
237
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
238 int conversation_pos; /**< The position in the window's list. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
240 char *name; /**< The name of the conversation. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
241 char *title; /**< The window title. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
242
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
243 gboolean logging; /**< The status of logging. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
244
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
245 GList *send_history; /**< The send history. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
246 GString *history; /**< The conversation history. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
247
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
248 GaimUnseenState unseen; /**< The unseen tab state. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
249
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
250 union
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
251 {
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
252 GaimConvIm *im; /**< IM-specific data. */
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
253 GaimConvChat *chat; /**< Chat-specific data. */
4378
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
254 void *misc; /**< Misc. data. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
255
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
256 } u;
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
257
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
258 GaimConversationUiOps *ui_ops; /**< UI-specific operations. */
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
259 void *ui_data; /**< UI-specific data. */
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
260
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
261 GHashTable *data; /**< Plugin-specific data. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
262 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
264 typedef void (*GaimConvPlacementFunc)(GaimConversation *);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
266 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
267 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
268 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
269
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
271 /** @name Conversation Window API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
272 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273 /*@{*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
274
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
275 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
276 * Creates a new conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
277 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
278 * This window is added to the list of windows, but is not shown until
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
279 * gaim_conv_window_show() is called.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
280 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281 * @return The new conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
282 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
283 GaimConvWindow *gaim_conv_window_new(void);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
285 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
286 * Destroys the specified conversation window and all conversations in it.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288 * @param win The window to destroy.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
290 void gaim_conv_window_destroy(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
291
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
292 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
293 * Shows the specified conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
294 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
295 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
296 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
297 void gaim_conv_window_show(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
298
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
299 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
300 * Hides the specified conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
301 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
302 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
304 void gaim_conv_window_hide(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
306 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
307 * Raises the specified conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
308 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
309 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
311 void gaim_conv_window_raise(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
313 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
314 * Causes the window to flash for IM notification, if the UI supports this.
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
315 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
316 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
317 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
318 void gaim_conv_window_flash(GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
319
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
320 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
321 * Sets the specified window's UI window operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
322 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
323 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
324 * @param ops The UI window operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
325 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
326 void gaim_conv_window_set_ui_ops(GaimConvWindow *win,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
327 GaimConvWindowUiOps *ops);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
329 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
330 * Returns the specified window's UI window operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
331 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
332 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
334 * @return The UI window operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
335 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
336 GaimConvWindowUiOps *gaim_conv_window_get_ui_ops(const GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
338 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339 * Adds a conversation to this window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
341 * If the conversation already has a parent window, this will do nothing.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
342 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
343 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
344 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
345 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
346 * @return The new index of the conversation in the window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
347 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
348 int gaim_conv_window_add_conversation(GaimConvWindow *win,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
349 GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
350
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
352 * Removes the conversation at the specified index from the window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
353 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
354 * If there is no conversation at this index, this will do nothing.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
357 * @param index The index of the conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 * @return The conversation removed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
360 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
361 GaimConversation *gaim_conv_window_remove_conversation(GaimConvWindow *win,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
362 unsigned int index);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
363
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
364 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
365 * Moves the conversation at the specified index in a window to a new index.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
366 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
367 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
368 * @param index The index of the conversation to move.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
369 * @param new_index The new index.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
370 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
371 void gaim_conv_window_move_conversation(GaimConvWindow *win,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
372 unsigned int index,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
373 unsigned int new_index);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
374
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
375 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 * Returns the conversation in the window at the specified index.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
377 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
378 * If the index is out of range, this returns @c NULL.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
379 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
380 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
381 * @param index The index containing a conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
383 * @return The conversation at the specified index.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
385 GaimConversation *gaim_conv_window_get_conversation_at(
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
386 const GaimConvWindow *win, unsigned int index);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389 * Returns the number of conversations in the window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
391 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
393 * @return The number of conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
394 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
395 size_t gaim_conv_window_get_conversation_count(const GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
397 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
398 * Switches the active conversation to the one at the specified index.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
400 * If @a index is out of range, this does nothing.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
401 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
403 * @param index The new index.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
404 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
405 void gaim_conv_window_switch_conversation(GaimConvWindow *win,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
406 unsigned int index);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
409 * Returns the active conversation in the window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413 * @return The active conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
415 GaimConversation *gaim_conv_window_get_active_conversation(
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
416 const GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
417
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
418 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
419 * Returns the list of conversations in the specified window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421 * @param win The window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
422 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423 * @return The list of conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
425 GList *gaim_conv_window_get_conversations(const GaimConvWindow *win);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
427 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428 * Returns a list of all windows.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
429 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
430 * @return A list of windows.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
431 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
432 GList *gaim_get_windows(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
433
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
434 /**
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
435 * Returns the first window containing a conversation of the specified type.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
436 *
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
437 * @param type The conversation type.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
438 *
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
439 * @return The window if found, or @c NULL if not found.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
440 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
441 GaimConvWindow *gaim_get_first_window_with_type(GaimConversationType type);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
442
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
443 /**
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
444 * Returns the last window containing a conversation of the specified type.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
445 *
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
446 * @param type The conversation type.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
447 *
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
448 * @return The window if found, or @c NULL if not found.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
449 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
450 GaimConvWindow *gaim_get_last_window_with_type(GaimConversationType type);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
451
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452 /*@}*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
453
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
454 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
455 /** @name Conversation API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
456 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
457 /*@{*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
458
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
460 * Creates a new conversation of the specified type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
461 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
462 * @param type The type of conversation.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
463 * @param account The account opening the conversation window on the gaim
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
464 * user's end.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
465 * @param name The name of the conversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
466 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
467 * @return The new conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
468 */
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
469 GaimConversation *gaim_conversation_new(GaimConversationType type,
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
470 GaimAccount *account,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
471 const char *name);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
472
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
473 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
474 * Destroys the specified conversation and removes it from the parent
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
475 * window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
476 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
477 * If this conversation is the only one contained in the parent window,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
478 * that window is also destroyed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
479 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
480 * @param conv The conversation to destroy.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
481 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
482 void gaim_conversation_destroy(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
483
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
484 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
485 * Returns the specified conversation's type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
486 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
487 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
488 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
489 * @return The conversation's type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
490 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
491 GaimConversationType gaim_conversation_get_type(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
492
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
493 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494 * Sets the specified conversation's UI operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
497 * @param ops The UI conversation operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
498 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
499 void gaim_conversation_set_ui_ops(GaimConversation *conv,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
500 GaimConversationUiOps *ops);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
501
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
502 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
503 * Returns the specified conversation's UI operations structure.
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
504 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
505 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
506 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
507 * @return The operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
508 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
509 GaimConversationUiOps *gaim_conversation_get_ui_ops(
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
510 const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
511
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
512 /**
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
513 * Sets the specified conversation's gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
514 *
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
515 * This gaim_account represents the user using gaim, not the person the user
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
516 * is having a conversation/chat/flame with.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
517 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
518 * @param conv The conversation.
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
519 * @param account The gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
520 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
521 void gaim_conversation_set_account(GaimConversation *conv,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
522 GaimAccount *account);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
523
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
524 /**
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
525 * Returns the specified conversation's gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
526 *
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
527 * This gaim_account represents the user using gaim, not the person the user
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
528 * is having a conversation/chat/flame with.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
529 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
530 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
531 *
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
532 * @return The conversation's gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
533 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
534 GaimAccount *gaim_conversation_get_account(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
535
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
536 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
537 * Returns the specified conversation's gaim_connection.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
538 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
539 * This is the same as gaim_conversation_get_user(conv)->gc.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
540 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
541 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
542 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
543 * @return The conversation's gaim_connection.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
544 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
545 GaimConnection *gaim_conversation_get_gc(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
546
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
547 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
548 * Sets the specified conversation's title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
549 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
550 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
551 * @param title The title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
552 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
553 void gaim_conversation_set_title(GaimConversation *conv, const char *title);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
554
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
555 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
556 * Returns the specified conversation's title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
557 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
558 * @param conv The conversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
559 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
560 * @return The title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
561 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
562 const char *gaim_conversation_get_title(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
563
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
564 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
565 * Automatically sets the specified conversation's title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
566 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
567 * This function takes OPT_IM_ALIAS_TAB into account, as well as the
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
568 * user's alias.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
569 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
570 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
571 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
572 void gaim_conversation_autoset_title(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
573
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
574 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
575 * Returns the specified conversation's index in the parent window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
576 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
577 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
578 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
579 * @return The current index in the parent window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
581 int gaim_conversation_get_index(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
582
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
583 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
584 * Sets the conversation's unseen state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
585 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
586 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
587 * @param state The new unseen state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
588 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
589 void gaim_conversation_set_unseen(GaimConversation *conv,
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590 GaimUnseenState state);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
591
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
593 * Returns the conversation's unseen state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
594 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
595 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
596 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
597 * @return The conversation's unseen state.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
598 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
599 GaimUnseenState gaim_conversation_get_unseen(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
600
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
601 /**
7256
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
602 * Sets the specified conversation's name.
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
603 *
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
604 * @param conv The conversation.
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
605 * @param name The conversation's name.
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
606 */
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
607 void gaim_conversation_set_name(GaimConversation *conv, const char *name);
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
608
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
609 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
610 * Returns the specified conversation's name.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
611 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
612 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
613 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
614 * @return The conversation's name.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
615 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
616 const char *gaim_conversation_get_name(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
617
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
618 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
619 * Enables or disables logging for this conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
620 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
621 * @param conv The conversation.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
622 * @param log @c TRUE if logging should be enabled, or @c FALSE otherwise.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
623 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
624 void gaim_conversation_set_logging(GaimConversation *conv, gboolean log);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
625
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
626 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
627 * Returns whether or not logging is enabled for this conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
628 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
629 * @param conv The conversation.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
630 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
631 * @return @c TRUE if logging is enabled, or @c FALSE otherwise.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
632 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
633 gboolean gaim_conversation_is_logging(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
634
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
635 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
636 * Returns the specified conversation's send history.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
637 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
638 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
639 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
640 * @return The conversation's send history.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
641 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
642 GList *gaim_conversation_get_send_history(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
643
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
644 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
645 * Sets the specified conversation's history.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
646 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
647 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
648 * @param history The history.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
649 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
650 void gaim_conversation_set_history(GaimConversation *conv, GString *history);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
651
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
652 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
653 * Returns the specified conversation's history.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
654 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
655 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
656 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
657 * @return The conversation's history.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
658 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
659 GString *gaim_conversation_get_history(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
660
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
661 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
662 * Returns the specified conversation's parent window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
663 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
664 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
665 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
666 * @return The conversation's parent window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
667 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
668 GaimConvWindow *gaim_conversation_get_window(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
669
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
670 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
671 * Returns the specified conversation's IM-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
672 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
673 * If the conversation type is not GAIM_CONV_IM, this will return @c NULL.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
674 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
675 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
676 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
677 * @return The IM-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
678 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
679 GaimConvIm *gaim_conversation_get_im_data(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
680
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
681 #define GAIM_CONV_IM(c) (gaim_conversation_get_im_data(c))
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
682
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
683 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
684 * Returns the specified conversation's chat-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
685 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
686 * If the conversation type is not GAIM_CONV_CHAT, this will return @c NULL.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
687 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
688 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
689 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
690 * @return The chat-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
691 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
692 GaimConvChat *gaim_conversation_get_chat_data(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
693
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
694 #define GAIM_CONV_CHAT(c) (gaim_conversation_get_chat_data(c))
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
695
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
696 /**
4877
7d1f4381fed0 [gaim-migrate @ 5207]
Christian Hammond <chipx86@chipx86.com>
parents: 4876
diff changeset
697 * Sets extra data for a conversation.
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
698 *
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
699 * @param conv The conversation.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
700 * @param key The unique key.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
701 * @param data The data to assign.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
702 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
703 void gaim_conversation_set_data(GaimConversation *conv, const char *key,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
704 gpointer data);
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
705
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
706 /**
4877
7d1f4381fed0 [gaim-migrate @ 5207]
Christian Hammond <chipx86@chipx86.com>
parents: 4876
diff changeset
707 * Returns extra data in a conversation.
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
708 *
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
709 * @param conv The conversation.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
710 * @param key The unqiue key.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
711 *
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
712 * @return The data associated with the key.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
713 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
714 gpointer gaim_conversation_get_data(GaimConversation *conv, const char *key);
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
715
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
716 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
717 * Returns a list of all conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
718 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
719 * This list includes both IMs and chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
720 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
721 * @return A GList of all conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
722 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
723 GList *gaim_get_conversations(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
724
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
725 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
726 * Returns a list of all IMs.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
727 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
728 * @return A GList of all IMs.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
729 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
730 GList *gaim_get_ims(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
731
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
732 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
733 * Returns a list of all chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
734 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
735 * @return A GList of all chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
736 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
737 GList *gaim_get_chats(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
738
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
739 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
740 * Finds the conversation with the specified name.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
741 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
742 * @param name The name of the conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
743 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
744 * @return The conversation if found, or @c NULL otherwise.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
745 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
746 GaimConversation *gaim_find_conversation(const char *name);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
747
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
748 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
749 * Finds a conversation with the specified name and user.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
750 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
751 * @param name The name of the conversation.
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
752 * @param account The gaim_account associated with the conversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
753 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
754 * @return The conversation if found, or @c NULL otherwise.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
755 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
756 GaimConversation *gaim_find_conversation_with_account(
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5207
diff changeset
757 const char *name, const GaimAccount *account);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
758
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
759 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
760 * Writes to a conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
761 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
762 * This function should not be used to write IM or chat messages. Use
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
763 * gaim_conv_im_write() and gaim_conv_chat_write() instead. Those functions will
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
764 * most likely call this anyway, but they may do their own formatting,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
765 * sound playback, etc.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
766 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
767 * This can be used to write generic messages, such as "so and so closed
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
768 * the conversation window."
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
769 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
770 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
771 * @param who The user who sent the message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
772 * @param message The message.
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
773 * @param flags The message flags.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
774 * @param mtime The time the message was sent.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
775 *
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
776 * @see gaim_conv_im_write()
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
777 * @see gaim_conv_chat_write()
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
778 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
779 void gaim_conversation_write(GaimConversation *conv, const char *who,
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6846
diff changeset
780 const char *message, GaimMessageFlags flags,
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
781 time_t mtime);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
782
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
783 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
784 * Updates the progress bar on a conversation window
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
785 * (if one exists in the UI).
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
786 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
787 * This is used for loading images typically.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
788 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
789 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
790 * @param percent The percentage.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
791 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
792 void gaim_conversation_update_progress(GaimConversation *conv, float percent);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
793
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
794 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
795 * Updates the visual status and UI of a conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
796 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
797 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
798 * @param type The update type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
799 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
800 void gaim_conversation_update(GaimConversation *conv, GaimConvUpdateType type);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
801
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
802 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
803 * Calls a function on each conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
804 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
805 * @param func The function.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
806 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
807 void gaim_conversation_foreach(void (*func)(GaimConversation *conv));
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
808
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
809 /*@}*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
810
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
811
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
812 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
813 /** @name IM Conversation API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
814 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
815 /*@{*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
816
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
817 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
818 * Gets an IM's parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
819 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
820 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
821 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
822 * @return The parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
823 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
824 GaimConversation *gaim_conv_im_get_conversation(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
825
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
826 /**
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
827 * Sets the IM's buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
828 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
829 * This should only be called from within Gaim. You probably want to
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
830 * call gaim_buddy_icon_set_data().
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
831 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
832 * @param im The IM.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
833 * @param icon The buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
834 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
835 * @see gaim_buddy_icon_set_data()
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
836 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
837 void gaim_conv_im_set_icon(GaimConvIm *im, GaimBuddyIcon *icon);
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
838
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
839 /**
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
840 * Returns the IM's buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
841 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
842 * @param im The IM.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
843 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
844 * @return The buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
845 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
846 GaimBuddyIcon *gaim_conv_im_get_icon(const GaimConvIm *im);
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
847
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
848 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
849 * Sets the IM's typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
850 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
851 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
852 * @param state The typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
853 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
854 void gaim_conv_im_set_typing_state(GaimConvIm *im, int state);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
855
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
856 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
857 * Returns the IM's typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
858 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
859 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
860 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
861 * @return The IM's typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
862 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
863 int gaim_conv_im_get_typing_state(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
864
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
865 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
866 * Starts the IM's typing timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
867 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
868 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
869 * @param timeout The timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
870 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
871 void gaim_conv_im_start_typing_timeout(GaimConvIm *im, int timeout);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
872
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
873 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
874 * Stops the IM's typing timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
875 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
876 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
877 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
878 void gaim_conv_im_stop_typing_timeout(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
879
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
880 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
881 * Returns the IM's typing timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
882 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
883 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
884 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
885 * @return The timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
886 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
887 guint gaim_conv_im_get_typing_timeout(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
888
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
889 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
890 * Sets the IM's time until it should send another typing notification.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
891 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
892 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
893 * @param val The time.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
894 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
895 void gaim_conv_im_set_type_again(GaimConvIm *im, time_t val);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
896
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
897 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
898 * Returns the IM's time until it should send another typing notification.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
899 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
900 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
901 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
902 * @return The time.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
903 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
904 time_t gaim_conv_im_get_type_again(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
905
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
906 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
907 * Starts the IM's type again timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
908 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
909 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
910 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
911 void gaim_conv_im_start_type_again_timeout(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
912
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
913 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
914 * Stops the IM's type again timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
915 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
916 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
917 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
918 void gaim_conv_im_stop_type_again_timeout(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
919
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
920 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
921 * Returns the IM's type again timeout interval.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
922 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
923 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
924 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
925 * @return The type again timeout interval.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
926 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
927 guint gaim_conv_im_get_type_again_timeout(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
928
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
929 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
930 * Updates the visual typing notification for an IM conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
931 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
932 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
933 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
934 void gaim_conv_im_update_typing(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
935
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
936 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
937 * Writes to an IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
938 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
939 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
940 * @param who The user who sent the message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
941 * @param message The message to write.
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
942 * @param flags The message flags.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
943 * @param mtime The time the message was sent.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
944 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
945 void gaim_conv_im_write(GaimConvIm *im, const char *who,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
946 const char *message, GaimMessageFlags flags,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
947 time_t mtime);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
948
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
949 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
950 * Sends a message to this IM conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
951 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
952 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
953 * @param message The message to send.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
954 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
955 void gaim_conv_im_send(GaimConvIm *im, const char *message);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
956
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
957 /*@}*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
958
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
959
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
960 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
961 /** @name Chat Conversation API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
962 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
963 /*@{*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
964
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
965 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
966 * Gets a chat's parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
967 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
968 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
969 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
970 * @return The parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
971 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
972 GaimConversation *gaim_conv_chat_get_conversation(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
973
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
974 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
975 * Sets the list of users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
976 *
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
977 * @note Calling this function will not update the display of the users.
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
978 * Please use gaim_conv_chat_add_user(), gaim_conv_chat_add_users(),
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
979 * gaim_conv_chat_remove_user(), and gaim_conv_chat_remove_users() instead.
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
980 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
981 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
982 * @param users The list of users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
983 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
984 * @return The list passed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
985 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
986 GList *gaim_conv_chat_set_users(GaimConvChat *chat, GList *users);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
987
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
988 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
989 * Returns a list of users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
990 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
991 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
992 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
993 * @return The list of users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
994 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
995 GList *gaim_conv_chat_get_users(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
996
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
997 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
998 * Ignores a user in a chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
999 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1000 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1001 * @param name The name of the user.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1002 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1003 void gaim_conv_chat_ignore(GaimConvChat *chat, const char *name);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1004
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1005 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1006 * Unignores a user in a chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1007 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1008 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1009 * @param name The name of the user.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1010 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1011 void gaim_conv_chat_unignore(GaimConvChat *chat, const char *name);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1012
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1013 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1014 * Sets the list of ignored users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1015 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1016 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1017 * @param ignored The list of ignored users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1018 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1019 * @return The list passed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1020 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1021 GList *gaim_conv_chat_set_ignored(GaimConvChat *chat, GList *ignored);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1022
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1023 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1024 * Returns the list of ignored users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1025 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1026 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1027 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1028 * @return The list of ignored users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1029 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1030 GList *gaim_conv_chat_get_ignored(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1031
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1032 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1033 * Returns the actual name of the specified ignored user, if it exists in
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1034 * the ignore list.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1035 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1036 * If the user found contains a prefix, such as '+' or '\@', this is also
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1037 * returned. The username passed to the function does not have to have this
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1038 * formatting.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1039 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1040 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1041 * @param user The user to check in the ignore list.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1042 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1043 * @return The ignored user if found, complete with prefixes, or @c NULL
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1044 * if not found.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1045 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1046 const char *gaim_conv_chat_get_ignored_user(const GaimConvChat *chat,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1047 const char *user);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1048
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1049 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1050 * Returns @c TRUE if the specified user is ignored.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1051 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1052 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1053 * @param user The user.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1054 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1055 * @return @c TRUE if the user is in the ignore list; @c FALSE otherwise.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1056 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1057 gboolean gaim_conv_chat_is_user_ignored(const GaimConvChat *chat,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1058 const char *user);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1059
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1060 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1061 * Sets the chat room's topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1062 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1063 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1064 * @param who The user that set the topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1065 * @param topic The topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1066 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1067 void gaim_conv_chat_set_topic(GaimConvChat *chat, const char *who,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1068 const char *topic);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1069
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1070 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1071 * Returns the chat room's topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1072 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1073 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1074 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1075 * @return The chat's topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1076 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1077 const char *gaim_conv_chat_get_topic(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1078
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1079 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1080 * Sets the chat room's ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1081 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1082 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1083 * @param id The ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1084 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1085 void gaim_conv_chat_set_id(GaimConvChat *chat, int id);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1086
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1087 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1088 * Returns the chat room's ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1089 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1090 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1091 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1092 * @return The ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1093 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1094 int gaim_conv_chat_get_id(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1095
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1096 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1097 * Writes to a chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1098 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1099 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1100 * @param who The user who sent the message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1101 * @param message The message to write.
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
1102 * @param flags The flags.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1103 * @param mtime The time the message was sent.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1104 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1105 void gaim_conv_chat_write(GaimConvChat *chat, const char *who,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1106 const char *message, GaimMessageFlags flags,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1107 time_t mtime);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1108
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1109 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1110 * Sends a message to this chat conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1111 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1112 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1113 * @param message The message to send.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1114 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1115 void gaim_conv_chat_send(GaimConvChat *chat, const char *message);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1116
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1117 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1118 * Adds a user to a chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1119 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1120 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1121 * @param user The user to add.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1122 * @param extra_msg An extra message to display with the join message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1123 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1124 void gaim_conv_chat_add_user(GaimConvChat *chat, const char *user,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1125 const char *extra_msg);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1126
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1127 /**
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1128 * Adds a list of users to a chat.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1129 *
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1130 * The data is copied from @a users, so it is up to the developer to
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1131 * free this list after calling this function.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1132 *
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1133 * @param chat The chat.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1134 * @param users The list of users to add.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1135 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1136 void gaim_conv_chat_add_users(GaimConvChat *chat, GList *users);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1137
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1138 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1139 * Renames a user in a chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1140 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1141 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1142 * @param old_user The old username.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1143 * @param new_user The new username.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1144 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1145 void gaim_conv_chat_rename_user(GaimConvChat *chat, const char *old_user,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1146 const char *new_user);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1147
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1148 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1149 * Removes a user from a chat, optionally with a reason.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1150 *
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1151 * It is up to the developer to free this list after calling this function.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1152 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1153 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1154 * @param user The user that is being removed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1155 * @param reason The optional reason given for the removal. Can be @c NULL.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1156 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1157 void gaim_conv_chat_remove_user(GaimConvChat *chat, const char *user,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1158 const char *reason);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1159
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1160 /**
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1161 * Removes a list of users from a chat, optionally with a single reason.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1162 *
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1163 * @param chat The chat.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1164 * @param users The users that are being removed.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1165 * @param reason The optional reason given for the removal. Can be @c NULL.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1166 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1167 void gaim_conv_chat_remove_users(GaimConvChat *chat, GList *users,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1168 const char *reason);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1169
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1170 /**
6414
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1171 * Clears all users from a chat.
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1172 *
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1173 * @param chat The chat.
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1174 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1175 void gaim_conv_chat_clear_users(GaimConvChat *chat);
6414
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1176
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1177 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1178 * Finds a chat with the specified chat ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1179 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1180 * @param gc The gaim_connection.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1181 * @param id The chat ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1182 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1183 * @return The chat conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1184 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
1185 GaimConversation *gaim_find_chat(const GaimConnection *gc, int id);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1186
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1187 /*@}*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1188
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1189 /**************************************************************************/
7122
5f40c16a4ae4 [gaim-migrate @ 7689]
Christian Hammond <chipx86@chipx86.com>
parents: 7118
diff changeset
1190 /** @name Conversation Placement API */
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1191 /**************************************************************************/
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1192 /*@{*/
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1193
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1194 /**
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1195 * Returns a GList containing the IDs and Names of the registered placement
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1196 * functions.
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1197 *
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1198 * @return The list of IDs and names.
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1199 */
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1200 GList *gaim_conv_placement_get_options(void);
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1201
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1202 /**
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1203 * Adds a conversation placement function to the list of possible functions.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1204 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
1205 * @param id The unique ID of the placement function.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1206 * @param name The name of the function.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1207 * @param fnc A pointer to the function.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1208 */
6311
1e253e4b423f [gaim-migrate @ 6810]
Christian Hammond <chipx86@chipx86.com>
parents: 6063
diff changeset
1209 void gaim_conv_placement_add_fnc(const char *id, const char *name,
1e253e4b423f [gaim-migrate @ 6810]
Christian Hammond <chipx86@chipx86.com>
parents: 6063
diff changeset
1210 GaimConvPlacementFunc fnc);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1211
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1212 /**
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1213 * Removes a conversation placement function from the list of possible
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1214 * functions.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1215 *
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1216 * @param id The id of the function.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1217 */
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1218 void gaim_conv_placement_remove_fnc(const char *id);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1219
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1220 /**
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1221 * Returns the name of the conversation placement function at the
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1222 * specified id.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1223 *
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1224 * @param id The id.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1225 *
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1226 * @return The name of the function, or @c NULL if this id is invalid.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1227 */
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1228 const char *gaim_conv_placement_get_name(const char *id);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1229
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1230 /**
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1231 * Returns a pointer to the conversation placement function at the
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1232 * specified id.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1233 *
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1234 * @param id The id.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1235 *
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1236 * @return A pointer to the function.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1237 */
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1238 GaimConvPlacementFunc gaim_conv_placement_get_fnc(const char *id);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1239
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1240 /**
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1241 * Returns the id of the specified conversation placement function.
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1242 *
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1243 * @param fnc A pointer to the registered function.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1244 *
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1245 * @return The id of the conversation, or NULL if the function is not
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1246 * registered.
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1247 */
5858
1bc64d957067 [gaim-migrate @ 6289]
Nathan Walp <nwalp@pidgin.im>
parents: 5717
diff changeset
1248 const char *gaim_conv_placement_get_fnc_id(GaimConvPlacementFunc fnc);
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1249
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1250 /*@}*/
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1251
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1252 /**************************************************************************/
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1253 /** @name UI Registration Functions */
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1254 /**************************************************************************/
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1255 /*@{*/
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1256
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1257 /**
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1258 * Sets the UI operations structure to be used in all gaim conversation
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1259 * windows.
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1260 *
5207
4d3a908867a2 [gaim-migrate @ 5575]
Christian Hammond <chipx86@chipx86.com>
parents: 5034
diff changeset
1261 * @param ops The UI operations structure.
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1262 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1263 void gaim_conversations_set_win_ui_ops(GaimConvWindowUiOps *ops);
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1264
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1265 /**
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1266 * Returns the gaim window UI operations structure to be used in
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1267 * new windows.
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1268 *
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1269 * @return A filled-out GaimConvWindowUiOps structure.
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1270 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1271 GaimConvWindowUiOps *gaim_conversations_get_win_ui_ops(void);
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1272
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1273 /*@}*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1274
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1275 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1276 /** @name Conversations Subsystem */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1277 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1278 /*@{*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1279
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1280 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1281 * Returns the conversation subsystem handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1282 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1283 * @return The conversation subsystem handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1284 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1285 void *gaim_conversations_get_handle(void);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1286
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1287 /**
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1288 * Initializes the conversation subsystem.
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1289 */
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1290 void gaim_conversations_init(void);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1291
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1292 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1293 * Uninitializes the conversation subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1294 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1295 void gaim_conversations_uninit(void);
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1296
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1297 /*@}*/
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1298
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1299 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1300 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1301 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1302
4890
d87a9b5bbe57 [gaim-migrate @ 5220]
Christian Hammond <chipx86@chipx86.com>
parents: 4877
diff changeset
1303 #endif /* _GAIM_CONVERSATION_H_ */

mercurial