File: infd-xmpp-server.xml

package info (click to toggle)
libinfinity 0.4.1-4
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 12,332 kB
  • ctags: 7,384
  • sloc: ansic: 65,073; xml: 36,770; sh: 10,347; makefile: 728
file content (231 lines) | stat: -rw-r--r-- 16,264 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<?xml version="1.0" ?>

<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
  <!ENTITY version SYSTEM "../version.xml">
  <!ENTITY api_version SYSTEM "../api_version.xml">
]>

<refentry id="InfdXmppServer">
<refmeta>
<refentrytitle role="top_of_page" id="InfdXmppServer.top_of_page">InfdXmppServer</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBINFINITY-0.4 Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>InfdXmppServer</refname>
<refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv id="InfdXmppServer.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
                    <link linkend="InfdXmppServer-struct">InfdXmppServer</link>;
                    <link linkend="InfdXmppServerClass">InfdXmppServerClass</link>;
<link linkend="InfdXmppServer">InfdXmppServer</link> *    <link linkend="infd-xmpp-server-new">infd_xmpp_server_new</link>                (<link linkend="InfdTcpServer">InfdTcpServer</link> *tcp,
                                                         <link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link> policy,
                                                         <link linkend="InfCertificateCredentials">InfCertificateCredentials</link> *creds,
                                                         <link linkend="Gsasl">Gsasl</link> *sasl_context,
                                                         const <link linkend="gchar">gchar</link> *sasl_mechanisms);
<link linkend="void">void</link>                <link linkend="infd-xmpp-server-set-security-policy">infd_xmpp_server_set_security_policy</link>
                                                        (<link linkend="InfdXmppServer">InfdXmppServer</link> *server,
                                                         <link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link> policy);
<link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link>  <link linkend="infd-xmpp-server-get-security-policy">infd_xmpp_server_get_security_policy</link>
                                                        (<link linkend="InfdXmppServer">InfdXmppServer</link> *server);
</synopsis>
</refsynopsisdiv>

<refsect1 id="InfdXmppServer.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----InfdXmppServer
</synopsis>
</refsect1>



<refsect1 id="InfdXmppServer.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
InfdXmppServer implements
 <link linkend="InfdXmlServer">InfdXmlServer</link>.</para>
</refsect1>


<refsect1 id="InfdXmppServer.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="InfdXmppServer--credentials">credentials</link>&quot;              <link linkend="InfCertificateCredentials">InfCertificateCredentials</link>*  : Read / Write / Construct
  &quot;<link linkend="InfdXmppServer--local-hostname">local-hostname</link>&quot;           <link linkend="gchar">gchar</link>*                : Read / Write / Construct Only
  &quot;<link linkend="InfdXmppServer--sasl-context">sasl-context</link>&quot;             <link linkend="gpointer">gpointer</link>              : Read / Write / Construct
  &quot;<link linkend="InfdXmppServer--sasl-mechanisms">sasl-mechanisms</link>&quot;          <link linkend="gchar">gchar</link>*                : Read / Write / Construct
  &quot;<link linkend="InfdXmppServer--security-policy">security-policy</link>&quot;          <link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link>  : Read / Write / Construct
  &quot;<link linkend="InfdXmppServer--tcp-server">tcp-server</link>&quot;               <link linkend="InfdTcpServer">InfdTcpServer</link>*        : Read / Write / Construct Only
</synopsis>
</refsect1>

<refsect1 id="InfdXmppServer.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="InfdXmppServer-error">error</link>&quot;                                          : Run Last
</synopsis>
</refsect1>


<refsect1 id="InfdXmppServer.description" role="desc">
<title role="desc.title">Description</title>
<para>
</para>
</refsect1>

