~ubuntu-branches/ubuntu/quantal/libbonobo/quantal-201207170711

« back to all changes in this revision

Viewing changes to doc/api/html/libbonobo-bonobo-context.html

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2005-02-18 14:40:51 UTC
  • mto: (3.1.1 etch) (1.1.25 upstream)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20050218144051-fo4h9qh2gim8x3wt
Tags: upstream-2.8.1
ImportĀ upstreamĀ versionĀ 2.8.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<HTML
2
 
><HEAD
3
 
><TITLE
4
 
>bonobo-context</TITLE
5
 
><META
6
 
NAME="GENERATOR"
7
 
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8
 
"><LINK
9
 
REL="HOME"
10
 
TITLE="Libbonobo Reference Manual"
11
 
HREF="index.html"><LINK
12
 
REL="UP"
13
 
TITLE="Libbonobo API Reference Manual"
14
 
HREF="c4.html"><LINK
15
 
REL="PREVIOUS"
16
 
TITLE="bonobo-config-database"
17
 
HREF="libbonobo-bonobo-config-database.html"><LINK
18
 
REL="NEXT"
19
 
TITLE="bonobo-exception"
20
 
HREF="libbonobo-bonobo-exception.html"></HEAD
21
 
><BODY
22
 
CLASS="REFENTRY"
23
 
BGCOLOR="#FFFFFF"
24
 
TEXT="#000000"
25
 
LINK="#0000FF"
26
 
VLINK="#840084"
27
 
ALINK="#0000FF"
28
 
><DIV
29
 
CLASS="NAVHEADER"
30
 
><TABLE
31
 
WIDTH="100%"
32
 
BORDER="0"
33
 
BGCOLOR="#000000"
34
 
CELLPADDING="1"
35
 
CELLSPACING="0"
36
 
><TR
37
 
><TH
38
 
COLSPAN="4"
39
 
ALIGN="center"
40
 
><FONT
41
 
COLOR="#FFFFFF"
42
 
SIZE="5"
43
 
>Libbonobo Reference Manual</FONT
44
 
></TH
45
 
></TR
46
 
><TR
47
 
><TD
48
 
WIDTH="25%"
49
 
BGCOLOR="#C00000"
50
 
ALIGN="left"
51
 
><A
52
 
HREF="libbonobo-bonobo-config-database.html"
53
 
><FONT
54
 
COLOR="#FFFFFF"
55
 
SIZE="3"
56
 
><B
57
 
>&#60;&#60;&#60; Previous Page</B
58
 
></FONT
59
 
></A
60
 
></TD
61
 
><TD
62
 
WIDTH="25%"
63
 
BGCOLOR="#0000C0"
64
 
ALIGN="center"
65
 
><FONT
66
 
COLOR="#FFFFFF"
67
 
SIZE="3"
68
 
><B
69
 
><A
70
 
HREF="index.html"
71
 
><FONT
72
 
COLOR="#FFFFFF"
73
 
SIZE="3"
74
 
><B
75
 
>Home</B
76
 
></FONT
77
 
></A
78
 
></B
79
 
></FONT
80
 
></TD
81
 
><TD
82
 
WIDTH="25%"
83
 
BGCOLOR="#00C000"
84
 
ALIGN="center"
85
 
><FONT
86
 
COLOR="#FFFFFF"
87
 
SIZE="3"
88
 
><B
89
 
><A
90
 
HREF="c4.html"
91
 
><FONT
92
 
COLOR="#FFFFFF"
93
 
SIZE="3"
94
 
><B
95
 
>Up</B
96
 
></FONT
97
 
></A
98
 
></B
99
 
></FONT
100
 
></TD
101
 
><TD
102
 
WIDTH="25%"
103
 
BGCOLOR="#C00000"
104
 
ALIGN="right"
105
 
><A
106
 
HREF="libbonobo-bonobo-exception.html"
107
 
><FONT
108
 
COLOR="#FFFFFF"
109
 
SIZE="3"
110
 
><B
111
 
>Next Page &#62;&#62;&#62;</B
112
 
></FONT
113
 
></A
114
 
></TD
115
 
></TR
116
 
></TABLE
117
 
