8
8
<link rel="up" href="monikers.html" title="Monikers">
9
9
<link rel="prev" href="libbonobo-bonobo-moniker-extender.html" title="BonoboMonikerExtender">
10
10
<link rel="next" href="libbonobo-bonobo-item-container.html" title="BonoboItemContainer">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="chapter" href="general.html" title="General">
14
14
<link rel="chapter" href="factories.html" title="Objects, Factories, Reference Counting">
31
31
<tr><td colspan="5" class="shortcuts">
32
32
<a href="#libbonobo-bonobo-item-handler.synopsis" class="shortcut">Top</a>
34
<a href="#libbonobo-bonobo-item-handler.description" class="shortcut">Description</a>
36
<a href="#libbonobo-bonobo-item-handler.object-hierarchy" class="shortcut">Object Hierarchy</a>
34
<a href="#libbonobo-bonobo-item-handler.description" class="shortcut">Description</a>
36
<a href="#libbonobo-bonobo-item-handler.object-hierarchy" class="shortcut">Object Hierarchy</a>
39
39
<div class="refentry" title="BonoboItemHandler">
47
47
</tr></table></div>
48
48
<div class="refsynopsisdiv" title="Synopsis">
49
49
<a name="libbonobo-bonobo-item-handler.synopsis"></a><h2>Synopsis</h2>
50
<a name="BonoboItemHandler"></a><pre class="synopsis">
51
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler-struct" title="BonoboItemHandler">BonoboItemHandler</a>;
50
<a name="BonoboItemHandler"></a><pre class="synopsis"> <a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler-struct" title="BonoboItemHandler">BonoboItemHandler</a>;
52
51
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandlerClass" title="BonoboItemHandlerClass">BonoboItemHandlerClass</a>;
53
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-handler-new" title="bonobo_item_handler_new ()">bonobo_item_handler_new</a> (BonoboItemHandlerEnumObjectsFn enum_objects,
54
BonoboItemHandlerGetObjectFn get_object,
56
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
57
>gpointer</a> user_data);
58
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-handler-new-closure" title="bonobo_item_handler_new_closure ()">bonobo_item_handler_new_closure</a> (<a
59
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
60
>GClosure</a> *enum_objects,
62
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
63
>GClosure</a> *get_object);
64
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-handler-construct" title="bonobo_item_handler_construct ()">bonobo_item_handler_construct</a> (<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> *handler,
66
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
67
>GClosure</a> *enum_objects,
69
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
70
>GClosure</a> *get_object);
52
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-handler-new" title="bonobo_item_handler_new ()">bonobo_item_handler_new</a> (<span class="returnvalue">BonoboItemHandlerEnumObjectsFn</span> enum_objects,
53
<span class="returnvalue">BonoboItemHandlerGetObjectFn</span> get_object,
54
<span class="returnvalue">gpointer</span> user_data);
55
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-handler-new-closure" title="bonobo_item_handler_new_closure ()">bonobo_item_handler_new_closure</a> (<span class="returnvalue">GClosure</span> *enum_objects,
56
<span class="returnvalue">GClosure</span> *get_object);
57
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-handler-construct" title="bonobo_item_handler_construct ()">bonobo_item_handler_construct</a> (<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> *handler,
58
<span class="returnvalue">GClosure</span> *enum_objects,
59
<span class="returnvalue">GClosure</span> *get_object);
71
60
<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemOption" title="BonoboItemOption">BonoboItemOption</a>;
73
href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"
74
>GSList</a> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-option-parse" title="bonobo_item_option_parse ()">bonobo_item_option_parse</a> (const char *option_string);
75
void <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-options-free" title="bonobo_item_options_free ()">bonobo_item_options_free</a> (<a
76
href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"
77
>GSList</a> *options);
61
<span class="returnvalue">GSList</span> * <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-option-parse" title="bonobo_item_option_parse ()">bonobo_item_option_parse</a> (const <span class="returnvalue">char</span> *option_string);
62
<span class="returnvalue">void</span> <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-options-free" title="bonobo_item_options_free ()">bonobo_item_options_free</a> (<span class="returnvalue">GSList</span> *options);
80
65
<div class="refsect1" title="Object Hierarchy">
81
66
<a name="libbonobo-bonobo-item-handler.object-hierarchy"></a><h2>Object Hierarchy</h2>
82
67
<pre class="synopsis">
84
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
86
69
+----<a class="link" href="libbonobo-bonobo-object.html#BonoboObject">BonoboObject</a>
87
70
+----BonoboItemHandler
112
95
mechanism is trying to resolve a set of arguments to your
115
<div class="informalexample"><pre class="programlisting">
117
getObject (BonoboItemHandler *h, const char *item_name,
98
<div class="informalexample">
99
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
102
<td class="listing_lines" align="right"><pre>1
114
<td class="listing_code"><pre class="programlisting">Bonobo_Unknown
115
getObject (BonoboItemHandler *h, <span class="type">const</span> <span class="type">char</span> *item_name,
118
116
gboolean only_if_exists, gpointer data,
119
117
CORBA_Environment *ev)
121
119
MyData *m = data;
122
if (strcmp (item_name, "friendly") == 0){
123
m->friendly = true;
120
<span class="keyword">if</span> (strcmp (item_name, <span class="number">"friendly"</span>) == <span class="number">0</span>){
121
m->friendly = <span class="number">true</span>;
125
/* we just return ourselves */
126
return bonobo_object_dup_ref (bonobo_object_corba_objref (h), NULL);
123
<span class="comment">/*</span><span class="comment"> we just return ourselves </span><span class="comment">*/</span>
124
<span class="keyword">return</span> bonobo_object_dup_ref (bonobo_object_corba_objref (h), <span class="number">NULL</span>);
130
132
So basically during the `getObject' operation you will be
131
133
given a chance to process the `item_name' string which is
148
150
functions that given the following string:</p>
149
151
<p><code class="literal">visible=true;image=blah.png</code></p>
150
152
<p>Will return a GList split with BonoboItemOptions:</p>
151
<div class="informalexample"><pre class="programlisting">
153
x = bonobo_item_option_parse ("visible=true;image=blah.png");
154
for (l = x; l != NULL; l++){
155
BonoboItemOption *io = l->data;
156
printf ("Key=%s, Value=%s\n", io->key, io->value);
153
<div class="informalexample">
154
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
157
<td class="listing_lines" align="right"><pre>1
164
<td class="listing_code"><pre class="programlisting">GSList *l, *x;
165
x = bonobo_item_option_parse (<span class="number">"visible=true;image=blah.png"</span>);
166
<span class="keyword">for</span> (l = x; l != <span class="number">NULL</span>; l++){
167
BonoboItemOption *io = l->data;
168
printf (<span class="number">"Key=</span><span class="symbol">%s</span><span class="number">, Value=</span><span class="symbol">%s</span><span class="symbol">\n</span><span class="number">"</span>, io->key, io->value);
158
bonobo_item_option_free (x);
170
bonobo_item_option_free (x);</pre></td>
162
178
<div class="refsect1" title="Details">
185
201
<div class="refsect2" title="bonobo_item_handler_new ()">
186
202
<a name="bonobo-item-handler-new"></a><h3>bonobo_item_handler_new ()</h3>
187
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> * bonobo_item_handler_new (BonoboItemHandlerEnumObjectsFn enum_objects,
188
BonoboItemHandlerGetObjectFn get_object,
190
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
191
>gpointer</a> user_data);</pre>
203
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> * bonobo_item_handler_new (<span class="returnvalue">BonoboItemHandlerEnumObjectsFn</span> enum_objects,
204
<span class="returnvalue">BonoboItemHandlerGetObjectFn</span> get_object,
205
<span class="returnvalue">gpointer</span> user_data);</pre>
193
207
Creates a new BonoboItemHandler object. These are used to hold
194
208
client sites.</p>
197
209
<div class="variablelist"><table border="0">
198
210
<col align="left" valign="top">
224
236
<div class="refsect2" title="bonobo_item_handler_new_closure ()">
225
237
<a name="bonobo-item-handler-new-closure"></a><h3>bonobo_item_handler_new_closure ()</h3>
226
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> * bonobo_item_handler_new_closure (<a
227
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
228
>GClosure</a> *enum_objects,
230
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
231
>GClosure</a> *get_object);</pre>
238
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> * bonobo_item_handler_new_closure (<span class="returnvalue">GClosure</span> *enum_objects,
239
<span class="returnvalue">GClosure</span> *get_object);</pre>
233
241
Creates a new BonoboItemHandler object. These are used to hold
234
242
client sites.</p>
237
243
<div class="variablelist"><table border="0">
238
244
<col align="left" valign="top">
259
265
<div class="refsect2" title="bonobo_item_handler_construct ()">
260
266
<a name="bonobo-item-handler-construct"></a><h3>bonobo_item_handler_construct ()</h3>
261
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> * bonobo_item_handler_construct (<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler">BonoboItemHandler</a> *handler,
263
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
264
>GClosure</a> *enum_objects,
266
href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"
267
>GClosure</a> *get_object);</pre>
267
<pre class="programlisting"><a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> * bonobo_item_handler_construct (<a class="link" href="libbonobo-bonobo-item-handler.html#BonoboItemHandler"><span class="returnvalue">BonoboItemHandler</span></a> *handler,
268
<span class="returnvalue">GClosure</span> *enum_objects,
269
<span class="returnvalue">GClosure</span> *get_object);</pre>
269
271
Constructs the <em class="parameter"><code>container</code></em> BonoboObject using the provided closures
270
272
for the actual implementation.</p>
273
273
<div class="variablelist"><table border="0">
274
274
<col align="left" valign="top">
312
312
<div class="refsect2" title="bonobo_item_option_parse ()">
313
313
<a name="bonobo-item-option-parse"></a><h3>bonobo_item_option_parse ()</h3>
314
<pre class="programlisting"><a
315
href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"
316
>GSList</a> * bonobo_item_option_parse (const char *option_string);</pre>
314
<pre class="programlisting"><span class="returnvalue">GSList</span> * bonobo_item_option_parse (const <span class="returnvalue">char</span> *option_string);</pre>
319
317
<div class="variablelist"><table border="0">
336
334
<div class="refsect2" title="bonobo_item_options_free ()">
337
335
<a name="bonobo-item-options-free"></a><h3>bonobo_item_options_free ()</h3>
338
<pre class="programlisting">void bonobo_item_options_free (<a
339
href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"
340
>GSList</a> *options);</pre>
336
<pre class="programlisting"><span class="returnvalue">void</span> bonobo_item_options_free (<span class="returnvalue">GSList</span> *options);</pre>
342
338
Use this to release a list returned by <a class="link" href="libbonobo-bonobo-item-handler.html#bonobo-item-option-parse" title="bonobo_item_option_parse ()"><code class="function">bonobo_item_option_parse()</code></a></p>
345
339
<div class="variablelist"><table border="0">
346
340
<col align="left" valign="top">