Mon, 31 Mar 2008 21:04:51 +0000
propagate from branch 'im.pidgin.pidgin' (head c9010aca2b114f4e5a792ff8d76f969dd1b3c7e7)
to branch 'im.pidgin.pidgin.custom_smiley' (head c4c7c485239031d2fa0421d68c0a1c4979f629e4)
| 4542 | 1 | /** |
| 2 | * @file switchboard.h MSN switchboard functions | |
| 3 | * | |
| 15884 | 4 | * purple |
| 4542 | 5 | * |
| 15884 | 6 | * Purple is the legal property of its developers, whose names are too numerous |
|
9198
e8eb6d5eb9eb
[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 |
|
e8eb6d5eb9eb
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
8 | * source distribution. |
|
6701
7e2db9273748
[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 | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17532
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 4542 | 23 | */ |
| 24 | #ifndef _MSN_SWITCHBOARD_H_ | |
| 25 | #define _MSN_SWITCHBOARD_H_ | |
| 26 | ||
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
27 | typedef struct _MsnSwitchBoard MsnSwitchBoard; |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
28 | |
|
6701
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5679
diff
changeset
|
29 | #include "conversation.h" |
|
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5679
diff
changeset
|
30 | |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
31 | #include "msg.h" |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
32 | #include "user.h" |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
33 | |
|
6786
096ebddea1f3
[gaim-migrate @ 7325]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
34 | #include "servconn.h" |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
35 | |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
36 | #include "slplink.h" |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
37 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
38 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
39 | * A switchboard error. |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
40 | */ |
|
10225
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
41 | typedef enum |
|
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
42 | { |
|
10346
9c65a007b4a5
[gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
43 | MSN_SB_ERROR_NONE, /**< No error. */ |
|
9c65a007b4a5
[gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
44 | MSN_SB_ERROR_CAL, /**< The user could not join (answer the call). */ |
|
9c65a007b4a5
[gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
45 | MSN_SB_ERROR_OFFLINE, /**< The account is offline. */ |
|
9c65a007b4a5
[gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
46 | MSN_SB_ERROR_USER_OFFLINE, /**< The user to call is offline. */ |
|
9c65a007b4a5
[gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
47 | MSN_SB_ERROR_CONNECTION, /**< There was a connection error. */ |
|
13126
afce0fe97885
[gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents:
11897
diff
changeset
|
48 | MSN_SB_ERROR_TOO_FAST, /**< We are sending too fast */ |
|
17532
1d4984e7dfeb
Handle problems initiating or joining a switchboard session more gracefully.
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15884
diff
changeset
|
49 | MSN_SB_ERROR_AUTHFAILED, /**< Authentication failed joining the switchboard session */ |
|
10451
2df35a139363
[gaim-migrate @ 11717]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10403
diff
changeset
|
50 | MSN_SB_ERROR_UNKNOWN /**< An unknown error occurred. */ |
|
10225
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
51 | |
|
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
52 | } MsnSBErrorType; |
|
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
53 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
54 | /** |
|
10602
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
55 | * A switchboard flag. |
|
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
56 | */ |
|
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
57 | typedef enum |
|
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
58 | { |
|
10773
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
59 | MSN_SB_FLAG_IM = 0x01, /**< This switchboard is being used for a conversation. */ |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
60 | MSN_SB_FLAG_FT = 0x02, /**< This switchboard is being used for file transfer. */ |
|
10602
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
61 | |
|
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
62 | } MsnSBFlag; |
|
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
63 | |
|
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
64 | /** |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
65 | * A switchboard. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
66 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
67 | * A place where a bunch of users send messages to the rest of the users. |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
68 | */ |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
69 | struct _MsnSwitchBoard |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
70 | { |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
71 | MsnSession *session; |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
72 | MsnServConn *servconn; |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10451
diff
changeset
|
73 | MsnCmdProc *cmdproc; |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
74 | char *im_user; |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
75 | |
|
10602
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10481
diff
changeset
|
76 | MsnSBFlag flag; |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
77 | char *auth_key; |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
78 | char *session_id; |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
79 | |
| 15884 | 80 | PurpleConversation *conv; /**< The conversation that displays the |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
81 | messages of this switchboard, or @c NULL if |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
82 | this is a helper switchboard. */ |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
83 | |
|
10403
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
84 | gboolean empty; /**< A flag that states if the swithcboard has no |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
85 | users in it. */ |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
86 | gboolean invited; /**< A flag that states if we were invited to the |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
87 | switchboard. */ |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
88 | gboolean ready; /**< A flag that states if this switchboard is |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
89 | ready to be used. */ |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
90 | gboolean closed; /**< A flag that states if the switchboard has |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
91 | been closed by the user. */ |
|
10773
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
92 | gboolean destroying; /**< A flag that states if the switchboard is |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
93 | alredy on the process of destruction. */ |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
94 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
95 | int current_users; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
96 | int total_users; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
97 | GList *users; |
| 4542 | 98 | |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
99 | int chat_id; |
|
5351
cb12105b532b
[gaim-migrate @ 5727]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
100 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
101 | GQueue *msg_queue; /**< Queue of messages to send. */ |
|
10403
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
102 | GList *ack_list; /**< List of messages waiting for an ack. */ |
|
10225
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
103 | |
|
10451
2df35a139363
[gaim-migrate @ 11717]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10403
diff
changeset
|
104 | MsnSBErrorType error; /**< The error that occurred in this switchboard |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
105 | (if applicable). */ |
|
14029
0e8ca0cb7054
[gaim-migrate @ 16523]
Mark Doliner <markdoliner@pidgin.im>
parents:
13126
diff
changeset
|
106 | GList *slplinks; /**< The list of slplinks that are using this switchboard. */ |
| 4542 | 107 | }; |
| 108 | ||
| 109 | /** | |
|
8808
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
110 | * Initialize the variables for switchboard creation. |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
111 | */ |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
112 | void msn_switchboard_init(void); |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
113 | |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
114 | /** |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
115 | * Destroy the variables for switchboard creation. |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
116 | */ |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
117 | void msn_switchboard_end(void); |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
118 | |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
119 | /** |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
120 | * Creates a new switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
121 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
122 | * @param session The MSN session. |
| 4542 | 123 | * |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
124 | * @return The new switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
125 | */ |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
126 | MsnSwitchBoard *msn_switchboard_new(MsnSession *session); |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
127 | |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
128 | /** |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
129 | * Destroys a switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
130 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
131 | * @param swboard The switchboard to destroy. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
132 | */ |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
133 | void msn_switchboard_destroy(MsnSwitchBoard *swboard); |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
134 | |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
135 | /** |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
136 | * Sets the auth key the switchboard must use when connecting. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
137 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
138 | * @param swboard The switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
139 | * @param key The auth key. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
140 | */ |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
141 | void msn_switchboard_set_auth_key(MsnSwitchBoard *swboard, const char *key); |
| 4542 | 142 | |
| 143 | /** | |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
144 | * Returns the auth key the switchboard must use when connecting. |
| 4542 | 145 | * |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
146 | * @param swboard The switchboard. |
| 4542 | 147 | * |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
148 | * @return The auth key. |
| 4542 | 149 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
150 | const char *msn_switchboard_get_auth_key(MsnSwitchBoard *swboard); |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
151 | |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
152 | /** |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
153 | * Sets the session ID the switchboard must use when connecting. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
154 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
155 | * @param swboard The switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
156 | * @param id The session ID. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
157 | */ |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
158 | void msn_switchboard_set_session_id(MsnSwitchBoard *swboard, const char *id); |
| 4542 | 159 | |
| 160 | /** | |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
161 | * Returns the session ID the switchboard must use when connecting. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
162 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
163 | * @param swboard The switchboard. |
| 4542 | 164 | * |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
165 | * @return The session ID. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
166 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
167 | const char *msn_switchboard_get_session_id(MsnSwitchBoard *swboard); |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
168 | |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
169 | /** |
|
22164
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
170 | * Returns the next chat ID for use by a switchboard. |
|
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
171 | * |
|
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
172 | * @return The chat ID. |
|
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
173 | */ |
|
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
174 | int msn_switchboard_get_chat_id(void); |
|
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
175 | |
|
2307c0c05225
Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
19859
diff
changeset
|
176 | /** |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
177 | * Sets whether or not we were invited to this switchboard. |
| 4542 | 178 | * |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
179 | * @param swboard The switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
180 | * @param invite @c TRUE if invited, @c FALSE otherwise. |
| 4542 | 181 | */ |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
182 | void msn_switchboard_set_invited(MsnSwitchBoard *swboard, gboolean invited); |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
183 | |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
184 | /** |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
185 | * Returns whether or not we were invited to this switchboard. |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
186 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
187 | * @param swboard The switchboard. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
188 | * |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
189 | * @return @c TRUE if invited, @c FALSE otherwise. |
|
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
190 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
191 | gboolean msn_switchboard_is_invited(MsnSwitchBoard *swboard); |
| 4542 | 192 | |
| 193 | /** | |
| 194 | * Connects to a switchboard. | |
| 195 | * | |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
196 | * @param swboard The switchboard. |
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8808
diff
changeset
|
197 | * @param host The switchboard server host. |
|
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8808
diff
changeset
|
198 | * @param port The switcbharod server port. |
| 4542 | 199 | * |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
200 | * @return @c TRUE if able to connect, or @c FALSE otherwise. |
| 4542 | 201 | */ |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
202 | gboolean msn_switchboard_connect(MsnSwitchBoard *swboard, |
|
8583
56f69df8f12f
[gaim-migrate @ 9333]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8475
diff
changeset
|
203 | const char *host, int port); |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
204 | |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
205 | /** |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
206 | * Disconnects from a switchboard. |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
207 | * |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
208 | * @param swboard The switchboard to disconnect from. |
|
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
209 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
210 | void msn_switchboard_disconnect(MsnSwitchBoard *swboard); |
|
10345
7d7f8cfa2b4f
[gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
211 | |
|
10403
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
212 | /** |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
213 | * Closes the switchboard. |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
214 | * |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
215 | * Called when a conversation is closed. |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
216 | * |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
217 | * @param swboard The switchboard to close. |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
218 | */ |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
219 | void msn_switchboard_close(MsnSwitchBoard *swboard); |
|
4647a87ef73b
[gaim-migrate @ 11648]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10346
diff
changeset
|
220 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
221 | /** |
|
10773
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
222 | * Release a switchboard from a certain function. |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
223 | * |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
224 | * @param swboard The switchboard to release. |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
225 | * @param flag The flag that states the function. |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
226 | * |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
227 | * @return @c TRUE if the switchboard was closed, @c FALSE otherwise. |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
228 | */ |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
229 | gboolean msn_switchboard_release(MsnSwitchBoard *swboard, MsnSBFlag flag); |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
230 | |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10621
diff
changeset
|
231 | /** |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
232 | * Returns whether or not we currently can send a message through this |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
233 | * switchboard. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
234 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
235 | * @param swboard The switchboard. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
236 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
237 | * @return @c TRUE if a message can be sent, @c FALSE otherwise. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
238 | */ |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
239 | gboolean msn_switchboard_can_send(MsnSwitchBoard *swboard); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
240 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
241 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
242 | * Sends a message through this switchboard. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
243 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
244 | * @param swboard The switchboard. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
245 | * @param msg The message. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
246 | * @param queue A flag that states if we want this message to be queued (in |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
247 | * the case it cannot currently be sent). |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
248 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
249 | * @return @c TRUE if a message can be sent, @c FALSE otherwise. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
250 | */ |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
251 | void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
252 | gboolean queue); |
|
5309
3178acad1449
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
253 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
254 | gboolean msn_switchboard_chat_leave(MsnSwitchBoard *swboard); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
255 | gboolean msn_switchboard_chat_invite(MsnSwitchBoard *swboard, const char *who); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
256 | |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
257 | void msn_switchboard_request(MsnSwitchBoard *swboard); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
258 | void msn_switchboard_request_add_user(MsnSwitchBoard *swboard, const char *user); |
| 4542 | 259 | |
| 260 | /** | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
261 | * Processes peer to peer messages. |
| 4542 | 262 | * |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
263 | * @param cmdproc The command processor. |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
264 | * @param msg The message. |
| 4542 | 265 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
266 | void msn_p2p_msg(MsnCmdProc *cmdproc, MsnMessage *msg); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
267 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
268 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
269 | * Processes emoticon messages. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
270 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
271 | * @param cmdproc The command processor. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
272 | * @param msg The message. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
273 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
274 | void msn_emoticon_msg(MsnCmdProc *cmdproc, MsnMessage *msg); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
275 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
276 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
277 | * Processes INVITE messages. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
278 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
279 | * @param cmdproc The command processor. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
280 | * @param msg The message. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
281 | */ |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
282 | void msn_invite_msg(MsnCmdProc *cmdproc, MsnMessage *msg); |
| 4542 | 283 | |
| 284 | #endif /* _MSN_SWITCHBOARD_H_ */ |