></DIV
118
 
><H1
119
 
><A
120
 
NAME="LIBBONOBO-BONOBO-CONTEXT"
121
 
>bonobo-context</A
122
 
></H1
123
 
><DIV
124
 
CLASS="REFNAMEDIV"
125
 
><A
126
 
NAME="AEN6459"
127
 
></A
128
 
><H2
129
 
>Name</H2
130
 
>bonobo-context&nbsp;--&nbsp;Extensible runtime service interface</DIV
131
 
><DIV
132
 
CLASS="REFSYNOPSISDIV"
133
 
><A
134
 
NAME="AEN6462"
135
 
></A
136
 
><H2
137
 
>Synopsis</H2
138
 
><TABLE
139
 
BORDER="0"
140
 
BGCOLOR="#D6E8FF"
141
 
WIDTH="100%"
142
 
CELLPADDING="6"
143
 
><TR
144
 
><TD
145
 
><PRE
146
 
CLASS="SYNOPSIS"
147
 
>&#13;
148
 
 
149
 
Bonobo_Unknown <A
150
 
HREF="libbonobo-bonobo-context.html#BONOBO-CONTEXT-GET"
151
 
>bonobo_context_get</A
152
 
>           (const CORBA_char *context_name,
153
 
                                             CORBA_Environment *opt_ev);
154
 
void        <A
155
 
HREF="libbonobo-bonobo-context.html#BONOBO-CONTEXT-ADD"
156
 
>bonobo_context_add</A
157
 
>              (const CORBA_char *context_name,
158
 
                                             Bonobo_Unknown context);
159
 
<A
160
 
HREF="libbonobo-bonobo-object.html#BONOBOOBJECT"
161
 
>BonoboObject</A
162
 
>* <A
163
 
HREF="libbonobo-bonobo-context.html#BONOBO-CONTEXT-RUNNING-GET"
164
 
>bonobo_context_running_get</A
165
 
>    (void);
166
 
void        <A
167
 
HREF="libbonobo-bonobo-context.html#BONOBO-RUNNING-CONTEXT-AUTO-EXIT-UNREF"
168
 
>bonobo_running_context_auto_exit_unref</A
169
 
>
170
 
                                            (<A
171
 
HREF="libbonobo-bonobo-object.html#BONOBOOBJECT"
172
 
>BonoboObject</A
173
 
> *object);</PRE
174
 
></TD
175
 
></TR
176
 
></TABLE
177
 
></DIV
178
 
><DIV
179
 
CLASS="REFSECT1"
180
 
><A
181
 
NAME="AEN6476"
182
 
></A
183
 
><H2
184
 
>Description</H2
185
 
><P
186
 
>The bonobo-context code is designed to provide a way to
187
 
expose CORBA contexts through a single C interface. This
188
 
is so that language bindings can get away with wrapping
189
 
a single function, and yet have access to the whole
190
 
Bonobo service framework. Two examples of this are the
191
 
MonikerContext and the RunningContext ( see
192
 
Bonobo_Context.idl ).</P
193
 
><P
194
 
>  <DIV
195
 
CLASS="EXAMPLE"
196
 
><A
197
 
NAME="AEN6480"
198
 
></A
199
 
><P
200
 
><B
201
 
>Example 1. Getting and using the moniker context</B
202
 
></P
203
 
><TABLE
204
 
BORDER="0"
205
 
BGCOLOR="#D8F8D8"
206
 
WIDTH="100%"
207
 
CELLPADDING="6"
208
 
><TR
209
 
><TD
210
 
><PRE
211
 
CLASS="PROGRAMLISTING"
212
 
>Bonobo_MonikerContext context;
213
 
Bonobo_Unknown        object;
214
 
 
215
 
context = bonobo_context_get ("Activation", NULL);
216
 
 
217
 
if (context == CORBA_OBJECT_NIL)
218
 
        g_error (_("Internal error, no activation context"));
219
 
 
220
 
object = Bonobo_MonikerContext_getObject (
221
 
        "file:/demo/a.jpeg", "Bonobo/Control", ev);
222
 
...
223
 
     </PRE
224
 
></TD
225
 
></TR
226
 
></TABLE
227
 
