summaryrefslogtreecommitdiff
path: root/docs/reference/html/libsoup-2.4-WebSockets.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/html/libsoup-2.4-WebSockets.html')
-rw-r--r--docs/reference/html/libsoup-2.4-WebSockets.html1544
1 files changed, 0 insertions, 1544 deletions
diff --git a/docs/reference/html/libsoup-2.4-WebSockets.html b/docs/reference/html/libsoup-2.4-WebSockets.html
deleted file mode 100644
index 3577cc5f..00000000
--- a/docs/reference/html/libsoup-2.4-WebSockets.html
+++ /dev/null
@@ -1,1544 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>WebSockets: libsoup Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="libsoup Reference Manual">
-<link rel="up" href="ch04.html" title="Web Services APIs">
-<link rel="prev" href="libsoup-2.4-XMLRPC-Support.html" title="XMLRPC Support">
-<link rel="next" href="ch05.html" title="Low-level Networking API">
-<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#libsoup-2.4-WebSockets.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
- <a href="#libsoup-2.4-WebSockets.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
- <a href="#libsoup-2.4-WebSockets.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
- <a href="#libsoup-2.4-WebSockets.signals" class="shortcut">Signals</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="libsoup-2.4-XMLRPC-Support.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="ch05.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="libsoup-2.4-WebSockets"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="libsoup-2.4-WebSockets.top_of_page"></a>WebSockets</span></h2>
-<p>WebSockets — The WebSocket Protocol</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-client-prepare-handshake" title="soup_websocket_client_prepare_handshake ()">soup_websocket_client_prepare_handshake</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">gboolean</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-client-verify-handshake" title="soup_websocket_client_verify_handshake ()">soup_websocket_client_verify_handshake</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">gboolean</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-server-check-handshake" title="soup_websocket_server_check_handshake ()">soup_websocket_server_check_handshake</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">gboolean</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-server-process-handshake" title="soup_websocket_server_process_handshake ()">soup_websocket_server_process_handshake</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="returnvalue">SoupWebsocketConnection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-new" title="soup_websocket_connection_new ()">soup_websocket_connection_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">GIOStream</span> *
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-io-stream" title="soup_websocket_connection_get_io_stream ()">soup_websocket_connection_get_io_stream</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnectionType" title="enum SoupWebsocketConnectionType"><span class="returnvalue">SoupWebsocketConnectionType</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-connection-type" title="soup_websocket_connection_get_connection_type ()">soup_websocket_connection_get_connection_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-uri" title="soup_websocket_connection_get_uri ()">soup_websocket_connection_get_uri</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <span class="returnvalue">char</span> *
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-origin" title="soup_websocket_connection_get_origin ()">soup_websocket_connection_get_origin</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <span class="returnvalue">char</span> *
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-protocol" title="soup_websocket_connection_get_protocol ()">soup_websocket_connection_get_protocol</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketState" title="enum SoupWebsocketState"><span class="returnvalue">SoupWebsocketState</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-state" title="soup_websocket_connection_get_state ()">soup_websocket_connection_get_state</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-send-text" title="soup_websocket_connection_send_text ()">soup_websocket_connection_send_text</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-send-binary" title="soup_websocket_connection_send_binary ()">soup_websocket_connection_send_binary</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-close" title="soup_websocket_connection_close ()">soup_websocket_connection_close</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">gushort</span>
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-close-code" title="soup_websocket_connection_get_close_code ()">soup_websocket_connection_get_close_code</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <span class="returnvalue">char</span> *
-</td>
-<td class="function_name">
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-close-data" title="soup_websocket_connection_get_close_data ()">soup_websocket_connection_get_close_data</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table class="informaltable" border="0">
-<colgroup>
-<col width="150px" class="properties_type">
-<col width="300px" class="properties_name">
-<col width="200px" class="properties_flags">
-</colgroup>
-<tbody>
-<tr>
-<td class="property_type"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnectionType" title="enum SoupWebsocketConnectionType"><span class="type">SoupWebsocketConnectionType</span></a></td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--connection-type" title="The “connection-type” property">connection-type</a></td>
-<td class="property_flags">Read / Write / Construct Only</td>
-</tr>
-<tr>
-<td class="property_type">
-<span class="type">GIOStream</span> *</td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--io-stream" title="The “io-stream” property">io-stream</a></td>
-<td class="property_flags">Read / Write / Construct Only</td>
-</tr>
-<tr>
-<td class="property_type"><span class="type">guint</span></td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--keepalive-interval" title="The “keepalive-interval” property">keepalive-interval</a></td>
-<td class="property_flags">Read / Write / Construct</td>
-</tr>
-<tr>
-<td class="property_type"><span class="type">guint64</span></td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--max-incoming-payload-size" title="The “max-incoming-payload-size” property">max-incoming-payload-size</a></td>
-<td class="property_flags">Read / Write / Construct</td>
-</tr>
-<tr>
-<td class="property_type">
-<span class="type">gchar</span> *</td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--origin" title="The “origin” property">origin</a></td>
-<td class="property_flags">Read / Write / Construct Only</td>
-</tr>
-<tr>
-<td class="property_type">
-<span class="type">gchar</span> *</td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--protocol" title="The “protocol” property">protocol</a></td>
-<td class="property_flags">Read / Write / Construct Only</td>
-</tr>
-<tr>
-<td class="property_type"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketState" title="enum SoupWebsocketState"><span class="type">SoupWebsocketState</span></a></td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--state" title="The “state” property">state</a></td>
-<td class="property_flags">Read</td>
-</tr>
-<tr>
-<td class="property_type">
-<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *</td>
-<td class="property_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection--uri" title="The “uri” property">uri</a></td>
-<td class="property_flags">Read / Write / Construct Only</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table class="informaltable" border="0">
-<colgroup>
-<col width="150px" class="signals_return">
-<col width="300px" class="signals_name">
-<col width="200px" class="signals_flags">
-</colgroup>
-<tbody>
-<tr>
-<td class="signal_type"><span class="returnvalue">void</span></td>
-<td class="signal_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-closed" title="The “closed” signal">closed</a></td>
-<td class="signal_flags">Run First</td>
-</tr>
-<tr>
-<td class="signal_type"><span class="returnvalue">void</span></td>
-<td class="signal_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-closing" title="The “closing” signal">closing</a></td>
-<td class="signal_flags">Run Last</td>
-</tr>
-<tr>
-<td class="signal_type"><span class="returnvalue">void</span></td>
-<td class="signal_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-error" title="The “error” signal">error</a></td>
-<td class="signal_flags">Run First</td>
-</tr>
-<tr>
-<td class="signal_type"><span class="returnvalue">void</span></td>
-<td class="signal_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-message" title="The “message” signal">message</a></td>
-<td class="signal_flags">Run First</td>
-</tr>
-<tr>
-<td class="signal_type"><span class="returnvalue">void</span></td>
-<td class="signal_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-pong" title="The “pong” signal">pong</a></td>
-<td class="signal_flags">Run First</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<a name="SoupWebsocketConnection"></a><div class="refsect1">
-<a name="libsoup-2.4-WebSockets.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-struct" title="SoupWebsocketConnection">SoupWebsocketConnection</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnectionType" title="enum SoupWebsocketConnectionType">SoupWebsocketConnectionType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketState" title="enum SoupWebsocketState">SoupWebsocketState</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketDataType" title="enum SoupWebsocketDataType">SoupWebsocketDataType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketCloseCode" title="enum SoupWebsocketCloseCode">SoupWebsocketCloseCode</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketError" title="enum SoupWebsocketError">SoupWebsocketError</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="libsoup-2.4-WebSockets.html#SOUP-WEBSOCKET-ERROR:CAPS" title="SOUP_WEBSOCKET_ERROR">SOUP_WEBSOCKET_ERROR</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> GObject
- <span class="lineart">╰──</span> SoupWebsocketConnection
-</pre>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.includes"></a><h2>Includes</h2>
-<pre class="synopsis">#include &lt;libsoup/soup.h&gt;
-</pre>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.description"></a><h2>Description</h2>
-<p><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> provides support for the <a class="ulink" href="http://tools.ietf.org/html/rfc6455" target="_top">WebSocket</a> protocol.</p>
-<p>To connect to a WebSocket server, create a <a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a> and call
-<a class="link" href="SoupSession.html#soup-session-websocket-connect-async" title="soup_session_websocket_connect_async ()"><code class="function">soup_session_websocket_connect_async()</code></a>. To accept WebSocket
-connections, create a <a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> and add a handler to it with
-<a class="link" href="SoupServer.html#soup-server-add-websocket-handler" title="soup_server_add_websocket_handler ()"><code class="function">soup_server_add_websocket_handler()</code></a>.</p>
-<p>(Lower-level support is available via
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-client-prepare-handshake" title="soup_websocket_client_prepare_handshake ()"><code class="function">soup_websocket_client_prepare_handshake()</code></a> and
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-client-verify-handshake" title="soup_websocket_client_verify_handshake ()"><code class="function">soup_websocket_client_verify_handshake()</code></a>, for handling the client
-side of the WebSocket handshake, and
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-server-process-handshake" title="soup_websocket_server_process_handshake ()"><code class="function">soup_websocket_server_process_handshake()</code></a> for handling the server
-side.)</p>
-<p><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> handles the details of WebSocket
-communication. You can use <a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-send-text" title="soup_websocket_connection_send_text ()"><code class="function">soup_websocket_connection_send_text()</code></a>
-and <a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-send-binary" title="soup_websocket_connection_send_binary ()"><code class="function">soup_websocket_connection_send_binary()</code></a> to send data, and the
-<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-message" title="The “message” signal"><span class="type">“message”</span></a> signal to receive data.
-(<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> currently only supports asynchronous
-I/O.)</p>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="soup-websocket-client-prepare-handshake"></a><h3>soup_websocket_client_prepare_handshake ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-soup_websocket_client_prepare_handshake
- (<em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *origin</code></em>,
- <em class="parameter"><code><span class="type">char</span> **protocols</code></em>);</pre>
-<p>Adds the necessary headers to <em class="parameter"><code>msg</code></em>
- to request a WebSocket
-handshake. The message body and non-WebSocket-related headers are
-not modified.</p>
-<p>This is a low-level function; if you use
-<a class="link" href="SoupSession.html#soup-session-websocket-connect-async" title="soup_session_websocket_connect_async ()"><code class="function">soup_session_websocket_connect_async()</code></a> to create a WebSocket
-connection, it will call this for you.</p>
-<div class="refsect3">
-<a name="soup-websocket-client-prepare-handshake.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p>a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>origin</p></td>
-<td class="parameter_description"><p>the "Origin" header to set. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>protocols</p></td>
-<td class="parameter_description"><p>list of
-protocols to offer. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-client-verify-handshake"></a><h3>soup_websocket_client_verify_handshake ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span>
-soup_websocket_client_verify_handshake
- (<em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>Looks at the response status code and headers in <em class="parameter"><code>msg</code></em>
- and
-determines if they contain a valid WebSocket handshake response
-(given the handshake request in <em class="parameter"><code>msg</code></em>
-'s request headers).</p>
-<p>This is a low-level function; if you use
-<a class="link" href="SoupSession.html#soup-session-websocket-connect-async" title="soup_session_websocket_connect_async ()"><code class="function">soup_session_websocket_connect_async()</code></a> to create a WebSocket
-connection, it will call this for you.</p>
-<div class="refsect3">
-<a name="soup-websocket-client-verify-handshake.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> containing both client and server sides of a
-WebSocket handshake</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>return location for a <span class="type">GError</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-client-verify-handshake.returns"></a><h4>Returns</h4>
-<p> <code class="literal">TRUE</code> if <em class="parameter"><code>msg</code></em>
-contains a completed valid WebSocket
-handshake, <code class="literal">FALSE</code> and an error if not.</p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-server-check-handshake"></a><h3>soup_websocket_server_check_handshake ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span>
-soup_websocket_server_check_handshake (<em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *origin</code></em>,
- <em class="parameter"><code><span class="type">char</span> **protocols</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>Examines the method and request headers in <em class="parameter"><code>msg</code></em>
- and determines
-whether <em class="parameter"><code>msg</code></em>
- contains a valid handshake request.</p>
-<p>If <em class="parameter"><code>origin</code></em>
- is non-<code class="literal">NULL</code>, then only requests containing a matching
-"Origin" header will be accepted. If <em class="parameter"><code>protocols</code></em>
- is non-<code class="literal">NULL</code>, then
-only requests containing a compatible "Sec-WebSocket-Protocols"
-header will be accepted.</p>
-<p>Normally <a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-server-process-handshake" title="soup_websocket_server_process_handshake ()"><code class="function">soup_websocket_server_process_handshake()</code></a> will take care
-of this for you, and if you use <a class="link" href="SoupServer.html#soup-server-add-websocket-handler" title="soup_server_add_websocket_handler ()"><code class="function">soup_server_add_websocket_handler()</code></a>
-to handle accepting WebSocket connections, it will call that for
-you. However, this function may be useful if you need to perform
-more complicated validation; eg, accepting multiple different Origins,
-or handling different protocols depending on the path.</p>
-<div class="refsect3">
-<a name="soup-websocket-server-check-handshake.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> containing the client side of a WebSocket handshake</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>origin</p></td>
-<td class="parameter_description"><p>expected Origin header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>protocols</p></td>
-<td class="parameter_description"><p>allowed WebSocket
-protocols. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>return location for a <span class="type">GError</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-server-check-handshake.returns"></a><h4>Returns</h4>
-<p> <code class="literal">TRUE</code> if <em class="parameter"><code>msg</code></em>
-contained a valid WebSocket handshake,
-<code class="literal">FALSE</code> and an error if not.</p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-server-process-handshake"></a><h3>soup_websocket_server_process_handshake ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span>
-soup_websocket_server_process_handshake
- (<em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *expected_origin</code></em>,
- <em class="parameter"><code><span class="type">char</span> **protocols</code></em>);</pre>
-<p>Examines the method and request headers in <em class="parameter"><code>msg</code></em>
- and (assuming <em class="parameter"><code>msg</code></em>
-
-contains a valid handshake request), fills in the handshake
-response.</p>
-<p>If <em class="parameter"><code>expected_origin</code></em>
- is non-<code class="literal">NULL</code>, then only requests containing a matching
-"Origin" header will be accepted. If <em class="parameter"><code>protocols</code></em>
- is non-<code class="literal">NULL</code>, then
-only requests containing a compatible "Sec-WebSocket-Protocols"
-header will be accepted.</p>
-<p>This is a low-level function; if you use
-<a class="link" href="SoupServer.html#soup-server-add-websocket-handler" title="soup_server_add_websocket_handler ()"><code class="function">soup_server_add_websocket_handler()</code></a> to handle accepting WebSocket
-connections, it will call this for you.</p>
-<div class="refsect3">
-<a name="soup-websocket-server-process-handshake.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>msg</p></td>
-<td class="parameter_description"><p><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> containing the client side of a WebSocket handshake</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>expected_origin</p></td>
-<td class="parameter_description"><p>expected Origin header. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>protocols</p></td>
-<td class="parameter_description"><p>allowed WebSocket
-protocols. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-server-process-handshake.returns"></a><h4>Returns</h4>
-<p> <code class="literal">TRUE</code> if <em class="parameter"><code>msg</code></em>
-contained a valid WebSocket handshake
-request and was updated to contain a handshake response. <code class="literal">FALSE</code> if not.</p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-new"></a><h3>soup_websocket_connection_new ()</h3>
-<pre class="programlisting"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="returnvalue">SoupWebsocketConnection</span></a> *
-soup_websocket_connection_new (<em class="parameter"><code><span class="type">GIOStream</span> *stream</code></em>,
- <em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
- <em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnectionType" title="enum SoupWebsocketConnectionType"><span class="type">SoupWebsocketConnectionType</span></a> type</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *origin</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *protocol</code></em>);</pre>
-<p>Creates a <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> on <em class="parameter"><code>stream</code></em>
-. This should be
-called after completing the handshake to begin using the WebSocket
-protocol.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-new.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>stream</p></td>
-<td class="parameter_description"><p>a <span class="type">GIOStream</span> connected to the WebSocket server</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>uri</p></td>
-<td class="parameter_description"><p>the URI of the connection</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the type of connection (client/side)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>origin</p></td>
-<td class="parameter_description"><p>the Origin of the client. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>protocol</p></td>
-<td class="parameter_description"><p>the subprotocol in use. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-new.returns"></a><h4>Returns</h4>
-<p> a new <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a></p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-io-stream"></a><h3>soup_websocket_connection_get_io_stream ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIOStream</span> *
-soup_websocket_connection_get_io_stream
- (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the I/O stream the WebSocket is communicating over.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-io-stream.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-io-stream.returns"></a><h4>Returns</h4>
-<p>the WebSocket's I/O stream. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-connection-type"></a><h3>soup_websocket_connection_get_connection_type ()</h3>
-<pre class="programlisting"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnectionType" title="enum SoupWebsocketConnectionType"><span class="returnvalue">SoupWebsocketConnectionType</span></a>
-soup_websocket_connection_get_connection_type
- (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the connection type (client/server) of the connection.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-connection-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-connection-type.returns"></a><h4>Returns</h4>
-<p> the connection type</p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-uri"></a><h3>soup_websocket_connection_get_uri ()</h3>
-<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
-soup_websocket_connection_get_uri (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the URI of the WebSocket.</p>
-<p>For servers this represents the address of the WebSocket, and
-for clients it is the address connected to.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-uri.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-uri.returns"></a><h4>Returns</h4>
-<p>the URI. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-origin"></a><h3>soup_websocket_connection_get_origin ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *
-soup_websocket_connection_get_origin (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the origin of the WebSocket.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-origin.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-origin.returns"></a><h4>Returns</h4>
-<p>the origin, or <code class="literal">NULL</code>. </p>
-<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-protocol"></a><h3>soup_websocket_connection_get_protocol ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *
-soup_websocket_connection_get_protocol
- (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the protocol chosen via negotiation with the peer.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-protocol.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-protocol.returns"></a><h4>Returns</h4>
-<p>the chosen protocol, or <code class="literal">NULL</code>. </p>
-<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-state"></a><h3>soup_websocket_connection_get_state ()</h3>
-<pre class="programlisting"><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketState" title="enum SoupWebsocketState"><span class="returnvalue">SoupWebsocketState</span></a>
-soup_websocket_connection_get_state (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the current state of the WebSocket.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-state.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-state.returns"></a><h4>Returns</h4>
-<p> the state</p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-send-text"></a><h3>soup_websocket_connection_send_text ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-soup_websocket_connection_send_text (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *text</code></em>);</pre>
-<p>Send a text (UTF-8) message to the peer.</p>
-<p>The message is queued to be sent and will be sent when the main loop
-is run.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-send-text.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>text</p></td>
-<td class="parameter_description"><p>the message contents</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-send-binary"></a><h3>soup_websocket_connection_send_binary ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-soup_websocket_connection_send_binary (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>,
- <em class="parameter"><code><span class="type">gconstpointer</span> data</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> length</code></em>);</pre>
-<p>Send a binary message to the peer.</p>
-<p>The message is queued to be sent and will be sent when the main loop
-is run.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-send-binary.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the message contents. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the length of <em class="parameter"><code>data</code></em>
-</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-close"></a><h3>soup_websocket_connection_close ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-soup_websocket_connection_close (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>,
- <em class="parameter"><code><span class="type">gushort</span> code</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *data</code></em>);</pre>
-<p>Close the connection in an orderly fashion.</p>
-<p>Note that until the <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-closed" title="The “closed” signal"><span class="type">“closed”</span></a> signal fires, the connection
-is not yet completely closed. The close message is not even sent until the
-main loop runs.</p>
-<p>The <em class="parameter"><code>code</code></em>
- and <em class="parameter"><code>data</code></em>
- are sent to the peer along with the close request.
-Note that the <em class="parameter"><code>data</code></em>
- must be UTF-8 valid.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-close.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>code</p></td>
-<td class="parameter_description"><p>close code</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>close data. </p></td>
-<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-close-code"></a><h3>soup_websocket_connection_get_close_code ()</h3>
-<pre class="programlisting"><span class="returnvalue">gushort</span>
-soup_websocket_connection_get_close_code
- (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the close code received from the WebSocket peer.</p>
-<p>This only becomes valid once the WebSocket is in the
-<a class="link" href="libsoup-2.4-WebSockets.html#SOUP-WEBSOCKET-STATE-CLOSED:CAPS"><code class="literal">SOUP_WEBSOCKET_STATE_CLOSED</code></a> state. The value will often be in the
-<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketCloseCode" title="enum SoupWebsocketCloseCode"><span class="type">SoupWebsocketCloseCode</span></a> enumeration, but may also be an application
-defined close code.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-close-code.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-close-code.returns"></a><h4>Returns</h4>
-<p> the close code or zero.</p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="soup-websocket-connection-get-close-data"></a><h3>soup_websocket_connection_get_close_data ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> *
-soup_websocket_connection_get_close_data
- (<em class="parameter"><code><a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self</code></em>);</pre>
-<p>Get the close data received from the WebSocket peer.</p>
-<p>This only becomes valid once the WebSocket is in the
-<a class="link" href="libsoup-2.4-WebSockets.html#SOUP-WEBSOCKET-STATE-CLOSED:CAPS"><code class="literal">SOUP_WEBSOCKET_STATE_CLOSED</code></a> state. The data may be freed once
-the main loop is run, so copy it if you need to keep it around.</p>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-close-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="soup-websocket-connection-get-close-data.returns"></a><h4>Returns</h4>
-<p> the close data or <code class="literal">NULL</code></p>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="SoupWebsocketConnection-struct"></a><h3>SoupWebsocketConnection</h3>
-<pre class="programlisting">typedef struct _SoupWebsocketConnection SoupWebsocketConnection;</pre>
-<p>A class representing a WebSocket connection.</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnectionType"></a><h3>enum SoupWebsocketConnectionType</h3>
-<p>The type of a <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a>.</p>
-<div class="refsect3">
-<a name="SoupWebsocketConnectionType.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CONNECTION-UNKNOWN:CAPS"></a>SOUP_WEBSOCKET_CONNECTION_UNKNOWN</p></td>
-<td class="enum_member_description">
-<p>unknown/invalid connection</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CONNECTION-CLIENT:CAPS"></a>SOUP_WEBSOCKET_CONNECTION_CLIENT</p></td>
-<td class="enum_member_description">
-<p>a client-side connection</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CONNECTION-SERVER:CAPS"></a>SOUP_WEBSOCKET_CONNECTION_SERVER</p></td>
-<td class="enum_member_description">
-<p>a server-side connection</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketState"></a><h3>enum SoupWebsocketState</h3>
-<p>The state of the WebSocket connection.</p>
-<div class="refsect3">
-<a name="SoupWebsocketState.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-STATE-OPEN:CAPS"></a>SOUP_WEBSOCKET_STATE_OPEN</p></td>
-<td class="enum_member_description">
-<p>the connection is ready to send messages</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-STATE-CLOSING:CAPS"></a>SOUP_WEBSOCKET_STATE_CLOSING</p></td>
-<td class="enum_member_description">
-<p>the connection is in the process of
- closing down; messages may be received, but not sent</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-STATE-CLOSED:CAPS"></a>SOUP_WEBSOCKET_STATE_CLOSED</p></td>
-<td class="enum_member_description">
-<p>the connection is completely closed down</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketDataType"></a><h3>enum SoupWebsocketDataType</h3>
-<p>The type of data contained in a <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-message" title="The “message” signal"><span class="type">“message”</span></a>
-signal.</p>
-<div class="refsect3">
-<a name="SoupWebsocketDataType.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-DATA-TEXT:CAPS"></a>SOUP_WEBSOCKET_DATA_TEXT</p></td>
-<td class="enum_member_description">
-<p>UTF-8 text</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-DATA-BINARY:CAPS"></a>SOUP_WEBSOCKET_DATA_BINARY</p></td>
-<td class="enum_member_description">
-<p>binary data</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketCloseCode"></a><h3>enum SoupWebsocketCloseCode</h3>
-<p>Pre-defined close codes that can be passed to
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-close" title="soup_websocket_connection_close ()"><code class="function">soup_websocket_connection_close()</code></a> or received from
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-get-close-code" title="soup_websocket_connection_get_close_code ()"><code class="function">soup_websocket_connection_get_close_code()</code></a>. (However, other codes
-are also allowed.)</p>
-<div class="refsect3">
-<a name="SoupWebsocketCloseCode.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-NORMAL:CAPS"></a>SOUP_WEBSOCKET_CLOSE_NORMAL</p></td>
-<td class="enum_member_description">
-<p>a normal, non-error close</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-GOING-AWAY:CAPS"></a>SOUP_WEBSOCKET_CLOSE_GOING_AWAY</p></td>
-<td class="enum_member_description">
-<p>the client/server is going away</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-PROTOCOL-ERROR:CAPS"></a>SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR</p></td>
-<td class="enum_member_description">
-<p>a protocol error occurred</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-UNSUPPORTED-DATA:CAPS"></a>SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA</p></td>
-<td class="enum_member_description">
-<p>the endpoint received data
- of a type that it does not support.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-NO-STATUS:CAPS"></a>SOUP_WEBSOCKET_CLOSE_NO_STATUS</p></td>
-<td class="enum_member_description">
-<p>reserved value indicating that
- no close code was present; must not be sent.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-ABNORMAL:CAPS"></a>SOUP_WEBSOCKET_CLOSE_ABNORMAL</p></td>
-<td class="enum_member_description">
-<p>reserved value indicating that
- the connection was closed abnormally; must not be sent.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-BAD-DATA:CAPS"></a>SOUP_WEBSOCKET_CLOSE_BAD_DATA</p></td>
-<td class="enum_member_description">
-<p>the endpoint received data that
- was invalid (eg, non-UTF-8 data in a text message).</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-POLICY-VIOLATION:CAPS"></a>SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION</p></td>
-<td class="enum_member_description">
-<p>generic error code
- indicating some sort of policy violation.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-TOO-BIG:CAPS"></a>SOUP_WEBSOCKET_CLOSE_TOO_BIG</p></td>
-<td class="enum_member_description">
-<p>the endpoint received a message
- that is too big to process.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-NO-EXTENSION:CAPS"></a>SOUP_WEBSOCKET_CLOSE_NO_EXTENSION</p></td>
-<td class="enum_member_description">
-<p>the client is closing the
- connection because the server failed to negotiate a required
- extension.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-SERVER-ERROR:CAPS"></a>SOUP_WEBSOCKET_CLOSE_SERVER_ERROR</p></td>
-<td class="enum_member_description">
-<p>the server is closing the
- connection because it was unable to fulfill the request.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-CLOSE-TLS-HANDSHAKE:CAPS"></a>SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE</p></td>
-<td class="enum_member_description">
-<p>reserved value indicating that
- the TLS handshake failed; must not be sent.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketError"></a><h3>enum SoupWebsocketError</h3>
-<p>WebSocket-related errors.</p>
-<div class="refsect3">
-<a name="SoupWebsocketError.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-ERROR-FAILED:CAPS"></a>SOUP_WEBSOCKET_ERROR_FAILED</p></td>
-<td class="enum_member_description">
-<p>a generic error</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-ERROR-NOT-WEBSOCKET:CAPS"></a>SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET</p></td>
-<td class="enum_member_description">
-<p>attempted to handshake with a
- server that does not appear to understand WebSockets.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-ERROR-BAD-HANDSHAKE:CAPS"></a>SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE</p></td>
-<td class="enum_member_description">
-<p>the WebSocket handshake failed
- because some detail was invalid (eg, incorrect accept key).</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SOUP-WEBSOCKET-ERROR-BAD-ORIGIN:CAPS"></a>SOUP_WEBSOCKET_ERROR_BAD_ORIGIN</p></td>
-<td class="enum_member_description">
-<p>the WebSocket handshake failed
- because the "Origin" header was not an allowed value.</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SOUP-WEBSOCKET-ERROR:CAPS"></a><h3>SOUP_WEBSOCKET_ERROR</h3>
-<pre class="programlisting">#define SOUP_WEBSOCKET_ERROR (soup_websocket_error_get_quark ())
-</pre>
-<p>A <span class="type">GError</span> domain for WebSocket-related errors. Used with
-<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketError" title="enum SoupWebsocketError"><span class="type">SoupWebsocketError</span></a>.</p>
-<p class="since">Since: 2.50</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.property-details"></a><h2>Property Details</h2>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--connection-type"></a><h3>The <code class="literal">“connection-type”</code> property</h3>
-<pre class="programlisting"> “connection-type” <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnectionType" title="enum SoupWebsocketConnectionType"><span class="type">SoupWebsocketConnectionType</span></a></pre>
-<p>The type of connection (client/server).</p>
-<p>Flags: Read / Write / Construct Only</p>
-<p>Default value: SOUP_WEBSOCKET_CONNECTION_UNKNOWN</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--io-stream"></a><h3>The <code class="literal">“io-stream”</code> property</h3>
-<pre class="programlisting"> “io-stream” <span class="type">GIOStream</span> *</pre>
-<p>The underlying IO stream the WebSocket is communicating
-over.</p>
-<p>The input and output streams must be pollable streams.</p>
-<p>Flags: Read / Write / Construct Only</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--keepalive-interval"></a><h3>The <code class="literal">“keepalive-interval”</code> property</h3>
-<pre class="programlisting"> “keepalive-interval” <span class="type">guint</span></pre>
-<p>Interval in seconds on when to send a ping message which will
-serve as a keepalive message. If set to 0 the keepalive message is
-disabled.</p>
-<p>Flags: Read / Write / Construct</p>
-<p>Default value: 0</p>
-<p class="since">Since: 2.58</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--max-incoming-payload-size"></a><h3>The <code class="literal">“max-incoming-payload-size”</code> property</h3>
-<pre class="programlisting"> “max-incoming-payload-size” <span class="type">guint64</span></pre>
-<p>The maximum payload size for incoming packets the protocol expects
-or 0 to not limit it.</p>
-<p>Flags: Read / Write / Construct</p>
-<p>Default value: 131072</p>
-<p class="since">Since: 2.56</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--origin"></a><h3>The <code class="literal">“origin”</code> property</h3>
-<pre class="programlisting"> “origin” <span class="type">gchar</span> *</pre>
-<p>The client's Origin.</p>
-<p>Flags: Read / Write / Construct Only</p>
-<p>Default value: NULL</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--protocol"></a><h3>The <code class="literal">“protocol”</code> property</h3>
-<pre class="programlisting"> “protocol” <span class="type">gchar</span> *</pre>
-<p>The chosen protocol, or <code class="literal">NULL</code> if a protocol was not agreed
-upon.</p>
-<p>Flags: Read / Write / Construct Only</p>
-<p>Default value: NULL</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--state"></a><h3>The <code class="literal">“state”</code> property</h3>
-<pre class="programlisting"> “state” <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketState" title="enum SoupWebsocketState"><span class="type">SoupWebsocketState</span></a></pre>
-<p>The current state of the WebSocket.</p>
-<p>Flags: Read</p>
-<p>Default value: SOUP_WEBSOCKET_STATE_OPEN</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection--uri"></a><h3>The <code class="literal">“uri”</code> property</h3>
-<pre class="programlisting"> “uri” <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *</pre>
-<p>The URI of the WebSocket.</p>
-<p>For servers this represents the address of the WebSocket,
-and for clients it is the address connected to.</p>
-<p>Flags: Read / Write / Construct Only</p>
-<p class="since">Since: 2.50</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.signal-details"></a><h2>Signal Details</h2>
-<div class="refsect2">
-<a name="SoupWebsocketConnection-closed"></a><h3>The <code class="literal">“closed”</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self,
- <span class="type">gpointer</span> user_data)</pre>
-<p>Emitted when the connection has completely closed, either
-due to an orderly close from the peer, one initiated via
-<a class="link" href="libsoup-2.4-WebSockets.html#soup-websocket-connection-close" title="soup_websocket_connection_close ()"><code class="function">soup_websocket_connection_close()</code></a> or a fatal error
-condition that caused a close.</p>
-<p>This signal will be emitted once.</p>
-<div class="refsect3">
-<a name="SoupWebsocketConnection-closed.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run First</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection-closing"></a><h3>The <code class="literal">“closing”</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self,
- <span class="type">gpointer</span> user_data)</pre>
-<p>This signal will be emitted during an orderly close.</p>
-<div class="refsect3">
-<a name="SoupWebsocketConnection-closing.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run Last</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection-error"></a><h3>The <code class="literal">“error”</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self,
- <span class="type">GError</span> *error,
- <span class="type">gpointer</span> user_data)</pre>
-<p>Emitted when an error occurred on the WebSocket. This may
-be fired multiple times. Fatal errors will be followed by
-the <a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection-closed" title="The “closed” signal"><span class="type">“closed”</span></a> signal being emitted.</p>
-<div class="refsect3">
-<a name="SoupWebsocketConnection-error.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>error</p></td>
-<td class="parameter_description"><p>the error that occured</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run First</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection-message"></a><h3>The <code class="literal">“message”</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self,
- <span class="type">gint</span> type,
- <span class="type">GBytes</span> *message,
- <span class="type">gpointer</span> user_data)</pre>
-<p>Emitted when we receive a message from the peer.</p>
-<p>As a convenience, the <em class="parameter"><code>message</code></em>
- data will always be
-NUL-terminated, but the NUL byte will not be included in
-the length count.</p>
-<div class="refsect3">
-<a name="SoupWebsocketConnection-message.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>type</p></td>
-<td class="parameter_description"><p>the type of message contents</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>message</p></td>
-<td class="parameter_description"><p>the message data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run First</p>
-<p class="since">Since: 2.50</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="SoupWebsocketConnection-pong"></a><h3>The <code class="literal">“pong”</code> signal</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="libsoup-2.4-WebSockets.html#SoupWebsocketConnection"><span class="type">SoupWebsocketConnection</span></a> *self,
- <span class="type">GBytes</span> *message,
- <span class="type">gpointer</span> user_data)</pre>
-<p>Emitted when we receive a Pong frame (solicited or
-unsolicited) from the peer.</p>
-<p>As a convenience, the <em class="parameter"><code>message</code></em>
- data will always be
-NUL-terminated, but the NUL byte will not be included in
-the length count.</p>
-<div class="refsect3">
-<a name="SoupWebsocketConnection-pong.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>self</p></td>
-<td class="parameter_description"><p>the WebSocket</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>message</p></td>
-<td class="parameter_description"><p>the application data (if any)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p>Flags: Run First</p>
-<p class="since">Since: 2.60</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="libsoup-2.4-WebSockets.see-also"></a><h2>See Also</h2>
-<p>soup_session_websocket_connect_async(),
- <a class="link" href="SoupServer.html#soup-server-add-websocket-handler" title="soup_server_add_websocket_handler ()"><code class="function">soup_server_add_websocket_handler()</code></a></p>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28.1</div>
-</body>
-</html> \ No newline at end of file