Mercurial > pidgin
annotate src/protocols/msn/switchboard.h @ 13253:87a7c3077c19
[gaim-migrate @ 15619]
More cleaning up of oscar. Renamed some functions to be more clear.
Got rid of some stuff that wasn't used. Inlined some small things
in conn.c that were only used once.
The goals of all this are
1. Non-blocking I/O for all connections
2. p2p stuff won't use the same struct as oscar connections, because
that's stupid
3. The oscar PRPL should be less scary
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sun, 12 Feb 2006 21:27:04 +0000 |
| parents | 442b23efba54 |
| children | 99b9b58b19dd |
| rev | line source |
|---|---|
| 4542 | 1 /** |
| 2 * @file switchboard.h MSN switchboard functions | |
| 3 * | |
| 4 * gaim | |
| 5 * | |
|
9198
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
6 * Gaim is the legal property of its developers, whose names are too numerous |
|
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
|
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
8 * source distribution. |
|
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5679
diff
changeset
|
9 * |
| 4542 | 10 * This program is free software; you can redistribute it and/or modify |
| 11 * it under the terms of the GNU General Public License as published by | |
| 12 * the Free Software Foundation; either version 2 of the License, or | |
| 13 * (at your option) any later version. | |
| 14 * | |
| 15 * This program is distributed in the hope that it will be useful, | |
| 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 * GNU General Public License for more details. | |
| 19 * | |
| 20 * You should have received a copy of the GNU General Public License | |
| 21 * along with this program; if not, write to the Free Software | |
| 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 23 */ | |
| 24 #ifndef _MSN_SWITCHBOARD_H_ | |
| 25 #define _MSN_SWITCHBOARD_H_ | |
| 26 | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
27 typedef struct _MsnSwitchBoard MsnSwitchBoard; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
28 |
|
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5679
diff
changeset
|
29 #include "conversation.h" |
|
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5679
diff
changeset
|
30 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
31 #include "msg.h" |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
32 #include "user.h" |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
33 |
|
6786
8efafdc38718
[gaim-migrate @ 7325]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
34 #include "servconn.h" |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
35 |
| 10345 | 36 #include "slplink.h" |
| 37 | |
| 10481 | 38 /** |
| 39 * A switchboard error. | |
| 10345 | 40 */ |
| 10225 | 41 typedef enum |
| 42 { | |
| 10346 | 43 MSN_SB_ERROR_NONE, /**< No error. */ |
| 44 MSN_SB_ERROR_CAL, /**< The user could not join (answer the call). */ | |
| 45 MSN_SB_ERROR_OFFLINE, /**< The account is offline. */ | |
| 46 MSN_SB_ERROR_USER_OFFLINE, /**< The user to call is offline. */ | |
| 47 MSN_SB_ERROR_CONNECTION, /**< There was a connection error. */ | |
| 13125 | 48 MSN_SB_ERROR_TOO_FAST, /**< We are sending too fast */ |
| 10451 | 49 MSN_SB_ERROR_UNKNOWN /**< An unknown error occurred. */ |
| 10225 | 50 |
| 51 } MsnSBErrorType; | |
| 52 | |
| 10481 | 53 /** |
| 10602 | 54 * A switchboard flag. |
| 55 */ | |
| 56 typedef enum | |
| 57 { | |
| 10773 | 58 MSN_SB_FLAG_IM = 0x01, /**< This switchboard is being used for a conversation. */ |
| 59 MSN_SB_FLAG_FT = 0x02, /**< This switchboard is being used for file transfer. */ | |
| 10602 | 60 |
| 61 } MsnSBFlag; | |
| 62 | |
| 63 /** | |
| 10481 | 64 * A switchboard. |
| 65 * | |
| 66 * A place where a bunch of users send messages to the rest of the users. | |
| 10345 | 67 */ |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
68 struct _MsnSwitchBoard |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
69 { |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
70 MsnSession *session; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
71 MsnServConn *servconn; |
| 10463 | 72 MsnCmdProc *cmdproc; |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
73 char *im_user; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
74 |
| 10602 | 75 MsnSBFlag flag; |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
76 char *auth_key; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
77 char *session_id; |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
78 |
| 10345 | 79 GaimConversation *conv; /**< The conversation that displays the |
| 80 messages of this switchboard, or @c NULL if | |
| 81 this is a helper switchboard. */ | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
82 |
| 10403 | 83 gboolean empty; /**< A flag that states if the swithcboard has no |
| 84 users in it. */ | |
| 85 gboolean invited; /**< A flag that states if we were invited to the | |
| 86 switchboard. */ | |
| 87 gboolean ready; /**< A flag that states if this switchboard is | |
| 88 ready to be used. */ | |
| 89 gboolean closed; /**< A flag that states if the switchboard has | |
| 90 been closed by the user. */ | |
| 10773 | 91 gboolean destroying; /**< A flag that states if the switchboard is |
| 92 alredy on the process of destruction. */ | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
93 |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
94 int current_users; |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
95 int total_users; |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
96 GList *users; |
| 4542 | 97 |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
98 int chat_id; |
|
5351
2aa7e4237142
[gaim-migrate @ 5727]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
99 |
| 10481 | 100 GQueue *msg_queue; /**< Queue of messages to send. */ |
| 10403 | 101 GList *ack_list; /**< List of messages waiting for an ack. */ |
| 10225 | 102 |
| 10451 | 103 MsnSBErrorType error; /**< The error that occurred in this switchboard |
| 10345 | 104 (if applicable). */ |
| 105 MsnSlpLink *slplink; /**< The slplink that is using this switchboard. */ | |
| 4542 | 106 }; |
| 107 | |
| 108 /** | |
|
8808
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
109 * Initialize the variables for switchboard creation. |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
110 */ |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
111 void msn_switchboard_init(void); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
112 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
113 /** |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
114 * Destroy the variables for switchboard creation. |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
115 */ |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
116 void msn_switchboard_end(void); |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
117 |
|
bbd8cdaf0ad5
[gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents:
8583
diff
changeset
|
118 /** |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
119 * Creates a new switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
120 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
121 * @param session The MSN session. |
| 4542 | 122 * |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
123 * @return The new switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
124 */ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
125 MsnSwitchBoard *msn_switchboard_new(MsnSession *session); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
126 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
127 /** |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
128 * Destroys a switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
129 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
130 * @param swboard The switchboard to destroy. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
131 */ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
132 void msn_switchboard_destroy(MsnSwitchBoard *swboard); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
133 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
134 /** |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
135 * Sets the auth key the switchboard must use when connecting. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
136 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
137 * @param swboard The switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
138 * @param key The auth key. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
139 */ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
140 void msn_switchboard_set_auth_key(MsnSwitchBoard *swboard, const char *key); |
| 4542 | 141 |
| 142 /** | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
143 * Returns the auth key the switchboard must use when connecting. |
| 4542 | 144 * |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
145 * @param swboard The switchboard. |
| 4542 | 146 * |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
147 * @return The auth key. |
| 4542 | 148 */ |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
149 const char *msn_switchboard_get_auth_key(MsnSwitchBoard *swboard); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
150 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
151 /** |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
152 * Sets the session ID the switchboard must use when connecting. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
153 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
154 * @param swboard The switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
155 * @param id The session ID. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
156 */ |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
157 void msn_switchboard_set_session_id(MsnSwitchBoard *swboard, const char *id); |
| 4542 | 158 |
| 159 /** | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
160 * Returns the session ID the switchboard must use when connecting. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
161 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
162 * @param swboard The switchboard. |
| 4542 | 163 * |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
164 * @return The session ID. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
165 */ |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
166 const char *msn_switchboard_get_session_id(MsnSwitchBoard *swboard); |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
167 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
168 /** |
| 10345 | 169 * Sets whether or not we were invited to this switchboard. |
| 4542 | 170 * |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
171 * @param swboard The switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
172 * @param invite @c TRUE if invited, @c FALSE otherwise. |
| 4542 | 173 */ |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
174 void msn_switchboard_set_invited(MsnSwitchBoard *swboard, gboolean invited); |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
175 |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
176 /** |
| 10345 | 177 * Returns whether or not we were invited to this switchboard. |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
178 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
179 * @param swboard The switchboard. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
180 * |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
181 * @return @c TRUE if invited, @c FALSE otherwise. |
|
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
182 */ |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
183 gboolean msn_switchboard_is_invited(MsnSwitchBoard *swboard); |
| 4542 | 184 |
| 185 /** | |
| 186 * Connects to a switchboard. | |
| 187 * | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
188 * @param swboard The switchboard. |
|
9158
c30d81b4dd22
[gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents:
8808
diff
changeset
|
189 * @param host The switchboard server host. |
|
c30d81b4dd22
[gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents:
8808
diff
changeset
|
190 * @param port The switcbharod server port. |
| 4542 | 191 * |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
192 * @return @c TRUE if able to connect, or @c FALSE otherwise. |
| 4542 | 193 */ |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
194 gboolean msn_switchboard_connect(MsnSwitchBoard *swboard, |
|
8583
fc27237783ee
[gaim-migrate @ 9333]
Christian Hammond <chipx86@chipx86.com>
parents:
8475
diff
changeset
|
195 const char *host, int port); |
| 10345 | 196 |
| 197 /** | |
| 198 * Disconnects from a switchboard. | |
| 199 * | |
| 200 * @param swboard The switchboard to disconnect from. | |
| 201 */ | |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
202 void msn_switchboard_disconnect(MsnSwitchBoard *swboard); |
| 10345 | 203 |
| 10403 | 204 /** |
| 205 * Closes the switchboard. | |
| 206 * | |
| 207 * Called when a conversation is closed. | |
| 208 * | |
| 209 * @param swboard The switchboard to close. | |
| 210 */ | |
| 211 void msn_switchboard_close(MsnSwitchBoard *swboard); | |
| 212 | |
| 10481 | 213 /** |
| 10773 | 214 * Release a switchboard from a certain function. |
| 215 * | |
| 216 * @param swboard The switchboard to release. | |
| 217 * @param flag The flag that states the function. | |
| 218 * | |
| 219 * @return @c TRUE if the switchboard was closed, @c FALSE otherwise. | |
| 220 */ | |
| 221 gboolean msn_switchboard_release(MsnSwitchBoard *swboard, MsnSBFlag flag); | |
| 222 | |
| 223 /** | |
| 10481 | 224 * Returns whether or not we currently can send a message through this |
| 225 * switchboard. | |
| 226 * | |
| 227 * @param swboard The switchboard. | |
| 228 * | |
| 229 * @return @c TRUE if a message can be sent, @c FALSE otherwise. | |
| 230 */ | |
| 231 gboolean msn_switchboard_can_send(MsnSwitchBoard *swboard); | |
| 232 | |
| 233 /** | |
| 234 * Sends a message through this switchboard. | |
| 235 * | |
| 236 * @param swboard The switchboard. | |
| 237 * @param msg The message. | |
| 238 * @param queue A flag that states if we want this message to be queued (in | |
| 239 * the case it cannot currently be sent). | |
| 240 * | |
| 241 * @return @c TRUE if a message can be sent, @c FALSE otherwise. | |
| 242 */ | |
| 243 void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, | |
| 244 gboolean queue); | |
|
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
245 |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
246 gboolean msn_switchboard_chat_leave(MsnSwitchBoard *swboard); |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
247 gboolean msn_switchboard_chat_invite(MsnSwitchBoard *swboard, const char *who); |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
248 |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
249 void msn_switchboard_request(MsnSwitchBoard *swboard); |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
250 void msn_switchboard_request_add_user(MsnSwitchBoard *swboard, const char *user); |
| 4542 | 251 |
| 252 /** | |
| 10481 | 253 * Processes peer to peer messages. |
| 4542 | 254 * |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
255 * @param cmdproc The command processor. |
|
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
256 * @param msg The message. |
| 4542 | 257 */ |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
258 void msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg); |
| 10481 | 259 |
| 260 /** | |
| 261 * Processes emoticon messages. | |
| 262 * | |
| 263 * @param cmdproc The command processor. | |
| 264 * @param msg The message. | |
| 265 */ | |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
266 void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg); |
| 10481 | 267 |
| 268 /** | |
| 269 * Processes INVITE messages. | |
| 270 * | |
| 271 * @param cmdproc The command processor. | |
| 272 * @param msg The message. | |
| 273 */ | |
|
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
9158
diff
changeset
|
274 void msn_invite_msg(MsnCmdProc *cmdproc, MsnMessage *msg); |
| 4542 | 275 |
| 276 #endif /* _MSN_SWITCHBOARD_H_ */ |