></DIV
228
 
></P
229
 
><P
230
 
>The list of contexts is open and may be expanded in the future,
231
 
currently there are the following:
232
 
  <P
233
 
></P
234
 
><UL
235
 
><LI
236
 
><P
237
 
>        Activation - Bonobo/MonikerContext
238
 
      </P
239
 
></LI
240
 
><LI
241
 
><P
242
 
>        Running - Bonobo/RunningContext
243
 
      </P
244
 
></LI
245
 
></UL
246
 
></P
247
 
><P
248
 
>The running context is particularly useful for ensuring that
249
 
server processes exit cleanly when all their objects and
250
 
derived objects are dead. To do this we can simply do the
251
 
following:</P
252
 
><P
253
 
>  <DIV
254
 
CLASS="EXAMPLE"
255
 
><A
256
 
NAME="AEN6491"
257
 
></A
258
 
><P
259
 
><B
260
 
>Example 2. How to get a factory to quit when it is idle</B
261
 
></P
262
 
><TABLE
263
 
BORDER="0"
264
 
BGCOLOR="#D8F8D8"
265
 
WIDTH="100%"
266
 
CELLPADDING="6"
267
 
><TR
268
 
><TD
269
 
><PRE
270
 
CLASS="PROGRAMLISTING"
271
 
>static void
272
 
last_unref_exit_cb (gpointer      context,
273
 
                    BonoboObject *factory)
274
 
{
275
 
        bonobo_object_unref (factory);
276
 
        <A
277
 
HREF=../gtk/gtk-general.html#GTK-MAIN-QUIT
278
 
>gtk_main_quit</A>();
279
 
}
280
 
...
281
 
int main (int argc, char **argv)
282
 
{
283
 
        ...
284
 
        bonobo_running_context_ignore_object (BONOBO_OBJREF (object));
285
 
 
286
 
        gtk_signal_connect (GTK_OBJECT (<A
287
 
HREF="libbonobo-bonobo-context.html#BONOBO-CONTEXT-RUNNING-GET"
288
 
>bonobo_context_running_get</A
289
 
>()),
290
 
                            "last_unref", last_unref_exit_cb, factory);
291
 
        ...
292
 
        <A
293
 
HREF="libbonobo-bonobo-main.html#BONOBO-MAIN"
294
 
>bonobo_main</A
295
 
>();
296
 
}
297
 
    </PRE
298
 
></TD
299
 
></TR
300
 
></TABLE
301
 
></DIV
302
 
></P
303
 
><P
304
 
>  Since this is a commonly used thing there is a helper to make this
305
 
easier:
306
 
  <DIV
307
 
CLASS="EXAMPLE"
308
 
><A
309
 
NAME="AEN6498"
310
 
></A
311
 
><P
312
 
><B
313
 
>Example 3. How to get a factory to quit when it is idle</B
314
 
></P
315
 
><TABLE
316
 
BORDER="0"
317
 
BGCOLOR="#D8F8D8"
318
 
WIDTH="100%"
319
 
CELLPADDING="6"
320
 
><TR
321
 
><TD
322
 
><PRE
323
 
CLASS="PROGRAMLISTING"
324
 
>bonobo_running_context_auto_exit_unref (factory) 
325
 
    </PRE
326
 
></TD
327
 
></TR
328
 
></TABLE
329
 
></DIV
330
 
></P
331
 
></DIV
332
 
><DIV
333
 
CLASS="REFSECT1"
334
 
><A
335
 
NAME="AEN6501"
336
 
></A
337
 
><H2
338
 
>Details</H2
339
 
><DIV
340
 
CLASS="REFSECT2"
341
 
><A
342
 
NAME="AEN6503"
343
 
></A
344
 
><H3
345
 
><A
346
 
NAME="BONOBO-CONTEXT-GET"
347
 
></A
348
 
>bonobo_context_get ()</H3
349
 
><TABLE
350
 
BORDER="0"
351
 
BGCOLOR="#D6E8FF"
352
 
WIDTH="100%"
353
 
CELLPADDING="6"
354
 
><TR
355
 
><TD
356
 
><PRE
357
 
CLASS="PROGRAMLISTING"
358
 
