Mercurial > pidgin
annotate src/protocols/msn/transaction.h @ 11341:3f0fda678686
[gaim-migrate @ 13555]
- small compatibility improvements for gizmo/linphone
- // -> /* */
- removed some mem leaks
committer: Tailor Script <tailor@pidgin.im>
author | Thomas Butter <tbutter> |
---|---|
date | Thu, 25 Aug 2005 06:59:20 +0000 |
parents | e5455f1dc9b6 |
children |
rev | line source |
---|---|
8810 | 1 /** |
2 * @file transaction.h MSN transaction 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. |
8810 | 9 * |
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_TRANSACTION_H | |
25 #define _MSN_TRANSACTION_H | |
26 | |
27 typedef struct _MsnTransaction MsnTransaction; | |
28 | |
29 #include "command.h" | |
30 #include "cmdproc.h" | |
31 | |
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8810
diff
changeset
|
32 typedef void (*MsnTransCb)(MsnCmdProc *cmdproc, MsnCommand *cmd); |
10225 | 33 typedef void (*MsnTimeoutCb)(MsnCmdProc *cmdproc, MsnTransaction *trans); |
34 typedef void (*MsnErrorCb)(MsnCmdProc *cmdproc, MsnTransaction *trans, | |
35 int error); | |
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8810
diff
changeset
|
36 |
8810 | 37 /** |
10225 | 38 * A transaction. A sending command that will initiate the transaction. |
8810 | 39 */ |
40 struct _MsnTransaction | |
41 { | |
10225 | 42 MsnCmdProc *cmdproc; |
8810 | 43 unsigned int trId; |
44 | |
45 char *command; | |
46 char *params; | |
47 | |
10225 | 48 int timer; |
49 | |
10403 | 50 void *data; /**< The data to be used on the different callbacks. */ |
8810 | 51 GHashTable *callbacks; |
10284 | 52 gboolean has_custom_callbacks; |
10225 | 53 MsnErrorCb error_cb; |
54 MsnTimeoutCb timeout_cb; | |
8810 | 55 |
56 char *payload; | |
57 size_t payload_len; | |
58 | |
59 GQueue *queue; | |
10403 | 60 MsnCommand *pendent_cmd; /**< The command that is waiting for the result of |
61 this transaction. */ | |
8810 | 62 }; |
63 | |
10225 | 64 MsnTransaction *msn_transaction_new(MsnCmdProc *cmdproc, |
65 const char *command, | |
8810 | 66 const char *format, ...); |
67 void msn_transaction_destroy(MsnTransaction *trans); | |
68 | |
69 char *msn_transaction_to_string(MsnTransaction *trans); | |
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8810
diff
changeset
|
70 void msn_transaction_queue_cmd(MsnTransaction *trans, MsnCommand *cmd); |
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8810
diff
changeset
|
71 void msn_transaction_unqueue_cmd(MsnTransaction *trans, MsnCmdProc *cmdproc); |
8810 | 72 void msn_transaction_set_payload(MsnTransaction *trans, |
73 const char *payload, int payload_len); | |
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8810
diff
changeset
|
74 void msn_transaction_set_data(MsnTransaction *trans, void *data); |
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8810
diff
changeset
|
75 void msn_transaction_add_cb(MsnTransaction *trans, char *answer, |
10225 | 76 MsnTransCb cb); |
77 void msn_transaction_set_error_cb(MsnTransaction *trans, MsnErrorCb cb); | |
78 void msn_transaction_set_timeout_cb(MsnTransaction *trans, MsnTimeoutCb cb); | |
8810 | 79 |
80 #endif /* _MSN_TRANSACTION_H */ |