Mercurial > pidgin.yaz
annotate src/protocols/msn/slpcall.h @ 12312:1c8ea8f3b84e
[gaim-migrate @ 14616]
forgot a line, and infamy
committer: Tailor Script <tailor@pidgin.im>
author | Christopher O'Brien <siege@pidgin.im> |
---|---|
date | Sun, 04 Dec 2005 05:04:39 +0000 |
parents | 096020ae09a9 |
children | 442b23efba54 |
rev | line source |
---|---|
9193 | 1 /** |
2 * @file slpcall.h SLP Call 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. |
9193 | 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_SLPCALL_H_ | |
25 #define _MSN_SLPCALL_H_ | |
26 | |
11137 | 27 #include "internal.h" |
28 | |
9193 | 29 typedef struct _MsnSlpCall MsnSlpCall; |
30 | |
31 typedef void (*MsnSlpCb)(MsnSlpCall *slpcall, | |
11137 | 32 const guchar *data, gsize size); |
10225 | 33 typedef void (*MsnSlpEndCb)(MsnSlpCall *slpcall); |
9193 | 34 |
35 #include "slplink.h" | |
36 #include "slpsession.h" | |
37 | |
10225 | 38 /* The official client seems to timeout slp calls after 5 minutes */ |
39 #define MSN_SLPCALL_TIMEOUT 300000 | |
40 | |
9193 | 41 typedef enum |
42 { | |
43 MSN_SLPCALL_ANY, | |
44 MSN_SLPCALL_DC, | |
45 | |
46 } MsnSlpCallType; | |
47 | |
48 struct _MsnSlpCall | |
49 { | |
50 /* MsnSession *session; */ | |
51 MsnSlpLink *slplink; | |
52 | |
53 MsnSlpCallType type; | |
54 | |
55 /* Call-ID */ | |
56 char *id; | |
57 char *branch; | |
58 | |
59 long session_id; | |
60 long app_id; | |
61 | |
10296 | 62 gboolean pending; /**< A flag that states if we should wait for this |
63 slpcall to start and do not time out. */ | |
64 gboolean progress; /**< A flag that states if there has been progress since | |
65 the last time out. */ | |
66 gboolean wasted; /**< A flag that states if this slpcall is going to be | |
67 destroyed. */ | |
68 gboolean started; /**< A flag that states if this slpcall's session has | |
69 been initiated. */ | |
70 | |
9193 | 71 void (*progress_cb)(MsnSlpCall *slpcall, |
72 gsize total_length, gsize len, gsize offset); | |
73 void (*session_init_cb)(MsnSlpSession *slpsession); | |
74 | |
75 /* Can be checksum, or smile */ | |
76 char *data_info; | |
77 | |
78 void *xfer; | |
9198
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
79 |
9193 | 80 MsnSlpCb cb; |
9259
f5f7482678d2
[gaim-migrate @ 10058]
Christian Hammond <chipx86@chipx86.com>
parents:
9198
diff
changeset
|
81 void (*end_cb)(MsnSlpCall *slpcall); |
10225 | 82 |
83 int timer; | |
9193 | 84 }; |
85 | |
86 MsnSlpCall *msn_slp_call_new(MsnSlpLink *slplink); | |
87 void msn_slp_call_init(MsnSlpCall *slpcall, MsnSlpCallType type); | |
88 void msn_slp_call_session_init(MsnSlpCall *slpcall); | |
89 void msn_slp_call_destroy(MsnSlpCall *slpcall); | |
90 void msn_slp_call_invite(MsnSlpCall *slpcall, const char *euf_guid, | |
91 int app_id, const char *context); | |
92 void msn_slp_call_close(MsnSlpCall *slpcall); | |
10225 | 93 gboolean msn_slp_call_timeout(gpointer data); |
9193 | 94 |
95 #endif /* _MSN_SLPCALL_H_ */ |