>Bonobo_Unknown bonobo_context_get           (const CORBA_char *context_name,
359
 
                                             CORBA_Environment *opt_ev);</PRE
360
 
></TD
361
 
></TR
362
 
></TABLE
363
 
><P
364
 
>The most useful context is named 'Activation' and returns
365
 
the IDL:Bonobo/ActivationContext:1.0 interface.</P
366
 
><P
367
 
></P
368
 
><DIV
369
 
CLASS="INFORMALTABLE"
370
 
><A
371
 
NAME="AEN6512"
372
 
></A
373
 
><P
374
 
></P
375
 
><TABLE
376
 
BORDER="0"
377
 
WIDTH="100%"
378
 
BGCOLOR="#FFD0D0"
379
 
CELLSPACING="0"
380
 
CELLPADDING="4"
381
 
CLASS="CALSTABLE"
382
 
><TBODY
383
 
><TR
384
 
><TD
385
 
WIDTH="20%"
386
 
ALIGN="RIGHT"
387
 
VALIGN="TOP"
388
 
><TT
389
 
CLASS="PARAMETER"
390
 
><I
391
 
>context_name</I
392
 
></TT
393
 
>&nbsp;:</TD
394
 
><TD
395
 
WIDTH="80%"
396
 
ALIGN="LEFT"
397
 
VALIGN="TOP"
398
 
> the name of the context</TD
399
 
></TR
400
 
><TR
401
 
><TD
402
 
WIDTH="20%"
403
 
ALIGN="RIGHT"
404
 
VALIGN="TOP"
405
 
><TT
406
 
CLASS="PARAMETER"
407
 
><I
408
 
>opt_ev</I
409
 
></TT
410
 
>&nbsp;:</TD
411
 
><TD
412
 
WIDTH="80%"
413
 
ALIGN="LEFT"
414
 
VALIGN="TOP"
415
 
> optional Environment, or NULL</TD
416
 
></TR
417
 
><TR
418
 
><TD
419
 
WIDTH="20%"
420
 
ALIGN="RIGHT"
421
 
VALIGN="TOP"
422
 
><I
423
 
CLASS="EMPHASIS"
424
 
>Returns</I
425
 
> :</TD
426
 
><TD
427
 
WIDTH="80%"
428
 
ALIGN="LEFT"
429
 
VALIGN="TOP"
430
 
> a new reference to a global Bonobo context or CORBA_OBJECT_NIL</TD
431
 
></TR
432
 
></TBODY
433
 
></TABLE
434
 
><P
435
 
></P
436
 
></DIV
437
 
></DIV
438
 
><HR><DIV
439
 
CLASS="REFSECT2"
440
 
><A
441
 
NAME="AEN6529"
442
 
></A
443
 
><H3
444
 
><A
445
 
NAME="BONOBO-CONTEXT-ADD"
446
 
></A
447
 
>bonobo_context_add ()</H3
448
 
><TABLE
449
 
BORDER="0"
450
 
BGCOLOR="#D6E8FF"
451
 
WIDTH="100%"
452
 
CELLPADDING="6"
453
 
><TR
454
 
><TD
455
 
><PRE
456
 
CLASS="PROGRAMLISTING"
457
 
>void        bonobo_context_add              (const CORBA_char *context_name,
458
 
                                             Bonobo_Unknown context);</PRE
459
 
></TD
460
 
></TR
461
 
></TABLE
462
 
><P
463
 
>This function adds a new context to the context system</P
464
 
><P
465
 
></P
466
 
><DIV
467
 
CLASS="INFORMALTABLE"
468
 
><A
469
 
NAME="AEN6537"
470
 
></A
471
 
><P
472
 
></P
473
 
><TABLE
474
 
BORDER="0"
475
 
WIDTH="100%"
476
 
BGCOLOR="#FFD0D0"
477
 
CELLSPACING="0"
478
 
CELLPADDING="4"
479
 
CLASS="CALSTABLE"
480
 
><TBODY
481
 
><TR
482
 
><TD
483
 
WIDTH="20%"
484
 
ALIGN="RIGHT"
485
 
VALIGN="TOP"
486
 
><TT
487
 
