Tue, 22 Jun 2010 22:44:28 +0000
Destroy Parts when the SlpMessage is destroyed.
| 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 | |
|
8808
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8646
diff
changeset
|
27 | typedef struct _MsnServConn MsnServConn; |
|
6701
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5962
diff
changeset
|
28 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
29 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
30 | * Connection error types. |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
31 | */ |
|
8808
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8646
diff
changeset
|
32 | typedef enum |
|
1cb5ddf6b625
[gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8646
diff
changeset
|
33 | { |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
34 | MSN_SERVCONN_ERROR_NONE, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
35 | MSN_SERVCONN_ERROR_CONNECT, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
36 | 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
|
37 | MSN_SERVCONN_ERROR_READ |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
38 | } MsnServConnError; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
39 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
40 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
41 | * Connection types. |
|
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 | typedef enum |
|
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 | MSN_SERVCONN_NS, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
46 | 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
|
47 | } MsnServConnType; |
| 5309 | 48 | |
|
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
|
49 | #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
|
50 | #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
|
51 | |
|
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 "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
|
53 | #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
|
54 | #include "session.h" |
|
5962
d5413616b57b
[gaim-migrate @ 6409]
Christian Hammond <chipx86@chipx86.com>
parents:
5506
diff
changeset
|
55 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
56 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
57 | * A Connection. |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
58 | */ |
| 5309 | 59 | struct _MsnServConn |
| 60 | { | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
61 | MsnServConnType type; /**< The type of this connection. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
62 | MsnSession *session; /**< The MSN session of this connection. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
63 | MsnCmdProc *cmdproc; /**< The command processor of this connection. */ |
| 5309 | 64 | |
| 15884 | 65 | PurpleProxyConnectData *connect_data; |
|
14174
1615a99529dc
[gaim-migrate @ 16746]
Mark Doliner <markdoliner@pidgin.im>
parents:
13271
diff
changeset
|
66 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
67 | gboolean connected; /**< A flag that states if it's connected. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
68 | gboolean processing; /**< A flag that states if something is working |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
69 | with this connection. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
70 | gboolean wasted; /**< A flag that states if it should be destroyed. */ |
| 5309 | 71 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
72 | 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
|
73 | connected to. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
74 | int num; /**< A number id of this connection. */ |
|
7288
486e8b44a14b
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
75 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
76 | MsnHttpConn *httpconn; /**< The HTTP connection this connection should use. */ |
| 5309 | 77 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
78 | int fd; /**< The connection's file descriptor. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
79 | int inpa; /**< The connection's input handler. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
80 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
81 | char *rx_buf; /**< The receive buffer. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
82 | int rx_len; /**< The receive buffer lenght. */ |
|
8646
74d0e7406e3b
[gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8583
diff
changeset
|
83 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
84 | size_t payload_len; /**< The length of the payload. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
85 | 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
|
86 | has a payload. */ |
| 5309 | 87 | |
| 15884 | 88 | PurpleCircBuffer *tx_buf; |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
10481
diff
changeset
|
89 | 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
|
90 | 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
|
91 | guint timeout_handle; |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
10481
diff
changeset
|
92 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
93 | void (*connect_cb)(MsnServConn *); /**< The callback to call when connecting. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
94 | void (*disconnect_cb)(MsnServConn *); /**< The callback to call when disconnecting. */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
95 | void (*destroy_cb)(MsnServConn *); /**< The callback to call when destroying. */ |
| 5309 | 96 | }; |
| 97 | ||
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
98 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
99 | * Creates a new connection object. |
|
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 | * @param session The session. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
102 | * @param type The type of the connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
103 | */ |
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8808
diff
changeset
|
104 | MsnServConn *msn_servconn_new(MsnSession *session, MsnServConnType type); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
105 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
106 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
107 | * Destroys a connection object. |
|
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 | * @param servconn The connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
110 | */ |
| 5309 | 111 | void msn_servconn_destroy(MsnServConn *servconn); |
| 112 | ||
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
113 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
114 | * Connects to a host. |
|
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 | * @param servconn The connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
117 | * @param host The host. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
118 | * @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
|
119 | * @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
|
120 | */ |
|
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 | 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
|
122 | gboolean force); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
123 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
124 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
125 | * Disconnects. |
|
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 | * @param servconn The connection. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
128 | */ |
| 5309 | 129 | void msn_servconn_disconnect(MsnServConn *servconn); |
| 130 | ||
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
131 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
132 | * Sets the connect callback. |
|
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 | * @param servconn The servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
135 | * @param connect_cb The connect callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
136 | */ |
| 5309 | 137 | void msn_servconn_set_connect_cb(MsnServConn *servconn, |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
138 | void (*connect_cb)(MsnServConn *)); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
139 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
140 | * Sets the disconnect callback. |
|
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 | * @param servconn The servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
143 | * @param disconnect_cb The disconnect callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
144 | */ |
|
8583
56f69df8f12f
[gaim-migrate @ 9333]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8475
diff
changeset
|
145 | void msn_servconn_set_disconnect_cb(MsnServConn *servconn, |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
146 | void (*disconnect_cb)(MsnServConn *)); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
147 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
148 | * Sets the destroy callback. |
|
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 | * @param servconn The servconn that's being destroyed. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
151 | * @param destroy_cb The destroy callback. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
152 | */ |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
153 | void msn_servconn_set_destroy_cb(MsnServConn *servconn, |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
154 | void (*destroy_cb)(MsnServConn *)); |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
155 | |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
156 | /** |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
157 | * Writes a chunck of data to the servconn. |
|
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 | * @param servconn The servconn. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
160 | * @param buf The data to write. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
161 | * @param size The size of the data. |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
162 | */ |
| 23078 | 163 | gssize msn_servconn_write(MsnServConn *servconn, const char *buf, |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10225
diff
changeset
|
164 | size_t size); |
| 5309 | 165 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
166 | /** |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
167 | * 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
|
168 | * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
169 | * @param servconn The servconn. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
170 | * @param error The error that happened. |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
171 | */ |
|
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
|
172 | 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
|
173 | const char *reason); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
174 | |
|
24668
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
175 | /** |
|
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
176 | * 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
|
177 | * 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
|
178 | * |
|
853a6d533d60
Separate the parsing of data into a separate function from the reading of
Mark Doliner <markdoliner@pidgin.im>
parents:
23816
diff
changeset
|
179 | * @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
|
180 | * |
|
6c744490832a
Donot use a servconn if it's freed. Mark a leak.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
27905
diff
changeset
|
181 | * @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
|
182 | */ |
|
28641
6c744490832a
Donot use a servconn if it's freed. Mark a leak.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
27905
diff
changeset
|
183 | 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
|
184 | |
|
27885
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
185 | /** |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
186 | * 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
|
187 | * |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
188 | * @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
|
189 | * @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
|
190 | */ |
|
71d85d19eded
Timeout switchboard connections at 60 seconds, should Fixes #3330 for most
Ka-Hing Cheung <khc@pidgin.im>
parents:
25105
diff
changeset
|
191 | 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
|
192 | |
|
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
|
193 | #endif /* MSN_SERVCONN_H */ |