<refsect1 id="InfdXmppServer.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="InfdXmppServer-struct" role="struct">
<title>InfdXmppServer</title>
<indexterm zone="InfdXmppServer-struct"><primary sortas="InfdXmppServer">InfdXmppServer</primary></indexterm><programlisting>typedef struct _InfdXmppServer InfdXmppServer;</programlisting>
<para>
</para></refsect2>
<refsect2 id="InfdXmppServerClass" role="struct">
<title>InfdXmppServerClass</title>
<indexterm zone="InfdXmppServerClass"><primary sortas="InfdXmppServerClass">InfdXmppServerClass</primary></indexterm><programlisting>typedef struct {
  GObjectClass parent_class;

  /* Signals */
  void (*error)(InfdXmppServer* server,
                GError* error);
} InfdXmppServerClass;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="infd-xmpp-server-new" role="function">
<title>infd_xmpp_server_new ()</title>
<indexterm zone="infd-xmpp-server-new"><primary sortas="infd_xmpp_server_new">infd_xmpp_server_new</primary></indexterm><programlisting><link linkend="InfdXmppServer">InfdXmppServer</link> *    infd_xmpp_server_new                (<link linkend="InfdTcpServer">InfdTcpServer</link> *tcp,
                                                         <link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link> policy,
                                                         <link linkend="InfCertificateCredentials">InfCertificateCredentials</link> *creds,
                                                         <link linkend="Gsasl">Gsasl</link> *sasl_context,
                                                         const <link linkend="gchar">gchar</link> *sasl_mechanisms);</programlisting>
<para>
Creates a new <link linkend="InfdXmppServer"><type>InfdXmppServer</type></link> with <parameter>tcp</parameter> as underlaying TCP server object.
No attempt is being made to open <parameter>tcp</parameter>, if it is not already open. When a
new connection comes in, the XMPP server creates a XMPP connection that
may be used to communicate with the client. Note however that the
resulting connection will be in status OPENING until authentication has
completed.
</para>
<para>
If <parameter>policy</parameter> is <link linkend="INF-XMPP-CONNECTION-SECURITY-ONLY-UNSECURED--CAPS"><literal>INF_XMPP_CONNECTION_SECURITY_ONLY_UNSECURED</literal></link>, then <parameter>creds</parameter> may
be <link linkend="NULL--CAPS"><literal>NULL</literal></link>. If <parameter>creds</parameter> is non-<link linkend="NULL--CAPS"><literal>NULL</literal></link> nevertheless, then it is possible to change
the security policy later using <link linkend="infd-xmpp-server-set-security-policy"><function>infd_xmpp_server_set_security_policy()</function></link>.
<parameter>creds</parameter> can also be changed later while the server is running. So just set
valid credentials before changing <parameter>policy</parameter> to allow TLS.
</para>
<para>
If <parameter>sasl_context</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the server uses a built-in context that only
supports ANONYMOUS authentication. If <parameter>sasl_context</parameter> is not <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then
<parameter>sasl_mechanisms</parameter> specifies the mechanisms offered to clients. If
<parameter>sasl_mechanisms</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then all available mechanims will be offered.
If <parameter>sasl_context</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then this parameter is ignored.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tcp</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="InfdTcpServer"><type>InfdTcpServer</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>policy</parameter>&#160;:</term>
<listitem><simpara> The initial security policy.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>creds</parameter>&#160;:</term>
<listitem><simpara> Certificate credentials used to secure any communication.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sasl_context</parameter>&#160;:</term>
<listitem><simpara> A SASL context used for authentication.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sasl_mechanisms</parameter>&#160;:</term>
<listitem><simpara> A whitespace-sparated list of SASL mechanisms.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A new <link linkend="InfdXmppServer"><type>InfdXmppServer</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="infd-xmpp-server-set-security-policy" role="function">
<title>infd_xmpp_server_set_security_policy ()</title>
<indexterm zone="infd-xmpp-server-set-security-policy"><primary sortas="infd_xmpp_server_set_security_policy">infd_xmpp_server_set_security_policy</primary></indexterm><programlisting><link linkend="void">void</link>                infd_xmpp_server_set_security_policy
                                                        (<link linkend="InfdXmppServer">InfdXmppServer</link> *server,
                                                         <link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link> policy);</programlisting>
<para>
Sets the security policy for newly accepted <link linkend="InfXmppConnection"><type>InfXmppConnection</type></link><!-- -->s.
Does not already established connections.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>server</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="InfdXmppServer"><type>InfdXmppServer</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>policy</parameter>&#160;:</term>
<listitem><simpara> The new security policy.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="infd-xmpp-server-get-security-policy" role="function">
<title>infd_xmpp_server_get_security_policy ()</title>
<indexterm zone="infd-xmpp-server-get-security-policy"><primary sortas="infd_xmpp_server_get_security_policy">infd_xmpp_server_get_security_policy</primary></indexterm><programlisting><link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link>  infd_xmpp_server_get_security_policy
                                                        (<link linkend="InfdXmppServer">InfdXmppServer</link> *server);</programlisting>
