Update to version 2.33.1
[profile/ivi/glib2.git] / docs / reference / gio / html / GSocketClient.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GSocketClient</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GIO Reference Manual">
8 <link rel="up" href="highlevel-socket.html" title="High-level network functionallity">
9 <link rel="prev" href="highlevel-socket.html" title="High-level network functionallity">
10 <link rel="next" href="GSocketConnection.html" title="GSocketConnection">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="highlevel-socket.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="highlevel-socket.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GIO Reference Manual</th>
21 <td><a accesskey="n" href="GSocketConnection.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GSocketClient.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#GSocketClient.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#GSocketClient.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#GSocketClient.properties" class="shortcut">Properties</a>
31                    | 
32                   <a href="#GSocketClient.signals" class="shortcut">Signals</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="GSocketClient"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="GSocketClient.top_of_page"></a>GSocketClient</span></h2>
40 <p>GSocketClient — Helper for connecting to a network service</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="GSocketClient.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis">
47 #include &lt;gio/gio.h&gt;
48
49                     <a class="link" href="GSocketClient.html#GSocketClient-struct" title="GSocketClient">GSocketClient</a>;
50 enum                <a class="link" href="GSocketClient.html#GSocketClientEvent" title="enum GSocketClientEvent">GSocketClientEvent</a>;
51 <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="returnvalue">GSocketClient</span></a> *     <a class="link" href="GSocketClient.html#g-socket-client-new" title="g_socket_client_new ()">g_socket_client_new</a>                 (<em class="parameter"><code><span class="type">void</span></code></em>);
52 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect" title="g_socket_client_connect ()">g_socket_client_connect</a>             (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
53                                                          <em class="parameter"><code><a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> *connectable</code></em>,
54                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
55                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
56 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-connect-async" title="g_socket_client_connect_async ()">g_socket_client_connect_async</a>       (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
57                                                          <em class="parameter"><code><a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> *connectable</code></em>,
58                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
59                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
60                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
61 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-finish" title="g_socket_client_connect_finish ()">g_socket_client_connect_finish</a>      (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
62                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
63                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
64 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host" title="g_socket_client_connect_to_host ()">g_socket_client_connect_to_host</a>     (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
65                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host_and_port</code></em>,
66                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
67                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
68                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
69 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host-async" title="g_socket_client_connect_to_host_async ()">g_socket_client_connect_to_host_async</a>
70                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
71                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host_and_port</code></em>,
72                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
73                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
74                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
75                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
76 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host-finish" title="g_socket_client_connect_to_host_finish ()">g_socket_client_connect_to_host_finish</a>
77                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
78                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
79                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
80 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-to-service" title="g_socket_client_connect_to_service ()">g_socket_client_connect_to_service</a>  (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
81                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *domain</code></em>,
82                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *service</code></em>,
83                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
84                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
85 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-connect-to-service-async" title="g_socket_client_connect_to_service_async ()">g_socket_client_connect_to_service_async</a>
86                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
87                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *domain</code></em>,
88                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *service</code></em>,
89                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
90                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
91                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
92 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-to-service-finish" title="g_socket_client_connect_to_service_finish ()">g_socket_client_connect_to_service_finish</a>
93                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
94                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
95                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
96 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-to-uri" title="g_socket_client_connect_to_uri ()">g_socket_client_connect_to_uri</a>      (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
97                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
98                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
99                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
100                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
101 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-connect-to-uri-async" title="g_socket_client_connect_to_uri_async ()">g_socket_client_connect_to_uri_async</a>
102                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
103                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
104                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
105                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
106                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
107                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
108 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * <a class="link" href="GSocketClient.html#g-socket-client-connect-to-uri-finish" title="g_socket_client_connect_to_uri_finish ()">g_socket_client_connect_to_uri_finish</a>
109                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
110                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
111                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
112 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-family" title="g_socket_client_set_family ()">g_socket_client_set_family</a>          (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
113                                                          <em class="parameter"><code><a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a> family</code></em>);
114 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-local-address" title="g_socket_client_set_local_address ()">g_socket_client_set_local_address</a>   (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
115                                                          <em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>);
116 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-protocol" title="g_socket_client_set_protocol ()">g_socket_client_set_protocol</a>        (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
117                                                          <em class="parameter"><code><a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> protocol</code></em>);
118 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-socket-type" title="g_socket_client_set_socket_type ()">g_socket_client_set_socket_type</a>     (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
119                                                          <em class="parameter"><code><a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a> type</code></em>);
120 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-timeout" title="g_socket_client_set_timeout ()">g_socket_client_set_timeout</a>         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
121                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>);
122 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-enable-proxy" title="g_socket_client_set_enable_proxy ()">g_socket_client_set_enable_proxy</a>    (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
123                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enable</code></em>);
124 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-tls" title="g_socket_client_set_tls ()">g_socket_client_set_tls</a>             (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
125                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> tls</code></em>);
126 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-set-tls-validation-flags" title="g_socket_client_set_tls_validation_flags ()">g_socket_client_set_tls_validation_flags</a>
127                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
128                                                          <em class="parameter"><code><a class="link" href="gio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a> flags</code></em>);
129 <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="returnvalue">GSocketFamily</span></a>       <a class="link" href="GSocketClient.html#g-socket-client-get-family" title="g_socket_client_get_family ()">g_socket_client_get_family</a>          (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
130 <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> *    <a class="link" href="GSocketClient.html#g-socket-client-get-local-address" title="g_socket_client_get_local_address ()">g_socket_client_get_local_address</a>   (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
131 <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="returnvalue">GSocketProtocol</span></a>     <a class="link" href="GSocketClient.html#g-socket-client-get-protocol" title="g_socket_client_get_protocol ()">g_socket_client_get_protocol</a>        (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
132 <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="returnvalue">GSocketType</span></a>         <a class="link" href="GSocketClient.html#g-socket-client-get-socket-type" title="g_socket_client_get_socket_type ()">g_socket_client_get_socket_type</a>     (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
133 <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="GSocketClient.html#g-socket-client-get-timeout" title="g_socket_client_get_timeout ()">g_socket_client_get_timeout</a>         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
134 <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSocketClient.html#g-socket-client-get-enable-proxy" title="g_socket_client_get_enable_proxy ()">g_socket_client_get_enable_proxy</a>    (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
135 <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSocketClient.html#g-socket-client-get-tls" title="g_socket_client_get_tls ()">g_socket_client_get_tls</a>             (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
136 <a class="link" href="gio-TLS-Overview.html#GTlsCertificateFlags"><span class="returnvalue">GTlsCertificateFlags</span></a> <a class="link" href="GSocketClient.html#g-socket-client-get-tls-validation-flags" title="g_socket_client_get_tls_validation_flags ()">g_socket_client_get_tls_validation_flags</a>
137                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);
138 <span class="returnvalue">void</span>                <a class="link" href="GSocketClient.html#g-socket-client-add-application-proxy" title="g_socket_client_add_application_proxy ()">g_socket_client_add_application_proxy</a>
139                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
140                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);
141 </pre>
142 </div>
143 <div class="refsect1">
144 <a name="GSocketClient.object-hierarchy"></a><h2>Object Hierarchy</h2>
145 <pre class="synopsis">
146   <a href="./../gobject/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
147    +----GSocketClient
148 </pre>
149 </div>
150 <div class="refsect1">
151 <a name="GSocketClient.properties"></a><h2>Properties</h2>
152 <pre class="synopsis">
153   "<a class="link" href="GSocketClient.html#GSocketClient--enable-proxy" title='The "enable-proxy" property'>enable-proxy</a>"             <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct
154   "<a class="link" href="GSocketClient.html#GSocketClient--family" title='The "family" property'>family</a>"                   <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a>         : Read / Write / Construct
155   "<a class="link" href="GSocketClient.html#GSocketClient--local-address" title='The "local-address" property'>local-address</a>"            <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>*       : Read / Write / Construct
156   "<a class="link" href="GSocketClient.html#GSocketClient--protocol" title='The "protocol" property'>protocol</a>"                 <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a>       : Read / Write / Construct
157   "<a class="link" href="GSocketClient.html#GSocketClient--timeout" title='The "timeout" property'>timeout</a>"                  <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write / Construct
158   "<a class="link" href="GSocketClient.html#GSocketClient--tls" title='The "tls" property'>tls</a>"                      <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct
159   "<a class="link" href="GSocketClient.html#GSocketClient--tls-validation-flags" title='The "tls-validation-flags" property'>tls-validation-flags</a>"     <a class="link" href="gio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a>  : Read / Write / Construct
160   "<a class="link" href="GSocketClient.html#GSocketClient--type" title='The "type" property'>type</a>"                     <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a>           : Read / Write / Construct
161 </pre>
162 </div>
163 <div class="refsect1">
164 <a name="GSocketClient.signals"></a><h2>Signals</h2>
165 <pre class="synopsis">
166   "<a class="link" href="GSocketClient.html#GSocketClient-event" title='The "event" signal'>event</a>"                                          : <a href="./../gobject/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
167 </pre>
168 </div>
169 <div class="refsect1">
170 <a name="GSocketClient.description"></a><h2>Description</h2>
171 <p>
172 <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> is a lightweight high-level utility class for connecting to
173 a network host using a connection oriented socket type.
174 </p>
175 <p>
176 You create a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> object, set any options you want, and then
177 call a sync or async connect operation, which returns a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>
178 subclass on success.
179 </p>
180 <p>
181 The type of the <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> object returned depends on the type of
182 the underlying socket that is in use. For instance, for a TCP/IP connection
183 it will be a <a class="link" href="GTcpConnection.html" title="GTcpConnection"><span class="type">GTcpConnection</span></a>.
184 </p>
185 <p>
186 As <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> is a lightweight object, you don't need to cache it. You
187 can just create a new one any time you need one.
188 </p>
189 </div>
190 <div class="refsect1">
191 <a name="GSocketClient.details"></a><h2>Details</h2>
192 <div class="refsect2">
193 <a name="GSocketClient-struct"></a><h3>GSocketClient</h3>
194 <pre class="programlisting">typedef struct _GSocketClient GSocketClient;</pre>
195 <p>
196 A helper class for network clients to make connections.
197 </p>
198 <p class="since">Since 2.22</p>
199 </div>
200 <hr>
201 <div class="refsect2">
202 <a name="GSocketClientEvent"></a><h3>enum GSocketClientEvent</h3>
203 <pre class="programlisting">typedef enum {
204   G_SOCKET_CLIENT_RESOLVING,
205   G_SOCKET_CLIENT_RESOLVED,
206   G_SOCKET_CLIENT_CONNECTING,
207   G_SOCKET_CLIENT_CONNECTED,
208   G_SOCKET_CLIENT_PROXY_NEGOTIATING,
209   G_SOCKET_CLIENT_PROXY_NEGOTIATED,
210   G_SOCKET_CLIENT_TLS_HANDSHAKING,
211   G_SOCKET_CLIENT_TLS_HANDSHAKED,
212   G_SOCKET_CLIENT_COMPLETE
213 } GSocketClientEvent;
214 </pre>
215 <p>
216 Describes an event occurring on a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>. See the
217 <a class="link" href="GSocketClient.html#GSocketClient-event" title='The "event" signal'><span class="type">"event"</span></a> signal for more details.
218 </p>
219 <p>
220 Additional values may be added to this type in the future.
221 </p>
222 <div class="variablelist"><table border="0">
223 <col align="left" valign="top">
224 <tbody>
225 <tr>
226 <td><p><a name="G-SOCKET-CLIENT-RESOLVING:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_RESOLVING</code></span></p></td>
227 <td>The client is doing a DNS lookup.
228 </td>
229 </tr>
230 <tr>
231 <td><p><a name="G-SOCKET-CLIENT-RESOLVED:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_RESOLVED</code></span></p></td>
232 <td>The client has completed a DNS lookup.
233 </td>
234 </tr>
235 <tr>
236 <td><p><a name="G-SOCKET-CLIENT-CONNECTING:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_CONNECTING</code></span></p></td>
237 <td>The client is connecting to a remote
238   host (either a proxy or the destination server).
239 </td>
240 </tr>
241 <tr>
242 <td><p><a name="G-SOCKET-CLIENT-CONNECTED:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_CONNECTED</code></span></p></td>
243 <td>The client has connected to a remote
244   host.
245 </td>
246 </tr>
247 <tr>
248 <td><p><a name="G-SOCKET-CLIENT-PROXY-NEGOTIATING:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_PROXY_NEGOTIATING</code></span></p></td>
249 <td>The client is negotiating
250   with a proxy to connect to the destination server.
251 </td>
252 </tr>
253 <tr>
254 <td><p><a name="G-SOCKET-CLIENT-PROXY-NEGOTIATED:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_PROXY_NEGOTIATED</code></span></p></td>
255 <td>The client has negotiated
256   with the proxy server.
257 </td>
258 </tr>
259 <tr>
260 <td><p><a name="G-SOCKET-CLIENT-TLS-HANDSHAKING:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_TLS_HANDSHAKING</code></span></p></td>
261 <td>The client is performing a
262   TLS handshake.
263 </td>
264 </tr>
265 <tr>
266 <td><p><a name="G-SOCKET-CLIENT-TLS-HANDSHAKED:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_TLS_HANDSHAKED</code></span></p></td>
267 <td>The client has performed a
268   TLS handshake.
269 </td>
270 </tr>
271 <tr>
272 <td><p><a name="G-SOCKET-CLIENT-COMPLETE:CAPS"></a><span class="term"><code class="literal">G_SOCKET_CLIENT_COMPLETE</code></span></p></td>
273 <td>The client is done with a particular
274   <a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a>.
275 </td>
276 </tr>
277 </tbody>
278 </table></div>
279 <p class="since">Since 2.32</p>
280 </div>
281 <hr>
282 <div class="refsect2">
283 <a name="g-socket-client-new"></a><h3>g_socket_client_new ()</h3>
284 <pre class="programlisting"><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="returnvalue">GSocketClient</span></a> *     g_socket_client_new                 (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
285 <p>
286 Creates a new <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> with the default options.
287 </p>
288 <div class="variablelist"><table border="0">
289 <col align="left" valign="top">
290 <tbody><tr>
291 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
292 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.
293 Free the returned object with <a href="./../gobject/gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.</td>
294 </tr></tbody>
295 </table></div>
296 <p class="since">Since 2.22</p>
297 </div>
298 <hr>
299 <div class="refsect2">
300 <a name="g-socket-client-connect"></a><h3>g_socket_client_connect ()</h3>
301 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect             (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
302                                                          <em class="parameter"><code><a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> *connectable</code></em>,
303                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
304                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
305 <p>
306 Tries to resolve the <em class="parameter"><code>connectable</code></em> and make a network connection to it.
307 </p>
308 <p>
309 Upon a successful connection, a new <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> is constructed
310 and returned.  The caller owns this new object and must drop their
311 reference to it when finished with it.
312 </p>
313 <p>
314 The type of the <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> object returned depends on the type of
315 the underlying socket that is used. For instance, for a TCP/IP connection
316 it will be a <a class="link" href="GTcpConnection.html" title="GTcpConnection"><span class="type">GTcpConnection</span></a>.
317 </p>
318 <p>
319 The socket created will be the same family as the address that the
320 <em class="parameter"><code>connectable</code></em> resolves to, unless family is set with <a class="link" href="GSocketClient.html#g-socket-client-set-family" title="g_socket_client_set_family ()"><code class="function">g_socket_client_set_family()</code></a>
321 or indirectly via <a class="link" href="GSocketClient.html#g-socket-client-set-local-address" title="g_socket_client_set_local_address ()"><code class="function">g_socket_client_set_local_address()</code></a>. The socket type
322 defaults to <a class="link" href="GSocket.html#G-SOCKET-TYPE-STREAM:CAPS"><code class="literal">G_SOCKET_TYPE_STREAM</code></a> but can be set with
323 <a class="link" href="GSocketClient.html#g-socket-client-set-socket-type" title="g_socket_client_set_socket_type ()"><code class="function">g_socket_client_set_socket_type()</code></a>.
324 </p>
325 <p>
326 If a local address is specified with <a class="link" href="GSocketClient.html#g-socket-client-set-local-address" title="g_socket_client_set_local_address ()"><code class="function">g_socket_client_set_local_address()</code></a> the
327 socket will be bound to this address before connecting.
328 </p>
329 <div class="variablelist"><table border="0">
330 <col align="left" valign="top">
331 <tbody>
332 <tr>
333 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
334 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
335 </tr>
336 <tr>
337 <td><p><span class="term"><em class="parameter"><code>connectable</code></em> :</span></p></td>
338 <td>a <a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> specifying the remote address.</td>
339 </tr>
340 <tr>
341 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
342 <td>optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
343 </td>
344 </tr>
345 <tr>
346 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
347 <td>
348 <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for error reporting, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore.</td>
349 </tr>
350 <tr>
351 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
352 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
353 </td>
354 </tr>
355 </tbody>
356 </table></div>
357 <p class="since">Since 2.22</p>
358 </div>
359 <hr>
360 <div class="refsect2">
361 <a name="g-socket-client-connect-async"></a><h3>g_socket_client_connect_async ()</h3>
362 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_connect_async       (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
363                                                          <em class="parameter"><code><a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> *connectable</code></em>,
364                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
365                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
366                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
367 <p>
368 This is the asynchronous version of <a class="link" href="GSocketClient.html#g-socket-client-connect" title="g_socket_client_connect ()"><code class="function">g_socket_client_connect()</code></a>.
369 </p>
370 <p>
371 When the operation is finished <em class="parameter"><code>callback</code></em> will be
372 called. You can then call <a class="link" href="GSocketClient.html#g-socket-client-connect-finish" title="g_socket_client_connect_finish ()"><code class="function">g_socket_client_connect_finish()</code></a> to get
373 the result of the operation.
374 </p>
375 <div class="variablelist"><table border="0">
376 <col align="left" valign="top">
377 <tbody>
378 <tr>
379 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
380 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
381 </td>
382 </tr>
383 <tr>
384 <td><p><span class="term"><em class="parameter"><code>connectable</code></em> :</span></p></td>
385 <td>a <a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> specifying the remote address.</td>
386 </tr>
387 <tr>
388 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
389 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
390 </td>
391 </tr>
392 <tr>
393 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
394 <td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
395 </td>
396 </tr>
397 <tr>
398 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
399 <td>user data for the callback. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
400 </td>
401 </tr>
402 </tbody>
403 </table></div>
404 <p class="since">Since 2.22</p>
405 </div>
406 <hr>
407 <div class="refsect2">
408 <a name="g-socket-client-connect-finish"></a><h3>g_socket_client_connect_finish ()</h3>
409 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_finish      (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
410                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
411                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
412 <p>
413 Finishes an async connect operation. See <a class="link" href="GSocketClient.html#g-socket-client-connect-async" title="g_socket_client_connect_async ()"><code class="function">g_socket_client_connect_async()</code></a>
414 </p>
415 <div class="variablelist"><table border="0">
416 <col align="left" valign="top">
417 <tbody>
418 <tr>
419 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
420 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
421 </tr>
422 <tr>
423 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
424 <td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.</td>
425 </tr>
426 <tr>
427 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
428 <td>a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occurring, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
429 ignore.</td>
430 </tr>
431 <tr>
432 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
433 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
434 </td>
435 </tr>
436 </tbody>
437 </table></div>
438 <p class="since">Since 2.22</p>
439 </div>
440 <hr>
441 <div class="refsect2">
442 <a name="g-socket-client-connect-to-host"></a><h3>g_socket_client_connect_to_host ()</h3>
443 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_to_host     (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
444                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host_and_port</code></em>,
445                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
446                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
447                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
448 <p>
449 This is a helper function for <a class="link" href="GSocketClient.html#g-socket-client-connect" title="g_socket_client_connect ()"><code class="function">g_socket_client_connect()</code></a>.
450 </p>
451 <p>
452 Attempts to create a TCP connection to the named host.
453 </p>
454 <p>
455 <em class="parameter"><code>host_and_port</code></em> may be in any of a number of recognized formats; an IPv6
456 address, an IPv4 address, or a domain name (in which case a DNS
457 lookup is performed).  Quoting with [] is supported for all address
458 types.  A port override may be specified in the usual way with a
459 colon.  Ports may be given as decimal numbers or symbolic names (in
460 which case an /etc/services lookup is performed).
461 </p>
462 <p>
463 If no port override is given in <em class="parameter"><code>host_and_port</code></em> then <em class="parameter"><code>default_port</code></em> will be
464 used as the port number to connect to.
465 </p>
466 <p>
467 In general, <em class="parameter"><code>host_and_port</code></em> is expected to be provided by the user (allowing
468 them to give the hostname, and a port override if necessary) and
469 <em class="parameter"><code>default_port</code></em> is expected to be provided by the application.
470 </p>
471 <p>
472 In the case that an IP address is given, a single connection
473 attempt is made.  In the case that a name is given, multiple
474 connection attempts may be made, in turn and according to the
475 number of address records in DNS, until a connection succeeds.
476 </p>
477 <p>
478 Upon a successful connection, a new <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> is constructed
479 and returned.  The caller owns this new object and must drop their
480 reference to it when finished with it.
481 </p>
482 <p>
483 In the event of any failure (DNS error, service not found, no hosts
484 connectable) <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned and <em class="parameter"><code>error</code></em> (if non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) is set
485 accordingly.
486 </p>
487 <div class="variablelist"><table border="0">
488 <col align="left" valign="top">
489 <tbody>
490 <tr>
491 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
492 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
493 </td>
494 </tr>
495 <tr>
496 <td><p><span class="term"><em class="parameter"><code>host_and_port</code></em> :</span></p></td>
497 <td>the name and optionally port of the host to connect to</td>
498 </tr>
499 <tr>
500 <td><p><span class="term"><em class="parameter"><code>default_port</code></em> :</span></p></td>
501 <td>the default port to connect to</td>
502 </tr>
503 <tr>
504 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
505 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
506 </td>
507 </tr>
508 <tr>
509 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
510 <td>a pointer to a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
511 </td>
512 </tr>
513 <tr>
514 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
515 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
516 </td>
517 </tr>
518 </tbody>
519 </table></div>
520 <p class="since">Since 2.22</p>
521 </div>
522 <hr>
523 <div class="refsect2">
524 <a name="g-socket-client-connect-to-host-async"></a><h3>g_socket_client_connect_to_host_async ()</h3>
525 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_connect_to_host_async
526                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
527                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host_and_port</code></em>,
528                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
529                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
530                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
531                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
532 <p>
533 This is the asynchronous version of <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host" title="g_socket_client_connect_to_host ()"><code class="function">g_socket_client_connect_to_host()</code></a>.
534 </p>
535 <p>
536 When the operation is finished <em class="parameter"><code>callback</code></em> will be
537 called. You can then call <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host-finish" title="g_socket_client_connect_to_host_finish ()"><code class="function">g_socket_client_connect_to_host_finish()</code></a> to get
538 the result of the operation.
539 </p>
540 <div class="variablelist"><table border="0">
541 <col align="left" valign="top">
542 <tbody>
543 <tr>
544 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
545 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
546 </td>
547 </tr>
548 <tr>
549 <td><p><span class="term"><em class="parameter"><code>host_and_port</code></em> :</span></p></td>
550 <td>the name and optionally the port of the host to connect to</td>
551 </tr>
552 <tr>
553 <td><p><span class="term"><em class="parameter"><code>default_port</code></em> :</span></p></td>
554 <td>the default port to connect to</td>
555 </tr>
556 <tr>
557 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
558 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
559 </td>
560 </tr>
561 <tr>
562 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
563 <td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
564 </td>
565 </tr>
566 <tr>
567 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
568 <td>user data for the callback. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
569 </td>
570 </tr>
571 </tbody>
572 </table></div>
573 <p class="since">Since 2.22</p>
574 </div>
575 <hr>
576 <div class="refsect2">
577 <a name="g-socket-client-connect-to-host-finish"></a><h3>g_socket_client_connect_to_host_finish ()</h3>
578 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_to_host_finish
579                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
580                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
581                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
582 <p>
583 Finishes an async connect operation. See <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host-async" title="g_socket_client_connect_to_host_async ()"><code class="function">g_socket_client_connect_to_host_async()</code></a>
584 </p>
585 <div class="variablelist"><table border="0">
586 <col align="left" valign="top">
587 <tbody>
588 <tr>
589 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
590 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
591 </tr>
592 <tr>
593 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
594 <td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.</td>
595 </tr>
596 <tr>
597 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
598 <td>a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occurring, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
599 ignore.</td>
600 </tr>
601 <tr>
602 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
603 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
604 </td>
605 </tr>
606 </tbody>
607 </table></div>
608 <p class="since">Since 2.22</p>
609 </div>
610 <hr>
611 <div class="refsect2">
612 <a name="g-socket-client-connect-to-service"></a><h3>g_socket_client_connect_to_service ()</h3>
613 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_to_service  (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
614                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *domain</code></em>,
615                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *service</code></em>,
616                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
617                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
618 <p>
619 Attempts to create a TCP connection to a service.
620 </p>
621 <p>
622 This call looks up the SRV record for <em class="parameter"><code>service</code></em> at <em class="parameter"><code>domain</code></em> for the
623 "tcp" protocol.  It then attempts to connect, in turn, to each of
624 the hosts providing the service until either a connection succeeds
625 or there are no hosts remaining.
626 </p>
627 <p>
628 Upon a successful connection, a new <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> is constructed
629 and returned.  The caller owns this new object and must drop their
630 reference to it when finished with it.
631 </p>
632 <p>
633 In the event of any failure (DNS error, service not found, no hosts
634 connectable) <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned and <em class="parameter"><code>error</code></em> (if non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) is set
635 accordingly.
636 </p>
637 <div class="variablelist"><table border="0">
638 <col align="left" valign="top">
639 <tbody>
640 <tr>
641 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
642 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>
643 </td>
644 </tr>
645 <tr>
646 <td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
647 <td>a domain name</td>
648 </tr>
649 <tr>
650 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
651 <td>the name of the service to connect to</td>
652 </tr>
653 <tr>
654 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
655 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
656 </td>
657 </tr>
658 <tr>
659 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
660 <td>a pointer to a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
661 </td>
662 </tr>
663 <tr>
664 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
665 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> if successful, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
666 </td>
667 </tr>
668 </tbody>
669 </table></div>
670 </div>
671 <hr>
672 <div class="refsect2">
673 <a name="g-socket-client-connect-to-service-async"></a><h3>g_socket_client_connect_to_service_async ()</h3>
674 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_connect_to_service_async
675                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
676                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *domain</code></em>,
677                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *service</code></em>,
678                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
679                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
680                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
681 <p>
682 This is the asynchronous version of
683 <a class="link" href="GSocketClient.html#g-socket-client-connect-to-service" title="g_socket_client_connect_to_service ()"><code class="function">g_socket_client_connect_to_service()</code></a>.
684 </p>
685 <div class="variablelist"><table border="0">
686 <col align="left" valign="top">
687 <tbody>
688 <tr>
689 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
690 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
691 </td>
692 </tr>
693 <tr>
694 <td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
695 <td>a domain name</td>
696 </tr>
697 <tr>
698 <td><p><span class="term"><em class="parameter"><code>service</code></em> :</span></p></td>
699 <td>the name of the service to connect to</td>
700 </tr>
701 <tr>
702 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
703 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
704 </td>
705 </tr>
706 <tr>
707 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
708 <td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
709 </td>
710 </tr>
711 <tr>
712 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
713 <td>user data for the callback. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
714 </td>
715 </tr>
716 </tbody>
717 </table></div>
718 <p class="since">Since 2.22</p>
719 </div>
720 <hr>
721 <div class="refsect2">
722 <a name="g-socket-client-connect-to-service-finish"></a><h3>g_socket_client_connect_to_service_finish ()</h3>
723 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_to_service_finish
724                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
725                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
726                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
727 <p>
728 Finishes an async connect operation. See <a class="link" href="GSocketClient.html#g-socket-client-connect-to-service-async" title="g_socket_client_connect_to_service_async ()"><code class="function">g_socket_client_connect_to_service_async()</code></a>
729 </p>
730 <div class="variablelist"><table border="0">
731 <col align="left" valign="top">
732 <tbody>
733 <tr>
734 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
735 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
736 </tr>
737 <tr>
738 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
739 <td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.</td>
740 </tr>
741 <tr>
742 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
743 <td>a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occurring, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
744 ignore.</td>
745 </tr>
746 <tr>
747 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
748 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
749 </td>
750 </tr>
751 </tbody>
752 </table></div>
753 <p class="since">Since 2.22</p>
754 </div>
755 <hr>
756 <div class="refsect2">
757 <a name="g-socket-client-connect-to-uri"></a><h3>g_socket_client_connect_to_uri ()</h3>
758 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_to_uri      (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
759                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
760                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
761                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
762                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
763 <p>
764 This is a helper function for <a class="link" href="GSocketClient.html#g-socket-client-connect" title="g_socket_client_connect ()"><code class="function">g_socket_client_connect()</code></a>.
765 </p>
766 <p>
767 Attempts to create a TCP connection with a network URI.
768 </p>
769 <p>
770 <em class="parameter"><code>uri</code></em> may be any valid URI containing an "authority" (hostname/port)
771 component. If a port is not specified in the URI, <em class="parameter"><code>default_port</code></em>
772 will be used. TLS will be negotiated if <a class="link" href="GSocketClient.html#GSocketClient--tls" title='The "tls" property'><span class="type">"tls"</span></a> is <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
773 (<a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> does not know to automatically assume TLS for
774 certain URI schemes.)
775 </p>
776 <p>
777 Using this rather than <a class="link" href="GSocketClient.html#g-socket-client-connect" title="g_socket_client_connect ()"><code class="function">g_socket_client_connect()</code></a> or
778 <a class="link" href="GSocketClient.html#g-socket-client-connect-to-host" title="g_socket_client_connect_to_host ()"><code class="function">g_socket_client_connect_to_host()</code></a> allows <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> to
779 determine when to use application-specific proxy protocols.
780 </p>
781 <p>
782 Upon a successful connection, a new <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> is constructed
783 and returned.  The caller owns this new object and must drop their
784 reference to it when finished with it.
785 </p>
786 <p>
787 In the event of any failure (DNS error, service not found, no hosts
788 connectable) <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned and <em class="parameter"><code>error</code></em> (if non-<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) is set
789 accordingly.
790 </p>
791 <div class="variablelist"><table border="0">
792 <col align="left" valign="top">
793 <tbody>
794 <tr>
795 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
796 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
797 </td>
798 </tr>
799 <tr>
800 <td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
801 <td>A network URI</td>
802 </tr>
803 <tr>
804 <td><p><span class="term"><em class="parameter"><code>default_port</code></em> :</span></p></td>
805 <td>the default port to connect to</td>
806 </tr>
807 <tr>
808 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
809 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
810 </td>
811 </tr>
812 <tr>
813 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
814 <td>a pointer to a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
815 </td>
816 </tr>
817 <tr>
818 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
819 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
820 </td>
821 </tr>
822 </tbody>
823 </table></div>
824 <p class="since">Since 2.26</p>
825 </div>
826 <hr>
827 <div class="refsect2">
828 <a name="g-socket-client-connect-to-uri-async"></a><h3>g_socket_client_connect_to_uri_async ()</h3>
829 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_connect_to_uri_async
830                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
831                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>,
832                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> default_port</code></em>,
833                                                          <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>,
834                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
835                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
836 <p>
837 This is the asynchronous version of <a class="link" href="GSocketClient.html#g-socket-client-connect-to-uri" title="g_socket_client_connect_to_uri ()"><code class="function">g_socket_client_connect_to_uri()</code></a>.
838 </p>
839 <p>
840 When the operation is finished <em class="parameter"><code>callback</code></em> will be
841 called. You can then call <a class="link" href="GSocketClient.html#g-socket-client-connect-to-uri-finish" title="g_socket_client_connect_to_uri_finish ()"><code class="function">g_socket_client_connect_to_uri_finish()</code></a> to get
842 the result of the operation.
843 </p>
844 <div class="variablelist"><table border="0">
845 <col align="left" valign="top">
846 <tbody>
847 <tr>
848 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
849 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
850 </td>
851 </tr>
852 <tr>
853 <td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
854 <td>a network uri</td>
855 </tr>
856 <tr>
857 <td><p><span class="term"><em class="parameter"><code>default_port</code></em> :</span></p></td>
858 <td>the default port to connect to</td>
859 </tr>
860 <tr>
861 <td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
862 <td>a <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
863 </td>
864 </tr>
865 <tr>
866 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
867 <td>a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a>. <span class="annotation">[<acronym title="The callback is valid until first called."><span class="acronym">scope async</span></acronym>]</span>
868 </td>
869 </tr>
870 <tr>
871 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
872 <td>user data for the callback. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span>
873 </td>
874 </tr>
875 </tbody>
876 </table></div>
877 <p class="since">Since 2.26</p>
878 </div>
879 <hr>
880 <div class="refsect2">
881 <a name="g-socket-client-connect-to-uri-finish"></a><h3>g_socket_client_connect_to_uri_finish ()</h3>
882 <pre class="programlisting"><a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="returnvalue">GSocketConnection</span></a> * g_socket_client_connect_to_uri_finish
883                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
884                                                          <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *result</code></em>,
885                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
886 <p>
887 Finishes an async connect operation. See <a class="link" href="GSocketClient.html#g-socket-client-connect-to-uri-async" title="g_socket_client_connect_to_uri_async ()"><code class="function">g_socket_client_connect_to_uri_async()</code></a>
888 </p>
889 <div class="variablelist"><table border="0">
890 <col align="left" valign="top">
891 <tbody>
892 <tr>
893 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
894 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
895 </tr>
896 <tr>
897 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
898 <td>a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.</td>
899 </tr>
900 <tr>
901 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
902 <td>a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> location to store the error occurring, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
903 ignore.</td>
904 </tr>
905 <tr>
906 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
907 <td>a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> on success, <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
908 </td>
909 </tr>
910 </tbody>
911 </table></div>
912 <p class="since">Since 2.26</p>
913 </div>
914 <hr>
915 <div class="refsect2">
916 <a name="g-socket-client-set-family"></a><h3>g_socket_client_set_family ()</h3>
917 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_family          (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
918                                                          <em class="parameter"><code><a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a> family</code></em>);</pre>
919 <p>
920 Sets the socket family of the socket client.
921 If this is set to something other than <a class="link" href="GSocketAddress.html#G-SOCKET-FAMILY-INVALID:CAPS"><code class="literal">G_SOCKET_FAMILY_INVALID</code></a>
922 then the sockets created by this object will be of the specified
923 family.
924 </p>
925 <p>
926 This might be useful for instance if you want to force the local
927 connection to be an ipv4 socket, even though the address might
928 be an ipv6 mapped to ipv4 address.
929 </p>
930 <div class="variablelist"><table border="0">
931 <col align="left" valign="top">
932 <tbody>
933 <tr>
934 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
935 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
936 </tr>
937 <tr>
938 <td><p><span class="term"><em class="parameter"><code>family</code></em> :</span></p></td>
939 <td>a <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a>
940 </td>
941 </tr>
942 </tbody>
943 </table></div>
944 <p class="since">Since 2.22</p>
945 </div>
946 <hr>
947 <div class="refsect2">
948 <a name="g-socket-client-set-local-address"></a><h3>g_socket_client_set_local_address ()</h3>
949 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_local_address   (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
950                                                          <em class="parameter"><code><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> *address</code></em>);</pre>
951 <p>
952 Sets the local address of the socket client.
953 The sockets created by this object will bound to the
954 specified address (if not <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) before connecting.
955 </p>
956 <p>
957 This is useful if you want to ensure that the local
958 side of the connection is on a specific port, or on
959 a specific interface.
960 </p>
961 <div class="variablelist"><table border="0">
962 <col align="left" valign="top">
963 <tbody>
964 <tr>
965 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
966 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
967 </tr>
968 <tr>
969 <td><p><span class="term"><em class="parameter"><code>address</code></em> :</span></p></td>
970 <td>a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
971 </td>
972 </tr>
973 </tbody>
974 </table></div>
975 <p class="since">Since 2.22</p>
976 </div>
977 <hr>
978 <div class="refsect2">
979 <a name="g-socket-client-set-protocol"></a><h3>g_socket_client_set_protocol ()</h3>
980 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_protocol        (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
981                                                          <em class="parameter"><code><a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a> protocol</code></em>);</pre>
982 <p>
983 Sets the protocol of the socket client.
984 The sockets created by this object will use of the specified
985 protocol.
986 </p>
987 <p>
988 If <em class="parameter"><code>protocol</code></em> is <code class="literal">0</code> that means to use the default
989 protocol for the socket family and type.
990 </p>
991 <div class="variablelist"><table border="0">
992 <col align="left" valign="top">
993 <tbody>
994 <tr>
995 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
996 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
997 </tr>
998 <tr>
999 <td><p><span class="term"><em class="parameter"><code>protocol</code></em> :</span></p></td>
1000 <td>a <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a>
1001 </td>
1002 </tr>
1003 </tbody>
1004 </table></div>
1005 <p class="since">Since 2.22</p>
1006 </div>
1007 <hr>
1008 <div class="refsect2">
1009 <a name="g-socket-client-set-socket-type"></a><h3>g_socket_client_set_socket_type ()</h3>
1010 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_socket_type     (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
1011                                                          <em class="parameter"><code><a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a> type</code></em>);</pre>
1012 <p>
1013 Sets the socket type of the socket client.
1014 The sockets created by this object will be of the specified
1015 type.
1016 </p>
1017 <p>
1018 It doesn't make sense to specify a type of <a class="link" href="GSocket.html#G-SOCKET-TYPE-DATAGRAM:CAPS"><code class="literal">G_SOCKET_TYPE_DATAGRAM</code></a>,
1019 as GSocketClient is used for connection oriented services.
1020 </p>
1021 <div class="variablelist"><table border="0">
1022 <col align="left" valign="top">
1023 <tbody>
1024 <tr>
1025 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1026 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1027 </tr>
1028 <tr>
1029 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
1030 <td>a <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a>
1031 </td>
1032 </tr>
1033 </tbody>
1034 </table></div>
1035 <p class="since">Since 2.22</p>
1036 </div>
1037 <hr>
1038 <div class="refsect2">
1039 <a name="g-socket-client-set-timeout"></a><h3>g_socket_client_set_timeout ()</h3>
1040 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_timeout         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
1041                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>);</pre>
1042 <p>
1043 Sets the I/O timeout for sockets created by <em class="parameter"><code>client</code></em>. <em class="parameter"><code>timeout</code></em> is a
1044 time in seconds, or 0 for no timeout (the default).
1045 </p>
1046 <p>
1047 The timeout value affects the initial connection attempt as well,
1048 so setting this may cause calls to <a class="link" href="GSocketClient.html#g-socket-client-connect" title="g_socket_client_connect ()"><code class="function">g_socket_client_connect()</code></a>, etc,
1049 to fail with <a class="link" href="gio-GIOError.html#G-IO-ERROR-TIMED-OUT:CAPS"><code class="literal">G_IO_ERROR_TIMED_OUT</code></a>.
1050 </p>
1051 <div class="variablelist"><table border="0">
1052 <col align="left" valign="top">
1053 <tbody>
1054 <tr>
1055 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1056 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1057 </tr>
1058 <tr>
1059 <td><p><span class="term"><em class="parameter"><code>timeout</code></em> :</span></p></td>
1060 <td>the timeout</td>
1061 </tr>
1062 </tbody>
1063 </table></div>
1064 <p class="since">Since 2.26</p>
1065 </div>
1066 <hr>
1067 <div class="refsect2">
1068 <a name="g-socket-client-set-enable-proxy"></a><h3>g_socket_client_set_enable_proxy ()</h3>
1069 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_enable_proxy    (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
1070                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enable</code></em>);</pre>
1071 <p>
1072 Sets whether or not <em class="parameter"><code>client</code></em> attempts to make connections via a
1073 proxy server. When enabled (the default), <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> will use a
1074 <a class="link" href="GProxyResolver.html" title="GProxyResolver"><span class="type">GProxyResolver</span></a> to determine if a proxy protocol such as SOCKS is
1075 needed, and automatically do the necessary proxy negotiation.
1076 </p>
1077 <div class="variablelist"><table border="0">
1078 <col align="left" valign="top">
1079 <tbody>
1080 <tr>
1081 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1082 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1083 </tr>
1084 <tr>
1085 <td><p><span class="term"><em class="parameter"><code>enable</code></em> :</span></p></td>
1086 <td>whether to enable proxies</td>
1087 </tr>
1088 </tbody>
1089 </table></div>
1090 <p class="since">Since 2.26</p>
1091 </div>
1092 <hr>
1093 <div class="refsect2">
1094 <a name="g-socket-client-set-tls"></a><h3>g_socket_client_set_tls ()</h3>
1095 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_tls             (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
1096                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> tls</code></em>);</pre>
1097 <p>
1098 Sets whether <em class="parameter"><code>client</code></em> creates TLS (aka SSL) connections. If <em class="parameter"><code>tls</code></em> is
1099 <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, <em class="parameter"><code>client</code></em> will wrap its connections in a <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a>
1100 and perform a TLS handshake when connecting.
1101 </p>
1102 <p>
1103 Note that since <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> must return a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>,
1104 but <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a> is not a <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>, this
1105 actually wraps the resulting <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a> in a
1106 <a class="link" href="GTcpWrapperConnection.html" title="GTcpWrapperConnection"><span class="type">GTcpWrapperConnection</span></a> when returning it. You can use
1107 <a class="link" href="GTcpWrapperConnection.html#g-tcp-wrapper-connection-get-base-io-stream" title="g_tcp_wrapper_connection_get_base_io_stream ()"><code class="function">g_tcp_wrapper_connection_get_base_io_stream()</code></a> on the return value
1108 to extract the <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a>.
1109 </p>
1110 <p>
1111 If you need to modify the behavior of the TLS handshake (eg, by
1112 setting a client-side certificate to use, or connecting to the
1113 <a class="link" href="GTlsConnection.html#GTlsConnection-accept-certificate" title='The "accept-certificate" signal'><span class="type">"accept-certificate"</span></a> signal), you can connect to
1114 <em class="parameter"><code>client</code></em>'s <a class="link" href="GSocketClient.html#GSocketClient-event" title='The "event" signal'><span class="type">"event"</span></a> signal and wait for it to be
1115 emitted with <a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-TLS-HANDSHAKING:CAPS"><code class="literal">G_SOCKET_CLIENT_TLS_HANDSHAKING</code></a>, which will give you
1116 a chance to see the <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a> before the handshake
1117 starts.
1118 </p>
1119 <div class="variablelist"><table border="0">
1120 <col align="left" valign="top">
1121 <tbody>
1122 <tr>
1123 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1124 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1125 </tr>
1126 <tr>
1127 <td><p><span class="term"><em class="parameter"><code>tls</code></em> :</span></p></td>
1128 <td>whether to use TLS</td>
1129 </tr>
1130 </tbody>
1131 </table></div>
1132 <p class="since">Since 2.28</p>
1133 </div>
1134 <hr>
1135 <div class="refsect2">
1136 <a name="g-socket-client-set-tls-validation-flags"></a><h3>g_socket_client_set_tls_validation_flags ()</h3>
1137 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_set_tls_validation_flags
1138                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
1139                                                          <em class="parameter"><code><a class="link" href="gio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a> flags</code></em>);</pre>
1140 <p>
1141 Sets the TLS validation flags used when creating TLS connections
1142 via <em class="parameter"><code>client</code></em>. The default value is <a class="link" href="gio-TLS-Overview.html#G-TLS-CERTIFICATE-VALIDATE-ALL:CAPS"><code class="literal">G_TLS_CERTIFICATE_VALIDATE_ALL</code></a>.
1143 </p>
1144 <div class="variablelist"><table border="0">
1145 <col align="left" valign="top">
1146 <tbody>
1147 <tr>
1148 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1149 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1150 </tr>
1151 <tr>
1152 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
1153 <td>the validation flags</td>
1154 </tr>
1155 </tbody>
1156 </table></div>
1157 <p class="since">Since 2.28</p>
1158 </div>
1159 <hr>
1160 <div class="refsect2">
1161 <a name="g-socket-client-get-family"></a><h3>g_socket_client_get_family ()</h3>
1162 <pre class="programlisting"><a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="returnvalue">GSocketFamily</span></a>       g_socket_client_get_family          (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1163 <p>
1164 Gets the socket family of the socket client.
1165 </p>
1166 <p>
1167 See <a class="link" href="GSocketClient.html#g-socket-client-set-family" title="g_socket_client_set_family ()"><code class="function">g_socket_client_set_family()</code></a> for details.
1168 </p>
1169 <div class="variablelist"><table border="0">
1170 <col align="left" valign="top">
1171 <tbody>
1172 <tr>
1173 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1174 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1175 </tr>
1176 <tr>
1177 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1178 <td>a <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a>
1179 </td>
1180 </tr>
1181 </tbody>
1182 </table></div>
1183 <p class="since">Since 2.22</p>
1184 </div>
1185 <hr>
1186 <div class="refsect2">
1187 <a name="g-socket-client-get-local-address"></a><h3>g_socket_client_get_local_address ()</h3>
1188 <pre class="programlisting"><a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="returnvalue">GSocketAddress</span></a> *    g_socket_client_get_local_address   (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1189 <p>
1190 Gets the local address of the socket client.
1191 </p>
1192 <p>
1193 See <a class="link" href="GSocketClient.html#g-socket-client-set-local-address" title="g_socket_client_set_local_address ()"><code class="function">g_socket_client_set_local_address()</code></a> for details.
1194 </p>
1195 <div class="variablelist"><table border="0">
1196 <col align="left" valign="top">
1197 <tbody>
1198 <tr>
1199 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1200 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1201 </tr>
1202 <tr>
1203 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1204 <td>a <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a> or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1205 </td>
1206 </tr>
1207 </tbody>
1208 </table></div>
1209 <p class="since">Since 2.22</p>
1210 </div>
1211 <hr>
1212 <div class="refsect2">
1213 <a name="g-socket-client-get-protocol"></a><h3>g_socket_client_get_protocol ()</h3>
1214 <pre class="programlisting"><a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="returnvalue">GSocketProtocol</span></a>     g_socket_client_get_protocol        (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1215 <p>
1216 Gets the protocol name type of the socket client.
1217 </p>
1218 <p>
1219 See <a class="link" href="GSocketClient.html#g-socket-client-set-protocol" title="g_socket_client_set_protocol ()"><code class="function">g_socket_client_set_protocol()</code></a> for details.
1220 </p>
1221 <div class="variablelist"><table border="0">
1222 <col align="left" valign="top">
1223 <tbody>
1224 <tr>
1225 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1226 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
1227 </td>
1228 </tr>
1229 <tr>
1230 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1231 <td>a <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a>
1232 </td>
1233 </tr>
1234 </tbody>
1235 </table></div>
1236 <p class="since">Since 2.22</p>
1237 </div>
1238 <hr>
1239 <div class="refsect2">
1240 <a name="g-socket-client-get-socket-type"></a><h3>g_socket_client_get_socket_type ()</h3>
1241 <pre class="programlisting"><a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="returnvalue">GSocketType</span></a>         g_socket_client_get_socket_type     (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1242 <p>
1243 Gets the socket type of the socket client.
1244 </p>
1245 <p>
1246 See <a class="link" href="GSocketClient.html#g-socket-client-set-socket-type" title="g_socket_client_set_socket_type ()"><code class="function">g_socket_client_set_socket_type()</code></a> for details.
1247 </p>
1248 <div class="variablelist"><table border="0">
1249 <col align="left" valign="top">
1250 <tbody>
1251 <tr>
1252 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1253 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1254 </tr>
1255 <tr>
1256 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1257 <td>a <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a>
1258 </td>
1259 </tr>
1260 </tbody>
1261 </table></div>
1262 <p class="since">Since 2.22</p>
1263 </div>
1264 <hr>
1265 <div class="refsect2">
1266 <a name="g-socket-client-get-timeout"></a><h3>g_socket_client_get_timeout ()</h3>
1267 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               g_socket_client_get_timeout         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1268 <p>
1269 Gets the I/O timeout time for sockets created by <em class="parameter"><code>client</code></em>.
1270 </p>
1271 <p>
1272 See <a class="link" href="GSocketClient.html#g-socket-client-set-timeout" title="g_socket_client_set_timeout ()"><code class="function">g_socket_client_set_timeout()</code></a> for details.
1273 </p>
1274 <div class="variablelist"><table border="0">
1275 <col align="left" valign="top">
1276 <tbody>
1277 <tr>
1278 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1279 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
1280 </td>
1281 </tr>
1282 <tr>
1283 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1284 <td>the timeout in seconds</td>
1285 </tr>
1286 </tbody>
1287 </table></div>
1288 <p class="since">Since 2.26</p>
1289 </div>
1290 <hr>
1291 <div class="refsect2">
1292 <a name="g-socket-client-get-enable-proxy"></a><h3>g_socket_client_get_enable_proxy ()</h3>
1293 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_socket_client_get_enable_proxy    (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1294 <p>
1295 Gets the proxy enable state; see <a class="link" href="GSocketClient.html#g-socket-client-set-enable-proxy" title="g_socket_client_set_enable_proxy ()"><code class="function">g_socket_client_set_enable_proxy()</code></a>
1296 </p>
1297 <div class="variablelist"><table border="0">
1298 <col align="left" valign="top">
1299 <tbody>
1300 <tr>
1301 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1302 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1303 </tr>
1304 <tr>
1305 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1306 <td>whether proxying is enabled</td>
1307 </tr>
1308 </tbody>
1309 </table></div>
1310 <p class="since">Since 2.26</p>
1311 </div>
1312 <hr>
1313 <div class="refsect2">
1314 <a name="g-socket-client-get-tls"></a><h3>g_socket_client_get_tls ()</h3>
1315 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_socket_client_get_tls             (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1316 <p>
1317 Gets whether <em class="parameter"><code>client</code></em> creates TLS connections. See
1318 <a class="link" href="GSocketClient.html#g-socket-client-set-tls" title="g_socket_client_set_tls ()"><code class="function">g_socket_client_set_tls()</code></a> for details.
1319 </p>
1320 <div class="variablelist"><table border="0">
1321 <col align="left" valign="top">
1322 <tbody>
1323 <tr>
1324 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1325 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1326 </tr>
1327 <tr>
1328 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1329 <td>whether <em class="parameter"><code>client</code></em> uses TLS</td>
1330 </tr>
1331 </tbody>
1332 </table></div>
1333 <p class="since">Since 2.28</p>
1334 </div>
1335 <hr>
1336 <div class="refsect2">
1337 <a name="g-socket-client-get-tls-validation-flags"></a><h3>g_socket_client_get_tls_validation_flags ()</h3>
1338 <pre class="programlisting"><a class="link" href="gio-TLS-Overview.html#GTlsCertificateFlags"><span class="returnvalue">GTlsCertificateFlags</span></a> g_socket_client_get_tls_validation_flags
1339                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>);</pre>
1340 <p>
1341 Gets the TLS validation flags used creating TLS connections via
1342 <em class="parameter"><code>client</code></em>.
1343 </p>
1344 <div class="variablelist"><table border="0">
1345 <col align="left" valign="top">
1346 <tbody>
1347 <tr>
1348 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1349 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>.</td>
1350 </tr>
1351 <tr>
1352 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1353 <td>the TLS validation flags</td>
1354 </tr>
1355 </tbody>
1356 </table></div>
1357 <p class="since">Since 2.28</p>
1358 </div>
1359 <hr>
1360 <div class="refsect2">
1361 <a name="g-socket-client-add-application-proxy"></a><h3>g_socket_client_add_application_proxy ()</h3>
1362 <pre class="programlisting"><span class="returnvalue">void</span>                g_socket_client_add_application_proxy
1363                                                         (<em class="parameter"><code><a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> *client</code></em>,
1364                                                          <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *protocol</code></em>);</pre>
1365 <p>
1366 Enable proxy protocols to be handled by the application. When the
1367 indicated proxy protocol is returned by the <a class="link" href="GProxyResolver.html" title="GProxyResolver"><span class="type">GProxyResolver</span></a>,
1368 <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a> will consider this protocol as supported but will
1369 not try to find a <a class="link" href="GProxy.html" title="GProxy"><span class="type">GProxy</span></a> instance to handle handshaking. The
1370 application must check for this case by calling
1371 <a class="link" href="GSocketConnection.html#g-socket-connection-get-remote-address" title="g_socket_connection_get_remote_address ()"><code class="function">g_socket_connection_get_remote_address()</code></a> on the returned
1372 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>, and seeing if it's a <a class="link" href="GProxyAddress.html" title="GProxyAddress"><span class="type">GProxyAddress</span></a> of the
1373 appropriate type, to determine whether or not it needs to handle
1374 the proxy handshaking itself.
1375 </p>
1376 <p>
1377 This should be used for proxy protocols that are dialects of
1378 another protocol such as HTTP proxy. It also allows cohabitation of
1379 proxy protocols that are reused between protocols. A good example
1380 is HTTP. It can be used to proxy HTTP, FTP and Gopher and can also
1381 be use as generic socket proxy through the HTTP CONNECT method.
1382 </p>
1383 <p>
1384 When the proxy is detected as being an application proxy, TLS handshake
1385 will be skipped. This is required to let the application do the proxy
1386 specific handshake.
1387 </p>
1388 <div class="variablelist"><table border="0">
1389 <col align="left" valign="top">
1390 <tbody>
1391 <tr>
1392 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1393 <td>a <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
1394 </td>
1395 </tr>
1396 <tr>
1397 <td><p><span class="term"><em class="parameter"><code>protocol</code></em> :</span></p></td>
1398 <td>The proxy protocol</td>
1399 </tr>
1400 </tbody>
1401 </table></div>
1402 </div>
1403 </div>
1404 <div class="refsect1">
1405 <a name="GSocketClient.property-details"></a><h2>Property Details</h2>
1406 <div class="refsect2">
1407 <a name="GSocketClient--enable-proxy"></a><h3>The <code class="literal">"enable-proxy"</code> property</h3>
1408 <pre class="programlisting">  "enable-proxy"             <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct</pre>
1409 <p>Enable proxy support.</p>
1410 <p>Default value: TRUE</p>
1411 </div>
1412 <hr>
1413 <div class="refsect2">
1414 <a name="GSocketClient--family"></a><h3>The <code class="literal">"family"</code> property</h3>
1415 <pre class="programlisting">  "family"                   <a class="link" href="GSocketAddress.html#GSocketFamily" title="enum GSocketFamily"><span class="type">GSocketFamily</span></a>         : Read / Write / Construct</pre>
1416 <p>The sockets address family to use for socket construction.</p>
1417 <p>Default value: G_SOCKET_FAMILY_INVALID</p>
1418 </div>
1419 <hr>
1420 <div class="refsect2">
1421 <a name="GSocketClient--local-address"></a><h3>The <code class="literal">"local-address"</code> property</h3>
1422 <pre class="programlisting">  "local-address"            <a class="link" href="GSocketAddress.html" title="GSocketAddress"><span class="type">GSocketAddress</span></a>*       : Read / Write / Construct</pre>
1423 <p>The local address constructed sockets will be bound to.</p>
1424 </div>
1425 <hr>
1426 <div class="refsect2">
1427 <a name="GSocketClient--protocol"></a><h3>The <code class="literal">"protocol"</code> property</h3>
1428 <pre class="programlisting">  "protocol"                 <a class="link" href="GSocket.html#GSocketProtocol" title="enum GSocketProtocol"><span class="type">GSocketProtocol</span></a>       : Read / Write / Construct</pre>
1429 <p>The protocol to use for socket construction, or 0 for default.</p>
1430 <p>Default value: G_SOCKET_PROTOCOL_DEFAULT</p>
1431 </div>
1432 <hr>
1433 <div class="refsect2">
1434 <a name="GSocketClient--timeout"></a><h3>The <code class="literal">"timeout"</code> property</h3>
1435 <pre class="programlisting">  "timeout"                  <a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write / Construct</pre>
1436 <p>The I/O timeout for sockets, or 0 for none.</p>
1437 <p>Default value: 0</p>
1438 </div>
1439 <hr>
1440 <div class="refsect2">
1441 <a name="GSocketClient--tls"></a><h3>The <code class="literal">"tls"</code> property</h3>
1442 <pre class="programlisting">  "tls"                      <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct</pre>
1443 <p>Whether to create TLS connections.</p>
1444 <p>Default value: FALSE</p>
1445 </div>
1446 <hr>
1447 <div class="refsect2">
1448 <a name="GSocketClient--tls-validation-flags"></a><h3>The <code class="literal">"tls-validation-flags"</code> property</h3>
1449 <pre class="programlisting">  "tls-validation-flags"     <a class="link" href="gio-TLS-Overview.html#GTlsCertificateFlags"><span class="type">GTlsCertificateFlags</span></a>  : Read / Write / Construct</pre>
1450 <p>TLS validation flags to use.</p>
1451 <p>Default value: G_TLS_CERTIFICATE_UNKNOWN_CA|G_TLS_CERTIFICATE_BAD_IDENTITY|G_TLS_CERTIFICATE_NOT_ACTIVATED|G_TLS_CERTIFICATE_EXPIRED|G_TLS_CERTIFICATE_REVOKED|G_TLS_CERTIFICATE_INSECURE|G_TLS_CERTIFICATE_GENERIC_ERROR</p>
1452 </div>
1453 <hr>
1454 <div class="refsect2">
1455 <a name="GSocketClient--type"></a><h3>The <code class="literal">"type"</code> property</h3>
1456 <pre class="programlisting">  "type"                     <a class="link" href="GSocket.html#GSocketType" title="enum GSocketType"><span class="type">GSocketType</span></a>           : Read / Write / Construct</pre>
1457 <p>The sockets type to use for socket construction.</p>
1458 <p>Default value: G_SOCKET_TYPE_STREAM</p>
1459 </div>
1460 </div>
1461 <div class="refsect1">
1462 <a name="GSocketClient.signal-details"></a><h2>Signal Details</h2>
1463 <div class="refsect2">
1464 <a name="GSocketClient-event"></a><h3>The <code class="literal">"event"</code> signal</h3>
1465 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>      *client,
1466                                                         <a class="link" href="GSocketClient.html#GSocketClientEvent" title="enum GSocketClientEvent"><span class="type">GSocketClientEvent</span></a>  event,
1467                                                         <a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> *connectable,
1468                                                         <a class="link" href="GIOStream.html" title="GIOStream"><span class="type">GIOStream</span></a>          *connection,
1469                                                         <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>            user_data)        : <a href="./../gobject/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
1470 <p>
1471 Emitted when <em class="parameter"><code>client</code></em>'s activity on <em class="parameter"><code>connectable</code></em> changes state.
1472 Among other things, this can be used to provide progress
1473 information about a network connection in the UI. The meanings of
1474 the different <em class="parameter"><code>event</code></em> values are as follows:
1475 </p>
1476 <p>
1477 </p>
1478 <div class="variablelist"><table border="0">
1479 <col align="left" valign="top">
1480 <tbody>
1481 <tr>
1482 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-RESOLVING:CAPS"><code class="literal">G_SOCKET_CLIENT_RESOLVING</code></a>:</span></p></td>
1483 <td><p>
1484       <em class="parameter"><code>client</code></em> is about to look up <em class="parameter"><code>connectable</code></em> in DNS.
1485       <em class="parameter"><code>connection</code></em> will be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1486     </p></td>
1487 </tr>
1488 <tr>
1489 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-RESOLVED:CAPS"><code class="literal">G_SOCKET_CLIENT_RESOLVED</code></a>:</span></p></td>
1490 <td><p>
1491       <em class="parameter"><code>client</code></em> has successfully resolved <em class="parameter"><code>connectable</code></em> in DNS.
1492       <em class="parameter"><code>connection</code></em> will be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1493     </p></td>
1494 </tr>
1495 <tr>
1496 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-CONNECTING:CAPS"><code class="literal">G_SOCKET_CLIENT_CONNECTING</code></a>:</span></p></td>
1497 <td><p>
1498       <em class="parameter"><code>client</code></em> is about to make a connection to a remote host;
1499       either a proxy server or the destination server itself.
1500       <em class="parameter"><code>connection</code></em> is the <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>, which is not yet
1501       connected.
1502     </p></td>
1503 </tr>
1504 <tr>
1505 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-CONNECTED:CAPS"><code class="literal">G_SOCKET_CLIENT_CONNECTED</code></a>:</span></p></td>
1506 <td><p>
1507       <em class="parameter"><code>client</code></em> has successfully connected to a remote host.
1508       <em class="parameter"><code>connection</code></em> is the connected <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>.
1509     </p></td>
1510 </tr>
1511 <tr>
1512 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-PROXY-NEGOTIATING:CAPS"><code class="literal">G_SOCKET_CLIENT_PROXY_NEGOTIATING</code></a>:</span></p></td>
1513 <td><p>
1514       <em class="parameter"><code>client</code></em> is about to negotiate with a proxy to get it to
1515       connect to <em class="parameter"><code>connectable</code></em>. <em class="parameter"><code>connection</code></em> is the
1516       <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> to the proxy server.
1517     </p></td>
1518 </tr>
1519 <tr>
1520 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-PROXY-NEGOTIATED:CAPS"><code class="literal">G_SOCKET_CLIENT_PROXY_NEGOTIATED</code></a>:</span></p></td>
1521 <td><p>
1522       <em class="parameter"><code>client</code></em> has negotiated a connection to <em class="parameter"><code>connectable</code></em> through
1523       a proxy server. <em class="parameter"><code>connection</code></em> is the stream returned from
1524       <a class="link" href="GProxy.html#g-proxy-connect" title="g_proxy_connect ()"><code class="function">g_proxy_connect()</code></a>, which may or may not be a
1525       <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>.
1526     </p></td>
1527 </tr>
1528 <tr>
1529 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-TLS-HANDSHAKING:CAPS"><code class="literal">G_SOCKET_CLIENT_TLS_HANDSHAKING</code></a>:</span></p></td>
1530 <td><p>
1531       <em class="parameter"><code>client</code></em> is about to begin a TLS handshake. <em class="parameter"><code>connection</code></em> is a
1532       <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a>.
1533     </p></td>
1534 </tr>
1535 <tr>
1536 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-TLS-HANDSHAKED:CAPS"><code class="literal">G_SOCKET_CLIENT_TLS_HANDSHAKED</code></a>:</span></p></td>
1537 <td><p>
1538       <em class="parameter"><code>client</code></em> has successfully completed the TLS handshake.
1539       <em class="parameter"><code>connection</code></em> is a <a class="link" href="GTlsClientConnection.html" title="GTlsClientConnection"><span class="type">GTlsClientConnection</span></a>.
1540     </p></td>
1541 </tr>
1542 <tr>
1543 <td><p><span class="term"><a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-COMPLETE:CAPS"><code class="literal">G_SOCKET_CLIENT_COMPLETE</code></a>:</span></p></td>
1544 <td><p>
1545       <em class="parameter"><code>client</code></em> has either successfully connected to <em class="parameter"><code>connectable</code></em>
1546       (in which case <em class="parameter"><code>connection</code></em> is the <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a> that
1547       it will be returning to the caller) or has failed (in which
1548       case <em class="parameter"><code>connection</code></em> is <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and the client is about to return
1549       an error).
1550     </p></td>
1551 </tr>
1552 </tbody>
1553 </table></div>
1554 <p>
1555 </p>
1556 <p>
1557 Each event except <a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-COMPLETE:CAPS"><code class="literal">G_SOCKET_CLIENT_COMPLETE</code></a> may be emitted
1558 multiple times (or not at all) for a given connectable (in
1559 particular, if <em class="parameter"><code>client</code></em> ends up attempting to connect to more than
1560 one address). However, if <em class="parameter"><code>client</code></em> emits the <a class="link" href="GSocketClient.html#GSocketClient-event" title='The "event" signal'><span class="type">"event"</span></a>
1561 signal at all for a given connectable, that it will always emit
1562 it with <a class="link" href="GSocketClient.html#G-SOCKET-CLIENT-COMPLETE:CAPS"><code class="literal">G_SOCKET_CLIENT_COMPLETE</code></a> when it is done.
1563 </p>
1564 <p>
1565 Note that there may be additional <a class="link" href="GSocketClient.html#GSocketClientEvent" title="enum GSocketClientEvent"><span class="type">GSocketClientEvent</span></a> values in
1566 the future; unrecognized <em class="parameter"><code>event</code></em> values should be ignored.
1567 </p>
1568 <div class="variablelist"><table border="0">
1569 <col align="left" valign="top">
1570 <tbody>
1571 <tr>
1572 <td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
1573 <td>the <a class="link" href="GSocketClient.html" title="GSocketClient"><span class="type">GSocketClient</span></a>
1574 </td>
1575 </tr>
1576 <tr>
1577 <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
1578 <td>the event that is occurring</td>
1579 </tr>
1580 <tr>
1581 <td><p><span class="term"><em class="parameter"><code>connectable</code></em> :</span></p></td>
1582 <td>the <a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> that <em class="parameter"><code>event</code></em> is occurring on</td>
1583 </tr>
1584 <tr>
1585 <td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
1586 <td>the current representation of the connection</td>
1587 </tr>
1588 <tr>
1589 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1590 <td>user data set when the signal handler was connected.</td>
1591 </tr>
1592 </tbody>
1593 </table></div>
1594 <p class="since">Since 2.32</p>
1595 </div>
1596 </div>
1597 <div class="refsect1">
1598 <a name="GSocketClient.see-also"></a><h2>See Also</h2>
1599 <a class="link" href="GSocketConnection.html" title="GSocketConnection"><span class="type">GSocketConnection</span></a>, <a class="link" href="GSocketListener.html" title="GSocketListener"><span class="type">GSocketListener</span></a>
1600 </div>
1601 </div>
1602 <div class="footer">
1603 <hr>
1604           Generated by GTK-Doc V1.18</div>
1605 </body>
1606 </html>