src/conversation.h

Wed, 09 Aug 2006 14:47:37 +0000

author
Luke Schierer <lschiere@pidgin.im>
date
Wed, 09 Aug 2006 14:47:37 +0000
changeset 14123
7ae9b90ecf6f
parent 14027
708c2047424f
permissions
-rw-r--r--

[gaim-migrate @ 16679]
some translation updates. I have questions about gu.po, if someone sees that answered, we might need to revert that part of the change. It is all very confusing. The same person submitted the original gu.po and this update, but he called it gu_IN this time…

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 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7561
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7561
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7561
diff changeset
9 * source distribution.
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
10 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * 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
13 * the Free Software Foundation; either version 2 of the License, or
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * 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
24 *
6605
665d3a8e885c [gaim-migrate @ 7129]
Christian Hammond <chipx86@chipx86.com>
parents: 6585
diff changeset
25 * @see @ref conversation-signals
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 */
4890
d87a9b5bbe57 [gaim-migrate @ 5220]
Christian Hammond <chipx86@chipx86.com>
parents: 4877
diff changeset
27 #ifndef _GAIM_CONVERSATION_H_
d87a9b5bbe57 [gaim-migrate @ 5220]
Christian Hammond <chipx86@chipx86.com>
parents: 4877
diff changeset
28 #define _GAIM_CONVERSATION_H_
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
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 /** Data Structures */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
34
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
35 typedef struct _GaimConversationUiOps GaimConversationUiOps;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
36 typedef struct _GaimConversation GaimConversation;
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
37 typedef struct _GaimConvIm GaimConvIm;
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
38 typedef struct _GaimConvChat GaimConvChat;
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
39 typedef struct _GaimConvChatBuddy GaimConvChatBuddy;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 * A type of conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
44 typedef enum
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 {
11338
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
46 GAIM_CONV_TYPE_UNKNOWN = 0, /**< Unknown conversation type. */
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
47 GAIM_CONV_TYPE_IM, /**< Instant Message. */
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
48 GAIM_CONV_TYPE_CHAT, /**< Chat room. */
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
49 GAIM_CONV_TYPE_MISC, /**< A misc. conversation. */
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
50 GAIM_CONV_TYPE_ANY /**< Any type of conversation. */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
51
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
52 } GaimConversationType;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 * Conversation update type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
57 typedef enum
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 GAIM_CONV_UPDATE_ADD = 0, /**< The buddy associated with the conversation
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
60 was added. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 GAIM_CONV_UPDATE_REMOVE, /**< The buddy associated with the conversation
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
62 was removed. */
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
63 GAIM_CONV_UPDATE_ACCOUNT, /**< The gaim_account was changed. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 GAIM_CONV_UPDATE_TYPING, /**< The typing state was updated. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 GAIM_CONV_UPDATE_UNSEEN, /**< The unseen state was updated. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 GAIM_CONV_UPDATE_LOGGING, /**< Logging for this conversation was
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
67 enabled or disabled. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 GAIM_CONV_UPDATE_TOPIC, /**< The topic for a chat was updated. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 /*
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 * 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
71 * system.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 */
4378
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
73 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
74 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
75 GAIM_CONV_UPDATE_AWAY, /**< The other user went away. */
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
76 GAIM_CONV_UPDATE_ICON, /**< The other user's buddy icon changed. */
8256
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
77 GAIM_CONV_UPDATE_TITLE,
10665
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
78 GAIM_CONV_UPDATE_CHATLEFT,
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
79
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
80 GAIM_CONV_UPDATE_FEATURES, /**< The features for a chat have changed */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
81
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
82 } GaimConvUpdateType;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 /**
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
85 * The typing state of a user.
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
86 */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
87 typedef enum
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
88 {
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
89 GAIM_NOT_TYPING = 0, /**< Not typing. */
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
90 GAIM_TYPING, /**< Currently typing. */
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
91 GAIM_TYPED /**< Stopped typing momentarily. */
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 } GaimTypingState;
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
94
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
95 /**
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
96 * 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
97 */
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
98 typedef enum
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
99 {
13477
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
100 GAIM_MESSAGE_SEND = 0x0001, /**< Outgoing message. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
101 GAIM_MESSAGE_RECV = 0x0002, /**< Incoming message. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
102 GAIM_MESSAGE_SYSTEM = 0x0004, /**< System message. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
103 GAIM_MESSAGE_AUTO_RESP = 0x0008, /**< Auto response. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
104 GAIM_MESSAGE_ACTIVE_ONLY = 0x0010, /**< Hint to the UI that this
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
105 message should not be
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
106 shown in conversations
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
107 which are only open for
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
108 internal UI purposes
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
109 (e.g. for contact-aware
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
110 conversions). */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
111 GAIM_MESSAGE_NICK = 0x0020, /**< Contains your nick. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
112 GAIM_MESSAGE_NO_LOG = 0x0040, /**< Do not log. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
113 GAIM_MESSAGE_WHISPER = 0x0080, /**< Whispered message. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
114 GAIM_MESSAGE_ERROR = 0x0200, /**< Error message. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
115 GAIM_MESSAGE_DELAYED = 0x0400, /**< Delayed message. */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
116 GAIM_MESSAGE_RAW = 0x0800, /**< "Raw" message - don't
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
117 apply formatting */
aa1863ed7f63 [gaim-migrate @ 15852]
Richard Laager <rlaager@pidgin.im>
parents: 12867
diff changeset
118 GAIM_MESSAGE_IMAGES = 0x1000 /**< Message contains images */
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9939
diff changeset
119
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
120 } GaimMessageFlags;
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
121
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
122 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
123 * Flags applicable to users in Chats.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
124 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
125 typedef enum
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
126 {
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
127 GAIM_CBFLAGS_NONE = 0x0000, /**< No flags */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
128 GAIM_CBFLAGS_VOICE = 0x0001, /**< Voiced user or "Participant" */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
129 GAIM_CBFLAGS_HALFOP = 0x0002, /**< Half-op */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
130 GAIM_CBFLAGS_OP = 0x0004, /**< Channel Op or Moderator */
10665
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
131 GAIM_CBFLAGS_FOUNDER = 0x0008, /**< Channel Founder */
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
132 GAIM_CBFLAGS_TYPING = 0x0010, /**< Currently typing */
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
133
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
134 } GaimConvChatBuddyFlags;
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
135
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
136 #include "account.h"
9718
aeee69c6c784 [gaim-migrate @ 10579]
Mark Doliner <markdoliner@pidgin.im>
parents: 9627
diff changeset
137 #include "buddyicon.h"
7431
f3eaace13491 [gaim-migrate @ 8036]
Sean Egan <seanegan@pidgin.im>
parents: 7256
diff changeset
138 #include "log.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
139 #include "server.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
140
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
141 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142 * Conversation operations and events.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144 * Any UI representing a conversation must assign a filled-out
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
145 * GaimConversationUiOps structure to the GaimConversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
146 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
147 struct _GaimConversationUiOps
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 {
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
149 void (*create_conversation)(GaimConversation *conv);
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
150 void (*destroy_conversation)(GaimConversation *conv);
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
151 void (*write_chat)(GaimConversation *conv, const char *who,
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
152 const char *message, GaimMessageFlags flags,
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
153 time_t mtime);
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
154 void (*write_im)(GaimConversation *conv, const char *who,
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
155 const char *message, GaimMessageFlags flags,
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
156 time_t mtime);
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
157 void (*write_conv)(GaimConversation *conv, const char *name, const char *alias,
8155
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
158 const char *message, GaimMessageFlags flags,
b607279bc59b [gaim-migrate @ 8867]
Etan Reisner <deryni@pidgin.im>
parents: 8046
diff changeset
159 time_t mtime);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160
14027
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
161 void (*chat_add_users)(GaimConversation *conv, GList *cbuddies, gboolean new_arrivals);
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
162
11485
fe334b13d1d0 [gaim-migrate @ 13727]
Peter Lawler <pidgin@bleeter.id.au>
parents: 11454
diff changeset
163 void (*chat_rename_user)(GaimConversation *conv, const char *old_name,
fe334b13d1d0 [gaim-migrate @ 13727]
Peter Lawler <pidgin@bleeter.id.au>
parents: 11454
diff changeset
164 const char *new_name, const char *new_alias);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
165 void (*chat_remove_users)(GaimConversation *conv, GList *users);
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
166 void (*chat_update_user)(GaimConversation *conv, const char *user);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
168 void (*present)(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169
9260
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
170 gboolean (*has_focus)(GaimConversation *conv);
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
171
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
172 /* Custom Smileys */
12618
b83b6bab0703 [gaim-migrate @ 14954]
Richard Laager <rlaager@pidgin.im>
parents: 12463
diff changeset
173 gboolean (*custom_smiley_add)(GaimConversation *conv, const char *smile, gboolean remote);
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
174 void (*custom_smiley_write)(GaimConversation *conv, const char *smile,
11137
cf40226ddff7 [gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents: 11035
diff changeset
175 const guchar *data, gsize size);
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
176 void (*custom_smiley_close)(GaimConversation *conv, const char *smile);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178
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 * Data specific to Instant Messages.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
182 struct _GaimConvIm
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
184 GaimConversation *conv; /**< The parent conversation. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
185
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
186 GaimTypingState typing_state; /**< The current typing state. */
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
187 guint typing_timeout; /**< The typing timer handle. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
188 time_t type_again; /**< The type again time. */
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
189 guint send_typed_timeout; /**< The type again timer handle. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
190
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
191 GaimBuddyIcon *icon; /**< The buddy icon. */
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 Chats.
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 _GaimConvChat
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
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
201 GList *in_room; /**< The users in the room. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
202 GList *ignored; /**< Ignored users. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
203 char *who; /**< The person who set the topic. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
204 char *topic; /**< The topic. */
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
205 int id; /**< The chat ID. */
8158
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
206 char *nick; /**< Your nick in this chat. */
8256
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
207
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
208 gboolean left; /**< We left the chat and kept the window open */
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 /**
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
212 * Data for "Chat Buddies"
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
213 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
214 struct _GaimConvChatBuddy
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
215 {
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
216 char *name; /**< The name */
14027
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
217 char *alias; /**< The alias */
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
218 char *alias_key; /**< The alias key */
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
219 gboolean buddy; /**< ChatBuddy is on the blist */
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
220 GaimConvChatBuddyFlags flags; /**< Flags (ops, voice etc.) */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
221 };
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
222
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
223 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
224 * A core representation of a conversation between two or more people.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
225 *
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
226 * The conversation can be an IM or a chat.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
227 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
228 struct _GaimConversation
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
229 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
230 GaimConversationType type; /**< The type of conversation. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
231
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
232 GaimAccount *account; /**< The user using this conversation. */
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
233
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
234
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
235 char *name; /**< The name of the conversation. */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
236 char *title; /**< The window title. */
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 gboolean logging; /**< The status of logging. */
8158
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
239
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
240 GList *logs; /**< This conversation's logs */
8158
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
241
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
242 union
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
243 {
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
244 GaimConvIm *im; /**< IM-specific data. */
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
245 GaimConvChat *chat; /**< Chat-specific data. */
4378
3bef342997ef [gaim-migrate @ 4644]
Christian Hammond <chipx86@chipx86.com>
parents: 4359
diff changeset
246 void *misc; /**< Misc. data. */
4359
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 } u;
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
249
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
250 GaimConversationUiOps *ui_ops; /**< UI-specific operations. */
4465
43184ae252ed [gaim-migrate @ 4740]
Christian Hammond <chipx86@chipx86.com>
parents: 4378
diff changeset
251 void *ui_data; /**< UI-specific data. */
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
252
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
253 GHashTable *data; /**< Plugin-specific data. */
10849
476d68d7a435 [gaim-migrate @ 12521]
Richard Laager <rlaager@pidgin.im>
parents: 10827
diff changeset
254
10665
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
255 GaimConnectionFlags features; /**< The supported features */
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
256
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
257 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
258
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
259 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
260 extern "C" {
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
261 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
262
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
264 /** @name Conversation API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
265 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
266 /*@{*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
267
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
268 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
269 * Creates a new conversation of the specified type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
271 * @param type The type of conversation.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
272 * @param account The account opening the conversation window on the gaim
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
273 * user's end.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
274 * @param name The name of the conversation.
4359
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 * @return The new conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
277 */
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
278 GaimConversation *gaim_conversation_new(GaimConversationType type,
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
279 GaimAccount *account,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
280 const char *name);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
282 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
283 * Destroys the specified conversation and removes it from the parent
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
284 * window.
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 * If this conversation is the only one contained in the parent window,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 * that window is also destroyed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
289 * @param conv The conversation to destroy.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
290 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
291 void gaim_conversation_destroy(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
292
12624
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
293
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
294 /**
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
295 * Present a conversation to the user. This allows core code to initiate a
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
296 * conversation by displaying the IM dialog.
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
297 * @param conv The conversation to present
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
298 */
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
299 void gaim_conversation_present(GaimConversation *conv);
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
300
c1c92f08976b [gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents: 12618
diff changeset
301
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
302 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
303 * Returns the specified conversation's type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
304 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
305 * @param conv The conversation.
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 * @return The conversation's type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
308 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
309 GaimConversationType gaim_conversation_get_type(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
310
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
311 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
312 * Sets the specified conversation's UI operations structure.
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 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
315 * @param ops The UI conversation operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
316 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
317 void gaim_conversation_set_ui_ops(GaimConversation *conv,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
318 GaimConversationUiOps *ops);
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 /**
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
321 * Sets the default conversation UI operations structure.
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
322 *
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
323 * @param ops The UI conversation operations structure.
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
324 */
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
325 void gaim_conversations_set_ui_ops(GaimConversationUiOps *ops);
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
326
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
327 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
328 * Returns the specified conversation's UI operations structure.
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
329 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
330 * @param conv The conversation.
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 * @return The operations structure.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
333 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
334 GaimConversationUiOps *gaim_conversation_get_ui_ops(
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
335 const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
336
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337 /**
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
338 * Sets the specified conversation's gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339 *
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
340 * 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
341 * is having a conversation/chat/flame with.
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 conv The conversation.
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
344 * @param account The gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
345 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
346 void gaim_conversation_set_account(GaimConversation *conv,
10827
e87fea8e6914 [gaim-migrate @ 12492]
Tim Ringenbach <marv@pidgin.im>
parents: 10824
diff changeset
347 GaimAccount *account);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
348
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
349 /**
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
350 * Returns the specified conversation's gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
351 *
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
352 * 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
353 * is having a conversation/chat/flame with.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
354 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
355 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356 *
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
357 * @return The conversation's gaim_account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
359 GaimAccount *gaim_conversation_get_account(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
360
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
361 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
362 * Returns the specified conversation's gaim_connection.
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 * This is the same as gaim_conversation_get_user(conv)->gc.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
365 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
366 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
367 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
368 * @return The conversation's gaim_connection.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
369 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
370 GaimConnection *gaim_conversation_get_gc(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
371
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
372 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
373 * Sets the specified conversation's title.
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 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
376 * @param title The title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
377 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
378 void gaim_conversation_set_title(GaimConversation *conv, const char *title);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
381 * Returns the specified conversation's title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
383 * @param conv The conversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
385 * @return The title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
386 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
387 const char *gaim_conversation_get_title(const GaimConversation *conv);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
390 * Automatically sets the specified conversation's title.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
391 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392 * 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
393 * user's alias.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
394 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
395 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
396 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
397 void gaim_conversation_autoset_title(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
398
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399 /**
7256
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
400 * Sets the specified conversation's name.
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
401 *
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
402 * @param conv The conversation.
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
403 * @param name The conversation's name.
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
404 */
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
405 void gaim_conversation_set_name(GaimConversation *conv, const char *name);
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
406
311c8febfc92 [gaim-migrate @ 7833]
Christian Hammond <chipx86@chipx86.com>
parents: 7122
diff changeset
407 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
408 * Returns the specified conversation's name.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
409 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
412 * @return The conversation's name.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
413 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
414 const char *gaim_conversation_get_name(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
416 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
417 * Enables or disables logging for this conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
418 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
419 * @param conv The conversation.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
420 * @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
421 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
422 void gaim_conversation_set_logging(GaimConversation *conv, gboolean log);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
425 * Returns whether or not logging is enabled for this conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426 *
6720
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
427 * @param conv The conversation.
cdc5348dd848 [gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents: 6622
diff changeset
428 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
429 * @return @c TRUE if logging is enabled, or @c FALSE otherwise.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
430 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
431 gboolean gaim_conversation_is_logging(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
432
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
433 /**
11672
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
434 * Closes any open logs for this conversation.
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
435 *
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
436 * Note that new logs will be opened as necessary (e.g. upon receipt of a
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
437 * message, if the conversation has logging enabled. To disable logging for
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
438 * the remainder of the conversation, use gaim_conversation_set_logging().
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
439 *
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
440 * @param conv The conversation.
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
441 */
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
442 void gaim_conversation_close_logs(GaimConversation *conv);
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
443
018c70c8134c [gaim-migrate @ 13958]
Richard Laager <rlaager@pidgin.im>
parents: 11664
diff changeset
444 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
445 * Returns the specified conversation's IM-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
446 *
11338
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
447 * If the conversation type is not GAIM_CONV_TYPE_IM, this will return @c NULL.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
448 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
449 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
450 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
451 * @return The IM-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
453 GaimConvIm *gaim_conversation_get_im_data(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
454
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
455 #define GAIM_CONV_IM(c) (gaim_conversation_get_im_data(c))
4359
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 * Returns the specified conversation's chat-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459 *
11338
1a3663ac9b05 [gaim-migrate @ 13551]
Mark Doliner <markdoliner@pidgin.im>
parents: 11328
diff changeset
460 * If the conversation type is not GAIM_CONV_TYPE_CHAT, this will return @c NULL.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
461 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
462 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
463 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
464 * @return The chat-specific data.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
465 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
466 GaimConvChat *gaim_conversation_get_chat_data(const GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
467
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
468 #define GAIM_CONV_CHAT(c) (gaim_conversation_get_chat_data(c))
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
469
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
470 /**
4877
7d1f4381fed0 [gaim-migrate @ 5207]
Christian Hammond <chipx86@chipx86.com>
parents: 4876
diff changeset
471 * Sets extra data for a conversation.
6585
8fcd3639e544 [gaim-migrate @ 7107]
Christian Hammond <chipx86@chipx86.com>
parents: 6488
diff changeset
472 *
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
473 * @param conv The conversation.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
474 * @param key The unique key.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
475 * @param data The data to assign.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
476 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
477 void gaim_conversation_set_data(GaimConversation *conv, const char *key,
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
478 gpointer data);
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
479
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
480 /**
4877
7d1f4381fed0 [gaim-migrate @ 5207]
Christian Hammond <chipx86@chipx86.com>
parents: 4876
diff changeset
481 * Returns extra data in a conversation.
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
482 *
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
483 * @param conv The conversation.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
484 * @param key The unqiue key.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
485 *
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
486 * @return The data associated with the key.
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
487 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
488 gpointer gaim_conversation_get_data(GaimConversation *conv, const char *key);
4876
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
489
b6ec886c8c77 [gaim-migrate @ 5206]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
490 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
491 * Returns a list of all conversations.
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 * This list includes both IMs and chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495 * @return A GList of all conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
497 GList *gaim_get_conversations(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
498
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
499 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
500 * Returns a list of all IMs.
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 * @return A GList of all IMs.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
503 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
504 GList *gaim_get_ims(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
505
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 * Returns a list of all chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
508 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
509 * @return A GList of all chats.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
510 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
511 GList *gaim_get_chats(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
512
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
513 /**
10246
aa5bff72f94c [gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents: 10008
diff changeset
514 * Finds a conversation with the specified type, name, and Gaim account.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
515 *
10246
aa5bff72f94c [gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents: 10008
diff changeset
516 * @param type The type of the conversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
517 * @param name The name of the conversation.
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4481
diff changeset
518 * @param account The gaim_account associated with the conversation.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
519 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
520 * @return The conversation if found, or @c NULL otherwise.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
521 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
522 GaimConversation *gaim_find_conversation_with_account(
10246
aa5bff72f94c [gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents: 10008
diff changeset
523 GaimConversationType type, const char *name,
aa5bff72f94c [gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents: 10008
diff changeset
524 const GaimAccount *account);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
525
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
526 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
527 * Writes to a conversation window.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
528 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
529 * 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
530 * 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
531 * most likely call this anyway, but they may do their own formatting,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
532 * sound playback, etc.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
533 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
534 * 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
535 * the conversation window."
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 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
538 * @param who The user who sent the message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
539 * @param message The message.
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
540 * @param flags The message flags.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
541 * @param mtime The time the message was sent.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
542 *
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
543 * @see gaim_conv_im_write()
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
544 * @see gaim_conv_chat_write()
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
545 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
546 void gaim_conversation_write(GaimConversation *conv, const char *who,
10665
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
547 const char *message, GaimMessageFlags flags,
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
548 time_t mtime);
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
549
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
550
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
551 /**
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
552 Set the features as supported for the given conversation.
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
553 @param conv The conversation
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
554 @param features Bitset defining supported features
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
555 */
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
556 void gaim_conversation_set_features(GaimConversation *conv,
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
557 GaimConnectionFlags features);
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
558
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
559
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
560 /**
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
561 Get the features supported by the given conversation.
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
562 @param conv The conversation
66d468c9f67c [gaim-migrate @ 12205]
Sean Egan <seanegan@pidgin.im>
parents: 10528
diff changeset
563 */
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
564 GaimConnectionFlags gaim_conversation_get_features(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
565
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
566 /**
9260
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
567 * Determines if a conversation has focus
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
568 *
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
569 * @param conv The conversation.
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
570 *
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
571 * @return @c TRUE if the conversation has focus, @c FALSE if
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
572 * it does not or the UI does not have a concept of conversation focus
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
573 */
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
574 gboolean gaim_conversation_has_focus(GaimConversation *conv);
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
575
82d7b380220a [gaim-migrate @ 10059]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9166
diff changeset
576 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
577 * Updates the visual status and UI of a 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 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580 * @param type The update type.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
581 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
582 void gaim_conversation_update(GaimConversation *conv, GaimConvUpdateType type);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
585 * Calls a function on each conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
586 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
587 * @param func The function.
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_foreach(void (*func)(GaimConversation *conv));
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590
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
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 /** @name IM Conversation API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
596 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
597 /*@{*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
598
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
599 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
600 * Gets an IM's parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
601 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
602 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
604 * @return The parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
605 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
606 GaimConversation *gaim_conv_im_get_conversation(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
607
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
608 /**
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
609 * Sets the IM's buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
610 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
611 * 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
612 * call gaim_buddy_icon_set_data().
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
613 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
614 * @param im The IM.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
615 * @param icon The buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
616 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
617 * @see gaim_buddy_icon_set_data()
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
618 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
619 void gaim_conv_im_set_icon(GaimConvIm *im, GaimBuddyIcon *icon);
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
620
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
621 /**
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
622 * Returns the IM's buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
623 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
624 * @param im The IM.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
625 *
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
626 * @return The buddy icon.
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
627 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
628 GaimBuddyIcon *gaim_conv_im_get_icon(const GaimConvIm *im);
6846
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
629
f814f02dca87 [gaim-migrate @ 7391]
Christian Hammond <chipx86@chipx86.com>
parents: 6720
diff changeset
630 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
631 * Sets the IM's typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
632 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
633 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
634 * @param state The typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
635 */
8288
457cf0339c09 [gaim-migrate @ 9012]
Christian Hammond <chipx86@chipx86.com>
parents: 8256
diff changeset
636 void gaim_conv_im_set_typing_state(GaimConvIm *im, GaimTypingState state);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
639 * Returns the IM's typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
640 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
641 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
642 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
643 * @return The IM's typing state.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
644 */
8288
457cf0339c09 [gaim-migrate @ 9012]
Christian Hammond <chipx86@chipx86.com>
parents: 8256
diff changeset
645 GaimTypingState gaim_conv_im_get_typing_state(const GaimConvIm *im);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
648 * Starts the IM's typing timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
649 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
650 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
651 * @param timeout The timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
652 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
653 void gaim_conv_im_start_typing_timeout(GaimConvIm *im, int timeout);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
656 * Stops the IM's typing timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
657 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
658 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
659 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
660 void gaim_conv_im_stop_typing_timeout(GaimConvIm *im);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
663 * Returns the IM's typing timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
664 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
665 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
666 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
667 * @return The timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
668 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
669 guint gaim_conv_im_get_typing_timeout(const GaimConvIm *im);
4359
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 /**
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
672 * Sets the quiet-time when no GAIM_TYPING messages will be sent.
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
673 * Few protocols need this (maybe only MSN). If the user is still
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
674 * typing after this quiet-period, then another GAIM_TYPING message
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
675 * will be sent.
4359
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 * @param im The IM.
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
678 * @param val The number of seconds to wait before allowing another
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
679 * GAIM_TYPING message to be sent to the user. Or 0 to
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
680 * not send another GAIM_TYPING message.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
681 */
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
682 void gaim_conv_im_set_type_again(GaimConvIm *im, unsigned int val);
4359
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 /**
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
685 * Returns the time after which another GAIM_TYPING message should be sent.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
686 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
687 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
688 *
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
689 * @return The time in seconds since the epoch. Or 0 if no additional
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
690 * GAIM_TYPING message should be sent.
4359
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 time_t gaim_conv_im_get_type_again(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
693
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
694 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
695 * Starts the IM's type again timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
696 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
697 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
698 */
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
699 void gaim_conv_im_start_send_typed_timeout(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
700
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
701 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
702 * Stops the IM's type again timeout.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
703 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
704 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
705 */
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
706 void gaim_conv_im_stop_send_typed_timeout(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
707
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
708 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
709 * Returns the IM's type again timeout interval.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
710 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
711 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
712 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
713 * @return The type again timeout interval.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
714 */
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13840
diff changeset
715 guint gaim_conv_im_get_send_typed_timeout(const GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
716
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
717 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
718 * Updates the visual typing notification for an IM conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
719 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
720 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
721 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
722 void gaim_conv_im_update_typing(GaimConvIm *im);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
723
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 * Writes to an IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
726 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
727 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
728 * @param who The user who sent the message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
729 * @param message The message to write.
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
730 * @param flags The message flags.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
731 * @param mtime The time the message was sent.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
732 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
733 void gaim_conv_im_write(GaimConvIm *im, const char *who,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
734 const char *message, GaimMessageFlags flags,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
735 time_t mtime);
4359
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 /**
9627
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
738 * Presents an IM-error to the user
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11485
diff changeset
739 *
9627
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
740 * This is a helper function to find a conversation, write an error to it, and
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
741 * raise the window. If a conversation with this user doesn't already exist,
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
742 * the function will return FALSE and the calling function can attempt to present
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
743 * the error another way (gaim_notify_error, most likely)
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
744 *
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
745 * @param who The user this error is about
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
746 * @param account The account this error is on
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
747 * @param what The error
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
748 * @return TRUE if the error was presented, else FALSE
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
749 */
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
750 gboolean gaim_conv_present_error(const char *who, GaimAccount *account, const char *what);
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
751
4a7636442f25 [gaim-migrate @ 10471]
Sean Egan <seanegan@pidgin.im>
parents: 9584
diff changeset
752 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
753 * Sends a message to this IM conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
754 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
755 * @param im The IM.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
756 * @param message The message to send.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
757 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
758 void gaim_conv_im_send(GaimConvIm *im, const char *message);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
759
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
760 /**
11921
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
761 * Sends a message to this IM conversation with specified flags.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
762 *
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
763 * @param im The IM.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
764 * @param message The message to send.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
765 * @param flags The GaimMessageFlags flags to use in addition to GAIM_MESSAGE_SEND.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
766 */
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
767 void gaim_conv_im_send_with_flags(GaimConvIm *im, const char *message, GaimMessageFlags flags);
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
768
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
769 /**
10528
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
770 * Adds a smiley to the conversation's smiley tree. If this returns
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
771 * @c TRUE you should call gaim_conv_custom_smiley_write() one or more
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
772 * times, and then gaim_conv_custom_smiley_close(). If this returns
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
773 * @c FALSE, either the conv or smile were invalid, or the icon was
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
774 * found in the cache. In either case, calling write or close would
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
775 * be an error.
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
776 *
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
777 * @param conv The conversation to associate the smiley with.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
778 * @param smile The text associated with the smiley
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
779 * @param cksum_type The type of checksum.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
780 * @param chksum The checksum, as a NUL terminated base64 string.
12618
b83b6bab0703 [gaim-migrate @ 14954]
Richard Laager <rlaager@pidgin.im>
parents: 12463
diff changeset
781 * @param remote @c TRUE if the custom smiley is set by the remote user (buddy).
10528
4de536b2b60c [gaim-migrate @ 11849]
Tim Ringenbach <marv@pidgin.im>
parents: 10526
diff changeset
782 * @return @c TRUE if an icon is expected, else FALSE. Note that
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
783 * it is an error to never call gaim_conv_custom_smiley_close if
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
784 * this function returns @c TRUE, but an error to call it if
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
785 * @c FALSE is returned.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
786 */
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
787
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
788 gboolean gaim_conv_custom_smiley_add(GaimConversation *conv, const char *smile,
12618
b83b6bab0703 [gaim-migrate @ 14954]
Richard Laager <rlaager@pidgin.im>
parents: 12463
diff changeset
789 const char *cksum_type, const char *chksum,
b83b6bab0703 [gaim-migrate @ 14954]
Richard Laager <rlaager@pidgin.im>
parents: 12463
diff changeset
790 gboolean remote);
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
791
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
792
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
793 /**
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
794 * Updates the image associated with the current smiley.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
795 *
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
796 * @param conv The conversation associated with the smiley.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
797 * @param smile The text associated with the smiley.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
798 * @param data The actual image data.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
799 * @param size The length of the data.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
800 */
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
801
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
802 void gaim_conv_custom_smiley_write(GaimConversation *conv,
11137
cf40226ddff7 [gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents: 11035
diff changeset
803 const char *smile,
cf40226ddff7 [gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents: 11035
diff changeset
804 const guchar *data,
cf40226ddff7 [gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents: 11035
diff changeset
805 gsize size);
10526
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
806
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
807 /**
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
808 * Close the custom smiley, all data has been written with
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
809 * gaim_conv_custom_smiley_write, and it is no longer valid
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
810 * to call that function on that smiley.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
811 *
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
812 * @param conv The gaim conversation associated with the smiley.
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
813 * @param smile The text associated with the smiley
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
814 */
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
815
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
816 void gaim_conv_custom_smiley_close(GaimConversation *conv, const char *smile);
05b5c6d4090d [gaim-migrate @ 11843]
Tim Ringenbach <marv@pidgin.im>
parents: 10346
diff changeset
817
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
818 /*@}*/
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
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 /** @name Chat Conversation API */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
823 /**************************************************************************/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
824 /*@{*/
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
827 * Gets a chat's parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
828 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
829 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
830 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
831 * @return The parent conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
832 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
833 GaimConversation *gaim_conv_chat_get_conversation(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
834
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
835 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
836 * Sets the list of users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
837 *
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
838 * @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
839 * 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
840 * 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
841 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
842 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
843 * @param users The list of users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
844 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
845 * @return The list passed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
846 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
847 GList *gaim_conv_chat_set_users(GaimConvChat *chat, GList *users);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
848
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
849 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
850 * Returns a list of users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
851 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
852 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
853 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
854 * @return The list of users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
855 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
856 GList *gaim_conv_chat_get_users(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
857
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 * Ignores a user in a chat room.
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 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
862 * @param name The name of the user.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
863 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
864 void gaim_conv_chat_ignore(GaimConvChat *chat, const char *name);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
867 * Unignores a user in a chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
868 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
869 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
870 * @param name The name of the user.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
871 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
872 void gaim_conv_chat_unignore(GaimConvChat *chat, const char *name);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
875 * Sets the list of ignored users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
876 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
877 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
878 * @param ignored The list of ignored users.
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 * @return The list passed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
881 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
882 GList *gaim_conv_chat_set_ignored(GaimConvChat *chat, GList *ignored);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
883
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 * Returns the list of ignored users in the chat room.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
886 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
887 * @param chat The chat.
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 * @return The list of ignored users.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
890 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
891 GList *gaim_conv_chat_get_ignored(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
892
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
893 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
894 * 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
895 * the ignore list.
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 * 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
898 * 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
899 * formatting.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
900 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
901 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
902 * @param user The user to check in the ignore list.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
903 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
904 * @return The ignored user if found, complete with prefixes, or @c NULL
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
905 * if not found.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
906 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
907 const char *gaim_conv_chat_get_ignored_user(const GaimConvChat *chat,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
908 const char *user);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
909
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
910 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
911 * Returns @c TRUE if the specified user is ignored.
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 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
914 * @param user The user.
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 * @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
917 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
918 gboolean gaim_conv_chat_is_user_ignored(const GaimConvChat *chat,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
919 const char *user);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
922 * Sets the chat room's topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
923 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
924 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
925 * @param who The user that set the topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
926 * @param topic The topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
927 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
928 void gaim_conv_chat_set_topic(GaimConvChat *chat, const char *who,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
929 const char *topic);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
930
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 * Returns the chat room's topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
933 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
934 * @param chat The chat.
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 * @return The chat's topic.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
937 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
938 const char *gaim_conv_chat_get_topic(const GaimConvChat *chat);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
939
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
940 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
941 * Sets the chat room's ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
942 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
943 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
944 * @param id The ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
945 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
946 void gaim_conv_chat_set_id(GaimConvChat *chat, int id);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
947
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 * Returns the chat room's ID.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
950 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
951 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
952 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
953 * @return The ID.
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 int gaim_conv_chat_get_id(const GaimConvChat *chat);
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 * Writes to a chat.
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 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
961 * @param who The user who sent the message.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
962 * @param message The message to write.
6621
2a18ef3e5224 [gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
963 * @param flags The flags.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
964 * @param mtime The time the message was sent.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
965 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
966 void gaim_conv_chat_write(GaimConvChat *chat, const char *who,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
967 const char *message, GaimMessageFlags flags,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
968 time_t mtime);
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
971 * Sends a message to this chat conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
972 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
973 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
974 * @param message The message to send.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
975 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
976 void gaim_conv_chat_send(GaimConvChat *chat, const char *message);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
977
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
978 /**
11921
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
979 * Sends a message to this chat conversation with specified flags.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
980 *
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
981 * @param chat The chat.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
982 * @param message The message to send.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
983 * @param flags The GaimMessageFlags flags to use.
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
984 */
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
985 void gaim_conv_chat_send_with_flags(GaimConvChat *chat, const char *message, GaimMessageFlags flags);
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
986
fe74264ce36c [gaim-migrate @ 14212]
Evan Schoenberg <evands@pidgin.im>
parents: 11869
diff changeset
987 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
988 * Adds a user to a chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
989 *
9939
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9846
diff changeset
990 * @param chat The chat.
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9846
diff changeset
991 * @param user The user to add.
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9846
diff changeset
992 * @param extra_msg An extra message to display with the join message.
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9846
diff changeset
993 * @param flags The users flags
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9846
diff changeset
994 * @param new_arrival Decides whether or not to show a join notice.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
995 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
996 void gaim_conv_chat_add_user(GaimConvChat *chat, const char *user,
9846
61f7349c153a [gaim-migrate @ 10724]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9718
diff changeset
997 const char *extra_msg, GaimConvChatBuddyFlags flags,
61f7349c153a [gaim-migrate @ 10724]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9718
diff changeset
998 gboolean new_arrival);
4359
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 /**
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1001 * Adds a list of users to a chat.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1002 *
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1003 * The data is copied from @a users, @a extra_msgs, and @a flags, so it is up to
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1004 * the caller to free this list after calling this function.
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1005 *
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1006 * @param chat The chat.
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1007 * @param users The list of users to add.
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1008 * @param extra_msgs An extra message to display with the join message for each
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1009 * user. This list may be shorter than @a users, in which
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1010 * case, the users after the end of extra_msgs will not have
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1011 * an extra message. By extension, this means that extra_msgs
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1012 * can simply be @c NULL and none of the users will have an
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1013 * extra message.
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1014 * @param flags The list of flags for each user.
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1015 * @param new_arrivals Decides whether or not to show join notices.
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1016 */
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1017 void gaim_conv_chat_add_users(GaimConvChat *chat, GList *users, GList *extra_msgs,
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11338
diff changeset
1018 GList *flags, gboolean new_arrivals);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1019
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1020 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1021 * Renames a user in a chat.
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 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1024 * @param old_user The old username.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1025 * @param new_user The new username.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1026 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1027 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
1028 const char *new_user);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1029
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1030 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1031 * Removes a user from a chat, optionally with a reason.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1032 *
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1033 * 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
1034 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1035 * @param chat The chat.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1036 * @param user The user that is being removed.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1037 * @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
1038 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1039 void gaim_conv_chat_remove_user(GaimConvChat *chat, const char *user,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1040 const char *reason);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1041
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1042 /**
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1043 * 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
1044 *
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1045 * @param chat The chat.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1046 * @param users The users that are being removed.
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1047 * @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
1048 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1049 void gaim_conv_chat_remove_users(GaimConvChat *chat, GList *users,
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1050 const char *reason);
6407
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1051
d67b6a6ba7d2 [gaim-migrate @ 6913]
Christian Hammond <chipx86@chipx86.com>
parents: 6405
diff changeset
1052 /**
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1053 * Finds a user in a chat
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1054 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1055 * @param chat The chat.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1056 * @param user The user to look for.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1057 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1058 * @return TRUE if the user is in the chat, FALSE if not
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1059 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1060 gboolean gaim_conv_chat_find_user(GaimConvChat *chat, const char *user);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1061
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1062 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1063 * Set a users flags in a chat
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1064 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1065 * @param chat The chat.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1066 * @param user The user to update.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1067 * @param flags The new flags.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1068 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1069 void gaim_conv_chat_user_set_flags(GaimConvChat *chat, const char *user,
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1070 GaimConvChatBuddyFlags flags);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1071
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1072 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1073 * Get the flags for a user in a chat
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1074 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1075 * @param chat The chat.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1076 * @param user The user to find the flags for
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1077 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1078 * @return The flags for the user
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1079 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1080 GaimConvChatBuddyFlags gaim_conv_chat_user_get_flags(GaimConvChat *chat,
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1081 const char *user);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1082
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1083 /**
6414
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1084 * Clears all users from a chat.
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1085 *
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1086 * @param chat The chat.
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1087 */
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1088 void gaim_conv_chat_clear_users(GaimConvChat *chat);
6414
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1089
f78eb072fcc0 [gaim-migrate @ 6921]
Christian Hammond <chipx86@chipx86.com>
parents: 6407
diff changeset
1090 /**
8158
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1091 * Sets your nickname (used for hilighting) for a chat.
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1092 *
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1093 * @param chat The chat.
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1094 * @param nick The nick.
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1095 */
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1096 void gaim_conv_chat_set_nick(GaimConvChat *chat, const char *nick);
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1097
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1098 /**
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1099 * Gets your nickname (used for hilighting) for a chat.
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1100 *
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1101 * @param chat The chat.
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1102 * @return The nick.
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1103 */
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1104 const char *gaim_conv_chat_get_nick(GaimConvChat *chat);
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1105
a62f04d81823 [gaim-migrate @ 8870]
Nathan Walp <nwalp@pidgin.im>
parents: 8155
diff changeset
1106 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1107 * Finds a chat with the specified chat ID.
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 * @param gc The gaim_connection.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1110 * @param id The chat ID.
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 * @return The chat conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1113 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
1114 GaimConversation *gaim_find_chat(const GaimConnection *gc, int id);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1115
8256
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1116 /**
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1117 * Lets the core know we left a chat, without destroying it.
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1118 * Called from serv_got_chat_left().
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1119 *
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1120 * @param chat The chat.
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1121 */
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1122 void gaim_conv_chat_left(GaimConvChat *chat);
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1123
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1124 /**
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1125 * Returns true if we're no longer in this chat,
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1126 * and just left the window open.
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1127 *
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1128 * @param chat The chat.
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1129 *
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1130 * @return @c TRUE if we left the chat already, @c FALSE if
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1131 * we're still there.
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1132 */
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1133 gboolean gaim_conv_chat_has_left(GaimConvChat *chat);
3f3063796999 [gaim-migrate @ 8979]
Tim Ringenbach <marv@pidgin.im>
parents: 8158
diff changeset
1134
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1135 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1136 * Creates a new chat buddy
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1137 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1138 * @param name The name.
14027
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
1139 * @param alias The alias.
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1140 * @param flags The flags.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1141 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1142 * @return The new chat buddy
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1143 */
14027
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13844
diff changeset
1144 GaimConvChatBuddy *gaim_conv_chat_cb_new(const char *name, const char *alias,
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1145 GaimConvChatBuddyFlags flags);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1146
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1147 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1148 * Find a chat buddy in a chat
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1149 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1150 * @param chat The chat.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1151 * @param name The name of the chat buddy to find.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1152 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1153 GaimConvChatBuddy *gaim_conv_chat_cb_find(GaimConvChat *chat, const char *name);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1154
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1155 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1156 * Get the name of a chat buddy
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1157 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1158 * @param cb The chat buddy.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1159 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1160 * @return The name of the chat buddy.
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1161 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1162 const char *gaim_conv_chat_cb_get_name(GaimConvChatBuddy *cb);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1163
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1164 /**
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1165 * Destroys a chat buddy
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1166 *
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1167 * @param cb The chat buddy to destroy
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1168 */
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1169 void gaim_conv_chat_cb_destroy(GaimConvChatBuddy *cb);
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9260
diff changeset
1170
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1171 /*@}*/
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1172
4469
ef60c820b884 [gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents: 4465
diff changeset
1173 /**************************************************************************/
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1174 /** @name Conversations Subsystem */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1175 /**************************************************************************/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1176 /*@{*/
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1177
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1178 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1179 * Returns the conversation subsystem handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1180 *
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1181 * @return The conversation subsystem handle.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1182 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1183 void *gaim_conversations_get_handle(void);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1184
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1185 /**
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1186 * Initializes the conversation subsystem.
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1187 */
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1188 void gaim_conversations_init(void);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1189
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1190 /**
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1191 * Uninitializes the conversation subsystem.
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1192 */
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6414
diff changeset
1193 void gaim_conversations_uninit(void);
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5858
diff changeset
1194
4481
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1195 /*@}*/
1a02f276e41e [gaim-migrate @ 4756]
Christian Hammond <chipx86@chipx86.com>
parents: 4476
diff changeset
1196
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1197 #ifdef __cplusplus
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1198 }
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1199 #endif
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1200
4890
d87a9b5bbe57 [gaim-migrate @ 5220]
Christian Hammond <chipx86@chipx86.com>
parents: 4877
diff changeset
1201 #endif /* _GAIM_CONVERSATION_H_ */

mercurial