9193
|
1 #ifndef _MSN_SLPLINK_H_
|
|
2 #define _MSN_SLPLINK_H_
|
|
3
|
|
4 typedef struct _MsnSlpLink MsnSlpLink;
|
|
5
|
|
6 #include "session.h"
|
|
7 #include "directconn.h"
|
|
8 #include "slpcall.h"
|
|
9 #include "slpmsg.h"
|
|
10
|
|
11 #include "ft.h"
|
|
12
|
|
13 struct _MsnSlpLink
|
|
14 {
|
|
15 MsnSession *session;
|
|
16
|
|
17 char *local_user;
|
|
18 char *remote_user;
|
|
19
|
|
20 int slp_seq_id;
|
|
21
|
|
22 MsnDirectConn *directconn;
|
|
23
|
|
24 GList *slp_calls;
|
|
25 GList *slp_sessions;
|
|
26 GList *slp_msgs;
|
|
27
|
|
28 GQueue *slp_msg_queue;
|
|
29 };
|
|
30
|
|
31 MsnSlpLink *msn_slplink_new(MsnSession *session, const char *username);
|
|
32 void msn_slplink_destroy(MsnSlpLink *slplink);
|
|
33 MsnSlpLink *msn_session_find_slplink(MsnSession *session,
|
|
34 const char *who);
|
|
35 MsnSlpLink *msn_session_get_slplink(MsnSession *session, const char *username);
|
|
36 MsnSlpSession *msn_slplink_find_slp_session(MsnSlpLink *slplink,
|
|
37 long session_id);
|
|
38 MsnSlpCall *msn_slplink_find_slp_call(MsnSlpLink *slplink,
|
|
39 const char *id);
|
|
40 MsnSlpCall *msn_slplink_find_slp_call_with_session_id(MsnSlpLink *slplink, long id);
|
|
41 void msn_slplink_send_msg(MsnSlpLink *slplink, MsnMessage *msg);
|
|
42 void msn_slplink_release_msg(MsnSlpLink *slplink,
|
|
43 MsnSlpMessage *slpmsg);
|
|
44 void msn_slplink_queue_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg);
|
|
45 void msn_slplink_send_slpmsg(MsnSlpLink *slplink,
|
|
46 MsnSlpMessage *slpmsg);
|
|
47 void msn_slplink_unleash(MsnSlpLink *slplink);
|
|
48 void msn_slplink_send_ack(MsnSlpLink *slplink, MsnMessage *msg);
|
|
49 void msn_slplink_process_msg(MsnSlpLink *slplink, MsnMessage *msg);
|
|
50 MsnSlpMessage *msn_slplink_message_find(MsnSlpLink *slplink, long id);
|
|
51 void msn_slplink_append_slp_msg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg);
|
|
52 void msn_slplink_remove_slp_msg(MsnSlpLink *slplink,
|
|
53 MsnSlpMessage *slpmsg);
|
|
54 void msn_slplink_request_ft(MsnSlpLink *slplink, GaimXfer *xfer);
|
|
55
|
|
56 void msn_slplink_request_object(MsnSlpLink *slplink,
|
|
57 const char *info,
|
|
58 MsnSlpCb cb,
|
|
59 const MsnObject *obj);
|
|
60
|
|
61 MsnSlpCall *msn_slp_process_msg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg);
|
|
62
|
|
63 #endif /* _MSN_SLPLINK_H_ */
|