1
<refentry id="libbonobo-bonobo-shlib-factory">
3
<refentrytitle>bonobo-shlib-factory</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>LIBBONOBO Library</refmiscinfo>
9
<refname>bonobo-shlib-factory</refname><refpurpose></refpurpose>
12
<refsynopsisdiv><title>Synopsis</title>
17
#define <link linkend="BONOBO-SHLIB-FACTORY-TYPE-CAPS">BONOBO_SHLIB_FACTORY_TYPE</link>
18
struct <link linkend="BonoboShlibFactoryPrivate">BonoboShlibFactoryPrivate</link>;
19
typedef <link linkend="BonoboShlibFactory">BonoboShlibFactory</link>;
20
typedef <link linkend="BonoboShlibFactoryClass">BonoboShlibFactoryClass</link>;
21
<link linkend="BonoboShlibFactory">BonoboShlibFactory</link>* <link linkend="bonobo-shlib-factory-construct">bonobo_shlib_factory_construct</link>
22
(<link linkend="BonoboShlibFactory">BonoboShlibFactory</link> *factory,
23
const char *component_id,
24
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
25
<link linkend="gpointer">gpointer</link> act_impl_ptr,
26
<link linkend="GClosure">GClosure</link> *closure);
27
<link linkend="BonoboShlibFactory">BonoboShlibFactory</link>* <link linkend="bonobo-shlib-factory-new">bonobo_shlib_factory_new</link>
28
(const char *component_id,
29
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
30
<link linkend="gpointer">gpointer</link> act_impl_ptr,
31
<link linkend="BonoboFactoryCallback">BonoboFactoryCallback</link> factory_cb,
32
<link linkend="gpointer">gpointer</link> user_data);
33
<link linkend="BonoboShlibFactory">BonoboShlibFactory</link>* <link linkend="bonobo-shlib-factory-new-closure">bonobo_shlib_factory_new_closure</link>
34
(const char *component_id,
35
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
36
<link linkend="gpointer">gpointer</link> act_impl_ptr,
37
<link linkend="GClosure">GClosure</link> *factory_closure);
38
<link linkend="Bonobo-Unknown">Bonobo_Unknown</link> <link linkend="bonobo-shlib-factory-std">bonobo_shlib_factory_std</link> (const char *component_id,
39
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
40
<link linkend="gpointer">gpointer</link> act_impl_ptr,
41
<link linkend="BonoboFactoryCallback">BonoboFactoryCallback</link> factory_cb,
42
<link linkend="gpointer">gpointer</link> user_data,
43
<link linkend="CORBA-Environment">CORBA_Environment</link> *ev);
44
#define <link linkend="BONOBO-OAF-SHLIB-FACTORY-CAPS">BONOBO_OAF_SHLIB_FACTORY</link> (oafiid, descr, fn, data)
45
#define <link linkend="BONOBO-OAF-SHLIB-FACTORY-MULTI-CAPS">BONOBO_OAF_SHLIB_FACTORY_MULTI</link> (oafiid, descr, fn, data)
46
#define <link linkend="BONOBO-ACTIVATION-SHLIB-FACTORY-CAPS">BONOBO_ACTIVATION_SHLIB_FACTORY</link> (oafiid, descr, fn, data)
56
<title>Description</title>
63
<title>Details</title>
65
<title><anchor id="BONOBO-SHLIB-FACTORY-TYPE-CAPS">BONOBO_SHLIB_FACTORY_TYPE</title>
66
<programlisting>#define BONOBO_SHLIB_FACTORY_TYPE BONOBO_TYPE_SHLIB_FACTORY /* deprecated, you should use BONOBO_TYPE_SHLIB_FACTORY */
72
<title><anchor id="BonoboShlibFactoryPrivate">struct BonoboShlibFactoryPrivate</title>
73
<programlisting>struct BonoboShlibFactoryPrivate;</programlisting>
78
<title><anchor id="BonoboShlibFactory">BonoboShlibFactory</title>
79
<programlisting>typedef struct {
80
BonoboGenericFactory base;
82
BonoboShlibFactoryPrivate *priv;
89
<title><anchor id="BonoboShlibFactoryClass">BonoboShlibFactoryClass</title>
90
<programlisting>typedef struct {
91
BonoboGenericFactoryClass parent_class;
92
} BonoboShlibFactoryClass;
98
<title><anchor id="bonobo-shlib-factory-construct">bonobo_shlib_factory_construct ()</title>
99
<programlisting><link linkend="BonoboShlibFactory">BonoboShlibFactory</link>* bonobo_shlib_factory_construct
100
(<link linkend="BonoboShlibFactory">BonoboShlibFactory</link> *factory,
101
const char *component_id,
102
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
103
<link linkend="gpointer">gpointer</link> act_impl_ptr,
104
<link linkend="GClosure">GClosure</link> *closure);</programlisting>
106
Initializes <parameter>c_factory</parameter> with the supplied data.</para>
109
</para><informaltable pgwide="1" frame="none" role="params">
111
<colspec colwidth="2*">
112
<colspec colwidth="8*">
114
<row><entry align="right"><parameter>factory</parameter> :</entry>
115
<entry> The object to be initialized.
117
<row><entry align="right"><parameter>component_id</parameter> :</entry>
120
<row><entry align="right"><parameter>poa</parameter> :</entry>
123
<row><entry align="right"><parameter>act_impl_ptr</parameter> :</entry>
124
<entry> Activation shlib handle
126
<row><entry align="right"><parameter>closure</parameter> :</entry>
127
<entry> The closure used to create new GnomeShlib object instances.
129
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The initialized BonoboShlibFactory object.
131
</tbody></tgroup></informaltable></refsect2>
133
<title><anchor id="bonobo-shlib-factory-new">bonobo_shlib_factory_new ()</title>
134
<programlisting><link linkend="BonoboShlibFactory">BonoboShlibFactory</link>* bonobo_shlib_factory_new
135
(const char *component_id,
136
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
137
<link linkend="gpointer">gpointer</link> act_impl_ptr,
138
<link linkend="BonoboFactoryCallback">BonoboFactoryCallback</link> factory_cb,
139
<link linkend="gpointer">gpointer</link> user_data);</programlisting>
141
This is a helper routine that simplifies the creation of factory
142
objects for GNOME objects. The <parameter>factory</parameter> function will be
143
invoked by the CORBA server when a request arrives to create a new
144
instance of an object supporting the Bonobo::Shlib interface.
145
The factory callback routine is passed the <parameter>data</parameter> pointer to provide
146
the creation function with some state information.</para>
149
</para><informaltable pgwide="1" frame="none" role="params">
151
<colspec colwidth="2*">
152
<colspec colwidth="8*">
154
<row><entry align="right"><parameter>component_id</parameter> :</entry>
157
<row><entry align="right"><parameter>poa</parameter> :</entry>
160
<row><entry align="right"><parameter>act_impl_ptr</parameter> :</entry>
161
<entry> Activation shlib handle
163
<row><entry align="right"><parameter>factory_cb</parameter> :</entry>
164
<entry> A callback which is used to create new BonoboObject instances.
166
<row><entry align="right"><parameter>user_data</parameter> :</entry>
167
<entry> The closure data to be passed to the <parameter>factory</parameter> callback routine.
169
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A BonoboShlibFactory object that has an activated
170
Bonobo::ShlibFactory object that has registered with the GNOME
173
</tbody></tgroup></informaltable></refsect2>
175
<title><anchor id="bonobo-shlib-factory-new-closure">bonobo_shlib_factory_new_closure ()</title>
176
<programlisting><link linkend="BonoboShlibFactory">BonoboShlibFactory</link>* bonobo_shlib_factory_new_closure
177
(const char *component_id,
178
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
179
<link linkend="gpointer">gpointer</link> act_impl_ptr,
180
<link linkend="GClosure">GClosure</link> *factory_closure);</programlisting>
182
This is a helper routine that simplifies the creation of factory
183
objects for GNOME objects. The <parameter>factory_closure</parameter> closure will be
184
invoked by the CORBA server when a request arrives to create a new
185
instance of an object supporting the Bonobo::Shlib interface.
186
The factory callback routine is passed the <parameter>data</parameter> pointer to provide
187
the creation function with some state information.</para>
190
</para><informaltable pgwide="1" frame="none" role="params">
192
<colspec colwidth="2*">
193
<colspec colwidth="8*">
195
<row><entry align="right"><parameter>component_id</parameter> :</entry>
198
<row><entry align="right"><parameter>poa</parameter> :</entry>
201
<row><entry align="right"><parameter>act_impl_ptr</parameter> :</entry>
202
<entry> Activation shlib handle
204
<row><entry align="right"><parameter>factory_closure</parameter> :</entry>
205
<entry> A closure which is used to create new BonoboObject instances.
207
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A BonoboShlibFactory object that has an activated
208
Bonobo::ShlibFactory object that has registered with the GNOME
211
</tbody></tgroup></informaltable></refsect2>
213
<title><anchor id="bonobo-shlib-factory-std">bonobo_shlib_factory_std ()</title>
214
<programlisting><link linkend="Bonobo-Unknown">Bonobo_Unknown</link> bonobo_shlib_factory_std (const char *component_id,
215
<link linkend="PortableServer-POA">PortableServer_POA</link> poa,
216
<link linkend="gpointer">gpointer</link> act_impl_ptr,
217
<link linkend="BonoboFactoryCallback">BonoboFactoryCallback</link> factory_cb,
218
<link linkend="gpointer">gpointer</link> user_data,
219
<link linkend="CORBA-Environment">CORBA_Environment</link> *ev);</programlisting>
221
A Generic std shlib routine so we don't stick a load of code
222
inside a public macro.</para>
225
</para><informaltable pgwide="1" frame="none" role="params">
227
<colspec colwidth="2*">
228
<colspec colwidth="8*">
230
<row><entry align="right"><parameter>component_id</parameter> :</entry>
233
<row><entry align="right"><parameter>poa</parameter> :</entry>
236
<row><entry align="right"><parameter>act_impl_ptr</parameter> :</entry>
239
<row><entry align="right"><parameter>factory_cb</parameter> :</entry>
242
<row><entry align="right"><parameter>user_data</parameter> :</entry>
245
<row><entry align="right"><parameter>ev</parameter> :</entry>
248
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> 0 on success, 1 on failure.
250
</tbody></tgroup></informaltable></refsect2>
252
<title><anchor id="BONOBO-OAF-SHLIB-FACTORY-CAPS">BONOBO_OAF_SHLIB_FACTORY()</title>
253
<programlisting>#define BONOBO_OAF_SHLIB_FACTORY(oafiid, descr, fn, data)</programlisting>
256
</para><informaltable pgwide="1" frame="none" role="params">
258
<colspec colwidth="2*">
259
<colspec colwidth="8*">
261
<row><entry align="right"><parameter>oafiid</parameter> :</entry>
264
<row><entry align="right"><parameter>descr</parameter> :</entry>
267
<row><entry align="right"><parameter>fn</parameter> :</entry>
270
<row><entry align="right"><parameter>data</parameter> :</entry>
275
</tbody></tgroup></informaltable></refsect2>
277
<title><anchor id="BONOBO-OAF-SHLIB-FACTORY-MULTI-CAPS">BONOBO_OAF_SHLIB_FACTORY_MULTI()</title>
278
<programlisting>#define BONOBO_OAF_SHLIB_FACTORY_MULTI(oafiid, descr, fn, data)</programlisting>
281
</para><informaltable pgwide="1" frame="none" role="params">
283
<colspec colwidth="2*">
284
<colspec colwidth="8*">
286
<row><entry align="right"><parameter>oafiid</parameter> :</entry>
289
<row><entry align="right"><parameter>descr</parameter> :</entry>
292
<row><entry align="right"><parameter>fn</parameter> :</entry>
295
<row><entry align="right"><parameter>data</parameter> :</entry>
300
</tbody></tgroup></informaltable></refsect2>
302
<title><anchor id="BONOBO-ACTIVATION-SHLIB-FACTORY-CAPS">BONOBO_ACTIVATION_SHLIB_FACTORY()</title>
303
<programlisting>#define BONOBO_ACTIVATION_SHLIB_FACTORY(oafiid, descr, fn, data)</programlisting>
306
</para><informaltable pgwide="1" frame="none" role="params">
308
<colspec colwidth="2*">
309
<colspec colwidth="8*">
311
<row><entry align="right"><parameter>oafiid</parameter> :</entry>
314
<row><entry align="right"><parameter>descr</parameter> :</entry>
317
<row><entry align="right"><parameter>fn</parameter> :</entry>
320
<row><entry align="right"><parameter>data</parameter> :</entry>
325
</tbody></tgroup></informaltable></refsect2>