2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
3
<refentry id="GUPnPResourceFactory">
5
<refentrytitle role="top_of_page" id="GUPnPResourceFactory.top_of_page">GUPnPResourceFactory</refentrytitle>
6
<manvolnum>3</manvolnum>
7
<refmiscinfo>GUPNP Library</refmiscinfo>
11
<refname>GUPnPResourceFactory</refname>
12
<refpurpose>Class for resource and resource proxy object creation.</refpurpose>
13
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
16
<refsynopsisdiv id="GUPnPResourceFactory.synopsis" role="synopsis">
17
<title role="synopsis.title">Synopsis</title>
20
<link linkend="GUPnPResourceFactory-struct">GUPnPResourceFactory</link>;
21
<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link>* <link linkend="gupnp-resource-factory-new">gupnp_resource_factory_new</link> (void);
22
<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link>* <link linkend="gupnp-resource-factory-get-default">gupnp_resource_factory_get_default</link>
24
<link linkend="void">void</link> <link linkend="gupnp-resource-factory-register-resource-type">gupnp_resource_factory_register_resource_type</link>
25
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
26
const <link linkend="char">char</link> *upnp_type,
27
<link linkend="GType">GType</link> type);
28
<link linkend="gboolean">gboolean</link> <link linkend="gupnp-resource-factory-unregister-resource-type">gupnp_resource_factory_unregister_resource_type</link>
29
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
30
const <link linkend="char">char</link> *upnp_type);
31
<link linkend="void">void</link> <link linkend="gupnp-resource-factory-register-resource-proxy-type">gupnp_resource_factory_register_resource_proxy_type</link>
32
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
33
const <link linkend="char">char</link> *upnp_type,
34
<link linkend="GType">GType</link> type);
35
<link linkend="gboolean">gboolean</link> <link linkend="gupnp-resource-factory-unregister-resource-proxy-type">gupnp_resource_factory_unregister_resource_proxy_type</link>
36
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
37
const <link linkend="char">char</link> *upnp_type);
41
<refsect1 id="GUPnPResourceFactory.object-hierarchy" role="object_hierarchy">
42
<title role="object_hierarchy.title">Object Hierarchy</title>
44
<link linkend="GObject">GObject</link>
45
+----GUPnPResourceFactory
57
<refsect1 id="GUPnPResourceFactory.description" role="desc">
58
<title role="desc.title">Description</title>
60
<link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link> objects are used by <link linkend="GUPnPControlPoint"><type>GUPnPControlPoint</type></link>,
61
<link linkend="GUPnPDeviceProxy"><type>GUPnPDeviceProxy</type></link> and <link linkend="GUPnPDevice"><type>GUPnPDevice</type></link> to create resource proxy and resource
62
objects. Register UPnP type - <link linkend="GType"><type>GType</type></link> pairs to have resource or resource proxy
63
objects created with the specified <link linkend="GType"><type>GType</type></link> whenever an object for a resource
64
of the specified UPnP type is requested. The <link linkend="GType"><type>GType</type></link><!-- -->s need
65
to be derived from the relevant resource or resource proxy type (e.g.
66
a device proxy type needs to be derived from <link linkend="GUPnPDeviceProxy"><type>GUPnPDeviceProxy</type></link>).</para>
72
<refsect1 id="GUPnPResourceFactory.details" role="details">
73
<title role="details.title">Details</title>
74
<refsect2 id="GUPnPResourceFactory-struct" role="struct">
75
<title>GUPnPResourceFactory</title>
76
<indexterm zone="GUPnPResourceFactory-struct"><primary>GUPnPResourceFactory</primary></indexterm><programlisting>typedef struct _GUPnPResourceFactory GUPnPResourceFactory;</programlisting>
78
This struct contains private data only, and should be accessed using the
79
functions below.</para>
83
<refsect2 id="gupnp-resource-factory-new" role="function">
84
<title>gupnp_resource_factory_new ()</title>
85
<indexterm zone="gupnp-resource-factory-new"><primary>gupnp_resource_factory_new</primary></indexterm><programlisting><link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link>* gupnp_resource_factory_new (void);</programlisting>
87
Create a new <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link> object.</para>
90
</para><variablelist role="params">
91
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link> object.
92
</simpara></listitem></varlistentry>
93
</variablelist></refsect2>
94
<refsect2 id="gupnp-resource-factory-get-default" role="function">
95
<title>gupnp_resource_factory_get_default ()</title>
96
<indexterm zone="gupnp-resource-factory-get-default"><primary>gupnp_resource_factory_get_default</primary></indexterm><programlisting><link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link>* gupnp_resource_factory_get_default
97
(void);</programlisting>
99
Get the default singleton <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link> object.</para>
102
</para><variablelist role="params">
103
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A <parameter>GUPnPResourceFactory</parameter> object.
104
</simpara></listitem></varlistentry>
105
</variablelist></refsect2>
106
<refsect2 id="gupnp-resource-factory-register-resource-type" role="function">
107
<title>gupnp_resource_factory_register_resource_type ()</title>
108
<indexterm zone="gupnp-resource-factory-register-resource-type"><primary>gupnp_resource_factory_register_resource_type</primary></indexterm><programlisting><link linkend="void">void</link> gupnp_resource_factory_register_resource_type
109
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
110
const <link linkend="char">char</link> *upnp_type,
111
<link linkend="GType">GType</link> type);</programlisting>
113
Registers the GType <parameter>type</parameter> for the resource of UPnP type <parameter>upnp_type</parameter>. After
114
this call, the factory <parameter>factory</parameter> will create object of GType <parameter>type</parameter> each time
115
it is asked to create a resource object for UPnP type <parameter>upnp_type</parameter>.
118
Note: GType <parameter>type</parameter> must be a derived type of <link linkend="GUPNP-TYPE-DEVICE:CAPS"><type>GUPNP_TYPE_DEVICE</type></link> if resource is
119
a device or <link linkend="GUPNP-TYPE-SERVICE:CAPS"><type>GUPNP_TYPE_SERVICE</type></link> if its a service.</para>
122
</para><variablelist role="params">
123
<varlistentry><term><parameter>factory</parameter> :</term>
124
<listitem><simpara> A <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link>.
125
</simpara></listitem></varlistentry>
126
<varlistentry><term><parameter>upnp_type</parameter> :</term>
127
<listitem><simpara> The UPnP type name of the resource.
128
</simpara></listitem></varlistentry>
129
<varlistentry><term><parameter>type</parameter> :</term>
130
<listitem><simpara> The requested GType assignment for the resource.
131
</simpara></listitem></varlistentry>
132
</variablelist></refsect2>
133
<refsect2 id="gupnp-resource-factory-unregister-resource-type" role="function">
134
<title>gupnp_resource_factory_unregister_resource_type ()</title>
135
<indexterm zone="gupnp-resource-factory-unregister-resource-type"><primary>gupnp_resource_factory_unregister_resource_type</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gupnp_resource_factory_unregister_resource_type
136
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
137
const <link linkend="char">char</link> *upnp_type);</programlisting>
139
Unregisters the GType assignment for the resource of UPnP type <parameter>upnp_type</parameter>.</para>
142
</para><variablelist role="params">
143
<varlistentry><term><parameter>factory</parameter> :</term>
144
<listitem><simpara> A <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link>.
145
</simpara></listitem></varlistentry>
146
<varlistentry><term><parameter>upnp_type</parameter> :</term>
147
<listitem><simpara> The UPnP type name of the resource.
148
</simpara></listitem></varlistentry>
149
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if GType assignment was removed successfully, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
151
</simpara></listitem></varlistentry>
152
</variablelist></refsect2>
153
<refsect2 id="gupnp-resource-factory-register-resource-proxy-type" role="function">
154
<title>gupnp_resource_factory_register_resource_proxy_type ()</title>
155
<indexterm zone="gupnp-resource-factory-register-resource-proxy-type"><primary>gupnp_resource_factory_register_resource_proxy_type</primary></indexterm><programlisting><link linkend="void">void</link> gupnp_resource_factory_register_resource_proxy_type
156
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
157
const <link linkend="char">char</link> *upnp_type,
158
<link linkend="GType">GType</link> type);</programlisting>
160
Registers the GType <parameter>type</parameter> for the proxy of resource of UPnP type <parameter>upnp_type</parameter>.
161
After this call, the factory <parameter>factory</parameter> will create object of GType <parameter>type</parameter> each
162
time it is asked to create a resource proxy object for UPnP type <parameter>upnp_type</parameter>.
165
Note: GType <parameter>type</parameter> must be a derived type of <link linkend="GUPNP-TYPE-DEVICE-PROXY:CAPS"><type>GUPNP_TYPE_DEVICE_PROXY</type></link> if
166
resource is a device or <link linkend="GUPNP-TYPE-SERVICE-PROXY:CAPS"><type>GUPNP_TYPE_SERVICE_PROXY</type></link> if its a service.</para>
169
</para><variablelist role="params">
170
<varlistentry><term><parameter>factory</parameter> :</term>
171
<listitem><simpara> A <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link>.
172
</simpara></listitem></varlistentry>
173
<varlistentry><term><parameter>upnp_type</parameter> :</term>
174
<listitem><simpara> The UPnP type name of the resource.
175
</simpara></listitem></varlistentry>
176
<varlistentry><term><parameter>type</parameter> :</term>
177
<listitem><simpara> The requested GType assignment for the resource proxy.
178
</simpara></listitem></varlistentry>
179
</variablelist></refsect2>
180
<refsect2 id="gupnp-resource-factory-unregister-resource-proxy-type" role="function">
181
<title>gupnp_resource_factory_unregister_resource_proxy_type ()</title>
182
<indexterm zone="gupnp-resource-factory-unregister-resource-proxy-type"><primary>gupnp_resource_factory_unregister_resource_proxy_type</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gupnp_resource_factory_unregister_resource_proxy_type
183
(<link linkend="GUPnPResourceFactory">GUPnPResourceFactory</link> *factory,
184
const <link linkend="char">char</link> *upnp_type);</programlisting>
186
Unregisters the GType assignment for the proxy of resource of UPnP type
187
<parameter>upnp_type</parameter>.</para>
190
</para><variablelist role="params">
191
<varlistentry><term><parameter>factory</parameter> :</term>
192
<listitem><simpara> A <link linkend="GUPnPResourceFactory"><type>GUPnPResourceFactory</type></link>.
193
</simpara></listitem></varlistentry>
194
<varlistentry><term><parameter>upnp_type</parameter> :</term>
195
<listitem><simpara> The UPnP type name of the resource.
196
</simpara></listitem></varlistentry>
197
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if GType assignment was removed successfully, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
199
</simpara></listitem></varlistentry>
200
</variablelist></refsect2>