Mercurial > pidgin
annotate src/protocols/msn/slpcall.h @ 10261:d4e9ff2edc4e
[gaim-migrate @ 11405]
This should fix segfault bug 1072604. Oops.
committer: Tailor Script <tailor@pidgin.im>
| author | Tim Ringenbach <marv@pidgin.im> |
|---|---|
| date | Thu, 25 Nov 2004 18:35:26 +0000 |
| parents | ecf3ce2e2ab1 |
| children | a7b2fd5efcf2 |
| 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 | |
| 27 typedef struct _MsnSlpCall MsnSlpCall; | |
| 28 | |
| 29 typedef void (*MsnSlpCb)(MsnSlpCall *slpcall, | |
| 30 const char *data, long long size); | |
| 10225 | 31 typedef void (*MsnSlpEndCb)(MsnSlpCall *slpcall); |
| 9193 | 32 |
| 33 #include "slplink.h" | |
| 34 #include "slpsession.h" | |
| 35 | |
| 10225 | 36 /* The official client seems to timeout slp calls after 5 minutes */ |
| 37 #define MSN_SLPCALL_TIMEOUT 300000 | |
| 38 | |
| 9193 | 39 typedef enum |
| 40 { | |
| 41 MSN_SLPCALL_ANY, | |
| 42 MSN_SLPCALL_DC, | |
| 43 | |
| 44 } MsnSlpCallType; | |
| 45 | |
| 46 struct _MsnSlpCall | |
| 47 { | |
| 48 /* MsnSession *session; */ | |
| 49 MsnSlpLink *slplink; | |
| 50 | |
| 51 MsnSlpCallType type; | |
| 52 | |
| 53 /* Call-ID */ | |
| 54 char *id; | |
| 55 char *branch; | |
| 56 | |
| 57 long session_id; | |
| 58 long app_id; | |
| 59 | |
| 60 void (*progress_cb)(MsnSlpCall *slpcall, | |
| 61 gsize total_length, gsize len, gsize offset); | |
| 62 void (*session_init_cb)(MsnSlpSession *slpsession); | |
| 63 | |
| 64 /* Can be checksum, or smile */ | |
| 65 char *data_info; | |
| 66 | |
| 67 void *xfer; | |
|
9198
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
68 |
| 9193 | 69 MsnSlpCb cb; |
|
9259
f5f7482678d2
[gaim-migrate @ 10058]
Christian Hammond <chipx86@chipx86.com>
parents:
9198
diff
changeset
|
70 void (*end_cb)(MsnSlpCall *slpcall); |
| 9193 | 71 gboolean wasted; |
| 72 gboolean started; | |
| 10225 | 73 |
| 74 int timer; | |
| 9193 | 75 }; |
| 76 | |
| 77 MsnSlpCall *msn_slp_call_new(MsnSlpLink *slplink); | |
| 78 void msn_slp_call_init(MsnSlpCall *slpcall, MsnSlpCallType type); | |
| 79 void msn_slp_call_session_init(MsnSlpCall *slpcall); | |
| 80 void msn_slp_call_destroy(MsnSlpCall *slpcall); | |
| 81 void msn_slp_call_invite(MsnSlpCall *slpcall, const char *euf_guid, | |
| 82 int app_id, const char *context); | |
| 83 void msn_slp_call_close(MsnSlpCall *slpcall); | |
| 10225 | 84 gboolean msn_slp_call_timeout(gpointer data); |
| 9193 | 85 |
| 86 #endif /* _MSN_SLPCALL_H_ */ |