<para>
Returns the current security policy for newly accepted
<link linkend="InfXmppConnection"><type>InfXmppConnection</type></link><!-- -->s.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>server</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="InfdXmppServer"><type>InfdXmppServer</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The current security policy.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>
<refsect1 id="InfdXmppServer.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="InfdXmppServer--credentials" role="property"><title>The <literal>&quot;credentials&quot;</literal> property</title>
<indexterm zone="InfdXmppServer--credentials"><primary sortas="InfdXmppServer:credentials">InfdXmppServer:credentials</primary></indexterm><programlisting>  &quot;credentials&quot;              <link linkend="InfCertificateCredentials">InfCertificateCredentials</link>*  : Read / Write / Construct</programlisting>
<para>The certificate credentials for GnuTLS.</para></refsect2>
<refsect2 id="InfdXmppServer--local-hostname" role="property"><title>The <literal>&quot;local-hostname&quot;</literal> property</title>
<indexterm zone="InfdXmppServer--local-hostname"><primary sortas="InfdXmppServer:local-hostname">InfdXmppServer:local-hostname</primary></indexterm><programlisting>  &quot;local-hostname&quot;           <link linkend="gchar">gchar</link>*                : Read / Write / Construct Only</programlisting>
<para>Hostname of the server.</para><para>Default value: NULL</para>
</refsect2>
<refsect2 id="InfdXmppServer--sasl-context" role="property"><title>The <literal>&quot;sasl-context&quot;</literal> property</title>
<indexterm zone="InfdXmppServer--sasl-context"><primary sortas="InfdXmppServer:sasl-context">InfdXmppServer:sasl-context</primary></indexterm><programlisting>  &quot;sasl-context&quot;             <link linkend="gpointer">gpointer</link>              : Read / Write / Construct</programlisting>
<para>The GnuSASL context used for authentaction.</para></refsect2>
<refsect2 id="InfdXmppServer--sasl-mechanisms" role="property"><title>The <literal>&quot;sasl-mechanisms&quot;</literal> property</title>
<indexterm zone="InfdXmppServer--sasl-mechanisms"><primary sortas="InfdXmppServer:sasl-mechanisms">InfdXmppServer:sasl-mechanisms</primary></indexterm><programlisting>  &quot;sasl-mechanisms&quot;          <link linkend="gchar">gchar</link>*                : Read / Write / Construct</programlisting>
<para>The SASL mechanisms offered to the client for authentication.</para><para>Default value: NULL</para>
</refsect2>
<refsect2 id="InfdXmppServer--security-policy" role="property"><title>The <literal>&quot;security-policy&quot;</literal> property</title>
<indexterm zone="InfdXmppServer--security-policy"><primary sortas="InfdXmppServer:security-policy">InfdXmppServer:security-policy</primary></indexterm><programlisting>  &quot;security-policy&quot;          <link linkend="InfXmppConnectionSecurityPolicy">InfXmppConnectionSecurityPolicy</link>  : Read / Write / Construct</programlisting>
<para>Whether to offer or require TLS.</para><para>Default value: INF_XMPP_CONNECTION_SECURITY_ONLY_UNSECURED</para>
</refsect2>
<refsect2 id="InfdXmppServer--tcp-server" role="property"><title>The <literal>&quot;tcp-server&quot;</literal> property</title>
<indexterm zone="InfdXmppServer--tcp-server"><primary sortas="InfdXmppServer:tcp-server">InfdXmppServer:tcp-server</primary></indexterm><programlisting>  &quot;tcp-server&quot;               <link linkend="InfdTcpServer">InfdTcpServer</link>*        : Read / Write / Construct Only</programlisting>
<para>Underlaying TCP server.</para></refsect2>
</refsect1>

<refsect1 id="InfdXmppServer.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="InfdXmppServer-error" role="signal"><title>The <literal>&quot;error&quot;</literal> signal</title>
<indexterm zone="InfdXmppServer-error"><primary sortas="InfdXmppServer::error">InfdXmppServer::error</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="InfdXmppServer">InfdXmppServer</link> *infdxmppserver,
                                                        <link linkend="gpointer">gpointer</link>        arg1,
                                                        <link linkend="gpointer">gpointer</link>        user_data)           : Run Last</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>infdxmppserver</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>



</refentry>