Mon, 10 Feb 2014 16:22:00 +0530
Merged default branch
| 5309 | 1 | /** |
| 2 | * @file servconn.h Server connection functions | |
| 3 | * | |
| 15884 | 4 | * purple |
| 5309 | 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:
5962
diff
changeset
|
9 | * |
| 5309 | 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:
15884
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5309 | 23 | */ |
|
29305
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
24 | #ifndef MSN_SERVCONN_H |
|
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
25 | #define MSN_SERVCONN_H |
| 5309 | 26 | |
| 34861 | 27 | #include "circularbuffer.h" |
|
34262
3b8ce83bac96
HTTP: get rid of one (of two) msn's own http implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
30955
diff
changeset
|
28 | |
|
8808
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8646
diff
changeset
|
29 | typedef struct _MsnServConn MsnServConn; |
|
6701
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5962
diff
changeset
|
30 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
31 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
32 | * Connection error types. |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
33 | */ |
|
8808
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8646
diff
changeset
|
34 | typedef enum |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8646
diff
changeset
|
35 | { |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
36 | MSN_SERVCONN_ERROR_NONE, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
37 | MSN_SERVCONN_ERROR_CONNECT, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
38 | MSN_SERVCONN_ERROR_WRITE, |
|
25105
fe13c190ca13
Remove the commas at the end of enumerator lists. This resolves warnings
Florian Quèze <florian@instantbird.org>
parents:
24668
diff
changeset
|
39 | MSN_SERVCONN_ERROR_READ |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
40 | } MsnServConnError; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
41 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
42 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
43 | * Connection types. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
44 | */ |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
45 | typedef enum |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
46 | { |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
47 | MSN_SERVCONN_NS, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
48 | MSN_SERVCONN_SB |
|
29305
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
49 | } MsnServConnType; |
| 5309 | 50 | |
|
30955
c3ff4143cc18
This include of internal maybe is needed on proxy.h because not having it causes error on it.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents:
29305
diff
changeset
|
51 | #include "internal.h" |
|
29305
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
52 | #include "proxy.h" |
|
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
53 | |
|
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
54 | #include "cmdproc.h" |
|
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
55 | #include "httpconn.h" |
|
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
56 | #include "session.h" |
|
5962
d5413616b57b
[gaim-migrate @ 6409]
Christian Hammond <chipx86@chipx86.com>
parents:
5506
diff
changeset
|
57 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
58 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
59 | * A Connection. |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
60 | */ |
| 5309 | 61 | struct _MsnServConn |
| 62 | { | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
63 | MsnServConnType type; /**< The type of this connection. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
64 | MsnSession *session; /**< The MSN session of this connection. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
65 | MsnCmdProc *cmdproc; /**< The command processor of this connection. */ |
| 5309 | 66 | |
| 15884 | 67 | PurpleProxyConnectData *connect_data; |
|
14174
1615a99529dc
[gaim-migrate @ 16746]
Mark Doliner <markdoliner@pidgin.im>
parents:
13271
diff
changeset
|
68 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
69 | gboolean connected; /**< A flag that states if it's connected. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
70 | gboolean processing; /**< A flag that states if something is working |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
71 | with this connection. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
72 | gboolean wasted; /**< A flag that states if it should be destroyed. */ |
| 5309 | 73 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
74 | char *host; /**< The host this connection is connected or should be |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
75 | connected to. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
76 | int num; /**< A number id of this connection. */ |
|
7288
486e8b44a14b
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
77 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
78 | MsnHttpConn *httpconn; /**< The HTTP connection this connection should use. */ |
| 5309 | 79 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
80 | int fd; /**< The connection's file descriptor. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
81 | int inpa; /**< The connection's input handler. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
82 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
83 | char *rx_buf; /**< The receive buffer. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
84 | int rx_len; /**< The receive buffer lenght. */ |
|
8646
74d0e7406e3b
[gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
85 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
86 | size_t payload_len; /**< The length of the payload. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
87 | It's only set when we've received a command that |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
88 | has a payload. */ |
| 5309 | 89 | |
|
34529
68cf25486001
GObjectify PurpleCircBuffer as PurpleCircularBuffer (from gobjectification branch)
Ankit Vani <a@nevitus.org>
parents:
30955
diff
changeset
|
90 | PurpleCircularBuffer *tx_buf; |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
10481
diff
changeset
|
91 | guint tx_handler; |
|
27885
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
92 | guint timeout_sec; |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
93 | guint timeout_handle; |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
10481
diff
changeset
|
94 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
95 | void (*connect_cb)(MsnServConn *); /**< The callback to call when connecting. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
96 | void (*disconnect_cb)(MsnServConn *); /**< The callback to call when disconnecting. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
97 | void (*destroy_cb)(MsnServConn *); /**< The callback to call when destroying. */ |
| 5309 | 98 | }; |
| 99 | ||
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
100 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
101 | * Creates a new connection object. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
102 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
103 | * @param session The session. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
104 | * @param type The type of the connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
105 | */ |
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8808
diff
changeset
|
106 | MsnServConn *msn_servconn_new(MsnSession *session, MsnServConnType type); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
107 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
108 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
109 | * Destroys a connection object. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
110 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
111 | * @param servconn The connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
112 | */ |
| 5309 | 113 | void msn_servconn_destroy(MsnServConn *servconn); |
| 114 | ||
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
115 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
116 | * Connects to a host. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
117 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
118 | * @param servconn The connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
119 | * @param host The host. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
120 | * @param port The port. |
|
23816
fd601d075bd0
Allow forcing an MSN HTTP connection to connect to a new server. This
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23078
diff
changeset
|
121 | * @param force Force this servconn to connect to a new server. |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
122 | */ |
|
23816
fd601d075bd0
Allow forcing an MSN HTTP connection to connect to a new server. This
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23078
diff
changeset
|
123 | gboolean msn_servconn_connect(MsnServConn *servconn, const char *host, int port, |
|
fd601d075bd0
Allow forcing an MSN HTTP connection to connect to a new server. This
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23078
diff
changeset
|
124 | gboolean force); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
125 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
126 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
127 | * Disconnects. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
128 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
129 | * @param servconn The connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
130 | */ |
| 5309 | 131 | void msn_servconn_disconnect(MsnServConn *servconn); |
| 132 | ||
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
133 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
134 | * Sets the connect callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
135 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
136 | * @param servconn The servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
137 | * @param connect_cb The connect callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
138 | */ |
| 5309 | 139 | void msn_servconn_set_connect_cb(MsnServConn *servconn, |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
140 | void (*connect_cb)(MsnServConn *)); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
141 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
142 | * Sets the disconnect callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
143 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
144 | * @param servconn The servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
145 | * @param disconnect_cb The disconnect callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
146 | */ |
|
8583
56f69df8f12f
[gaim-migrate @ 9333]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8475
diff
changeset
|
147 | void msn_servconn_set_disconnect_cb(MsnServConn *servconn, |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
148 | void (*disconnect_cb)(MsnServConn *)); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
149 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
150 | * Sets the destroy callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
151 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
152 | * @param servconn The servconn that's being destroyed. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
153 | * @param destroy_cb The destroy callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
154 | */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
155 | void msn_servconn_set_destroy_cb(MsnServConn *servconn, |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
156 | void (*destroy_cb)(MsnServConn *)); |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
157 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
158 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
159 | * Writes a chunck of data to the servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
160 | * |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
161 | * @param servconn The servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
162 | * @param buf The data to write. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
163 | * @param size The size of the data. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
164 | */ |
| 23078 | 165 | gssize msn_servconn_write(MsnServConn *servconn, const char *buf, |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
166 | size_t size); |
| 5309 | 167 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
168 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
169 | * Function to call whenever an error related to a switchboard occurs. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
170 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
171 | * @param servconn The servconn. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
172 | * @param error The error that happened. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
173 | */ |
|
27905
a50992124f03
Propagate connect errors from the MSN proxy callback to the servconn error
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27885
diff
changeset
|
174 | void msn_servconn_got_error(MsnServConn *servconn, MsnServConnError error, |
|
a50992124f03
Propagate connect errors from the MSN proxy callback to the servconn error
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27885
diff
changeset
|
175 | const char *reason); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
176 | |
|
24668
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
177 | /** |
|
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
178 | * Process the data in servconn->rx_buf. This is called after reading |
|
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
179 | * data from the socket. |
|
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
180 | * |
|
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
181 | * @param servconn The servconn. |
|
28641
6c744490832a
Donot use a servconn if it's freed. Mark a leak.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
27905
diff
changeset
|
182 | * |
|
6c744490832a
Donot use a servconn if it's freed. Mark a leak.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
27905
diff
changeset
|
183 | * @return @c NULL if servconn was destroyed, 'servconn' otherwise. |
|
24668
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
184 | */ |
|
28641
6c744490832a
Donot use a servconn if it's freed. Mark a leak.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
27905
diff
changeset
|
185 | MsnServConn *msn_servconn_process_data(MsnServConn *servconn); |
|
24668
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
186 | |
|
27885
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
187 | /** |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
188 | * Set a idle timeout fot this servconn |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
189 | * |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
190 | * @param servconn The servconn |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
191 | * @param seconds The idle timeout in seconds |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
192 | */ |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
193 | void msn_servconn_set_idle_timeout(MsnServConn *servconn, guint seconds); |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
194 | |
|
29305
202cb72ed5b0
Minor header file cleanup. Mostly I wanted to move some enums above some #includes
Mark Doliner <markdoliner@pidgin.im>
parents:
28641
diff
changeset
|
195 | #endif /* MSN_SERVCONN_H */ |