CLASS="PARAMETER"
488
 
><I
489
 
>context_name</I
490
 
></TT
491
 
>&nbsp;:</TD
492
 
><TD
493
 
WIDTH="80%"
494
 
ALIGN="LEFT"
495
 
VALIGN="TOP"
496
 
> the name to refer to the context by</TD
497
 
></TR
498
 
><TR
499
 
><TD
500
 
WIDTH="20%"
501
 
ALIGN="RIGHT"
502
 
VALIGN="TOP"
503
 
><TT
504
 
CLASS="PARAMETER"
505
 
><I
506
 
>context</I
507
 
></TT
508
 
>&nbsp;:</TD
509
 
><TD
510
 
WIDTH="80%"
511
 
ALIGN="LEFT"
512
 
VALIGN="TOP"
513
 
> The Bonobo_Unknown; a ref. is taken on this.</TD
514
 
></TR
515
 
></TBODY
516
 
></TABLE
517
 
><P
518
 
></P
519
 
></DIV
520
 
></DIV
521
 
><HR><DIV
522
 
CLASS="REFSECT2"
523
 
><A
524
 
NAME="AEN6550"
525
 
></A
526
 
><H3
527
 
><A
528
 
NAME="BONOBO-CONTEXT-RUNNING-GET"
529
 
></A
530
 
>bonobo_context_running_get ()</H3
531
 
><TABLE
532
 
BORDER="0"
533
 
BGCOLOR="#D6E8FF"
534
 
WIDTH="100%"
535
 
CELLPADDING="6"
536
 
><TR
537
 
><TD
538
 
><PRE
539
 
CLASS="PROGRAMLISTING"
540
 
><A
541
 
HREF="libbonobo-bonobo-object.html#BONOBOOBJECT"
542
 
>BonoboObject</A
543
 
>* bonobo_context_running_get    (void);</PRE
544
 
></TD
545
 
></TR
546
 
></TABLE
547
 
><P
548
 
></P
549
 
><DIV
550
 
CLASS="INFORMALTABLE"
551
 
><A
552
 
NAME="AEN6556"
553
 
></A
554
 
><P
555
 
></P
556
 
><TABLE
557
 
BORDER="0"
558
 
WIDTH="100%"
559
 
BGCOLOR="#FFD0D0"
560
 
CELLSPACING="0"
561
 
CELLPADDING="4"
562
 
CLASS="CALSTABLE"
563
 
><TBODY
564
 
><TR
565
 
><TD
566
 
WIDTH="20%"
567
 
ALIGN="RIGHT"
568
 
VALIGN="TOP"
569
 
><I
570
 
CLASS="EMPHASIS"
571
 
>Returns</I
572
 
> :</TD
573
 
><TD
574
 
WIDTH="80%"
575
 
ALIGN="LEFT"
576
 
VALIGN="TOP"
577
 
>&nbsp;</TD
578
 
></TR
579
 
></TBODY
580
 
></TABLE
581
 
><P
582
 
></P
583
 
></DIV
584
 
></DIV
585
 
><HR><DIV
586
 
CLASS="REFSECT2"
587
 
><A
588
 
NAME="AEN6565"
589
 
></A
590
 
><H3
591
 
><A
592
 
NAME="BONOBO-RUNNING-CONTEXT-AUTO-EXIT-UNREF"
593
 
></A
594
 
>bonobo_running_context_auto_exit_unref ()</H3
595
 
><TABLE
596
 
BORDER="0"
597
 
BGCOLOR="#D6E8FF"
598
 
WIDTH="100%"
599
 
CELLPADDING="6"
600
 
><TR
601
 
><TD
602
 
><PRE
603
 
CLASS="PROGRAMLISTING"
604
 
>void        bonobo_running_context_auto_exit_unref
605
 
                                            (<A
606
 
HREF="libbonobo-bonobo-object.html#BONOBOOBJECT"
607
 
>BonoboObject</A
608
 
> *object);</PRE
609
 
></TD
610
 
></TR
611
 
></TABLE
612
 
><P
613
 
></P
614
 
><DIV
615
 
CLASS="INFORMALTABLE"
616
 
><A
617
 
NAME="AEN6571"
618
 
></A
619
 
><P
620
 
></P
621
 
><TABLE
622
 
BORDER="0"
623
 
WIDTH="100%"
624
 
BGCOLOR="#FFD0D0"
625
 
CELLSPACING="0"
626
 
CELLPADDING="4"
627
 
CLASS="CALSTABLE"
628
 
><TBODY
629
 
><TR
630
 
><TD
631
 
WIDTH="20%"
632
 
ALIGN="RIGHT"
633
 
VALIGN="TOP"
634
 
><TT
635
 
CLASS="PARAMETER"
636
 
><I
637
 
>object</I
638
 
></TT
639
 
>&nbsp;:</TD
640
 
><TD
641
 
WIDTH="80%"
642
 
ALIGN="LEFT"
643
 
VALIGN="TOP"
644
 
>&nbsp;</TD
645
 
></TR
646
 
></TBODY
647
 
></TABLE
648
 
><P
649
 
></P
650
 
></DIV
651
 
></DIV
652
 
></DIV
653
 
><DIV
654
 
CLASS="NAVFOOTER"
655
 
><BR
656
 
CLEAR="all"><BR><TABLE
657
 
WIDTH="100%"
658
 
BORDER="0"
659
 
BGCOLOR="#000000"
660
 
CELLPADDING="1"
661
 
CELLSPACING="0"
662
 
><TR
663
 
><TD
664
 
WIDTH="25%"
665
 
BGCOLOR="#C00000"
666
 
ALIGN="left"
667
 
><A
668
 
HREF="libbonobo-bonobo-config-database.html"
669
 
><FONT
670
 
COLOR="#FFFFFF"
671
 
SIZE="3"
672
 
><B
673
 
>&#60;&#60;&#60; Previous Page</B
674
 
></FONT
675
 
></A
676
 
></TD
677
 
><TD
678
 
WIDTH="25%"
679
 
BGCOLOR="#0000C0"
680
 
ALIGN="center"
681
 
><FONT
682
 
COLOR="#FFFFFF"
683
 
SIZE="3"
684
 
><B
685
 
><A
686
 
HREF="index.html"
687
 
><FONT
688
 
COLOR="#FFFFFF"
689
 
SIZE="3"
690
 
><B
691
 
>Home</B
692
 
></FONT
693
 
></A
694
 
></B
695
 
></FONT
696
 
></TD
697
 
><TD
698
 
WIDTH="25%"
699
 
BGCOLOR="#00C000"
700
 
ALIGN="center"
701
 
><FONT
702
 
COLOR="#FFFFFF"
703
 
SIZE="3"
704
 
><B
705
 
><A
706
 
HREF="c4.html"
707
 
><FONT
708
 
COLOR="#FFFFFF"
709
 
SIZE="3"
710
 
><B
711
 
>Up</B
712
 
></FONT
713
 
></A
714
 
></B
715
 
></FONT
716
 
></TD
717
 
><TD
718
 
WIDTH="25%"
719
 
BGCOLOR="#C00000"
720
 
ALIGN="right"
721
 
><A
722
 
HREF="libbonobo-bonobo-exception.html"
723
 
><FONT
724
 
COLOR="#FFFFFF"
725
 
SIZE="3"
726
 
><B
727
 
>Next Page &#62;&#62;&#62;</B
728
 
></FONT
729
 
></A
730
 
></TD
731
 
></TR
732
 
><TR
733
 
><TD
734
 
COLSPAN="2"
735
 
ALIGN="left"
736
 
><FONT
737
 
COLOR="#FFFFFF"
738
 
SIZE="3"
739
 
><B
740
 
>bonobo-config-database</B
741
 
></FONT
742
 
></TD
743
 
><TD
744
 
COLSPAN="2"
745
 
ALIGN="right"
746
 
><FONT
747
 
COLOR="#FFFFFF"
748
 
SIZE="3"
749
 
><B
750
 
>bonobo-exception</B
751
 
></FONT
752
 
></TD
753
 
></TR
754
 
></TABLE
755
 
></DIV
756
 
></BODY
757
 
></HTML
758
 
>
 
 
b'\\ No newline at end of file'