<HTML ><HEAD ><TITLE >BonoboPropertyBag</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Libbonobo Reference Manual" HREF="index.html"><LINK REL="UP" TITLE="Libbonobo API Reference Manual" HREF="c4.html"><LINK REL="PREVIOUS" TITLE="BonoboPersist" HREF="libbonobo-bonobo-persist.html"><LINK REL="NEXT" TITLE="bonobo-shlib-factory" HREF="libbonobo-bonobo-shlib-factory.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Libbonobo Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libbonobo-bonobo-persist.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="index.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="c4.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libbonobo-bonobo-shlib-factory.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="LIBBONOBO-BONOBO-PROPERTY-BAG" ></A >BonoboPropertyBag</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN3355" ></A ><H2 >Name</H2 >BonoboPropertyBag -- Implements a generic property storage interface</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN3358" ></A ><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > #define <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-READABLE-CAPS" >BONOBO_PROPERTY_READABLE</A > #define <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-WRITEABLE-CAPS" >BONOBO_PROPERTY_WRITEABLE</A > #define <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-NO-LISTENING-CAPS" >BONOBO_PROPERTY_NO_LISTENING</A > #define <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-NO-AUTONOTIFY-CAPS" >BONOBO_PROPERTY_NO_AUTONOTIFY</A > struct <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAGPRIVATE" >BonoboPropertyBagPrivate</A >; struct <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >; struct <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTY" >BonoboProperty</A >; struct <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYPRIVATE" >BonoboPropertyPrivate</A >; void (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYGETFN" >*BonoboPropertyGetFn</A >) (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *bag, <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data); void (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYSETFN" >*BonoboPropertySetFn</A >) (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *bag, const <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data); typedef <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAGCLASS" >BonoboPropertyBagClass</A >; #define <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-TYPE-CAPS" >BONOBO_PROPERTY_BAG_TYPE</A > <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-NEW" >bonobo_property_bag_new</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYGETFN" >BonoboPropertyGetFn</A > get_prop_cb, <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYSETFN" >BonoboPropertySetFn</A > set_prop_cb, gpointer user_data); <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-NEW-CLOSURE" >bonobo_property_bag_new_closure</A > (GClosure *get_prop, GClosure *set_prop); <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-NEW-FULL" >bonobo_property_bag_new_full</A > (GClosure *get_prop, GClosure *set_prop, <A HREF="libbonobo-bonobo-event-source.html#BONOBOEVENTSOURCE" >BonoboEventSource</A > *event_source); <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-CONSTRUCT" >bonobo_property_bag_construct</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, GClosure *get_prop, GClosure *set_prop, <A HREF="libbonobo-bonobo-event-source.html#BONOBOEVENTSOURCE" >BonoboEventSource</A > *event_source); void <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-ADD" >bonobo_property_bag_add</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, const char *name, int idx, <A HREF="libbonobo-bonobo-arg.html#BONOBOARGTYPE" >BonoboArgType</A > type, <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *default_value, const char *doctitle, Bonobo_PropertyFlags flags); void <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-ADD-FULL" >bonobo_property_bag_add_full</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, const char *name, int idx, <A HREF="libbonobo-bonobo-arg.html#BONOBOARGTYPE" >BonoboArgType</A > type, <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *default_value, const char *doctitle, const char *docstring, Bonobo_PropertyFlags flags, GClosure *get_prop, GClosure *set_prop); void <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-REMOVE" >bonobo_property_bag_remove</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, const char *name); void <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-MAP-PARAMS" >bonobo_property_bag_map_params</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, GObject *on_instance, const GParamSpec **pspecs, guint n_params); GList* <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-GET-PROP-LIST" >bonobo_property_bag_get_prop_list</A > (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb); </PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN3425" ></A ><H2 >Description</H2 ><P >The PropertyBag is used for many things, particularly for the customization of controls. The important thing to remember about the BonoboPropertyBag implementation is that no live data is stored in the bag. ie. the Model for the properties is your code.</P ><P >Consequently when someone requests a properties value, or sets a property the callbacks you supply at bag construction time are called, and the code therein must supply the property. Similarly, when a property changes value inside your object you need to notify the property bag's listeners that it has changed with a call to <TT CLASS="FUNCTION" >bonobo_property_bag_notify_listeners</TT >.</P ><P >Here is a simple example use of the property bag: <DIV CLASS="EXAMPLE" ><A NAME="AEN3431" ></A ><P ><B >Example 1. Callbacks</B ></P ><TABLE BORDER="0" BGCOLOR="#D8F8D8" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >enum { PROP_RUNNING, PROP_COLOUR } MyArgs; static void get_prop (BonoboPropertyBag *bag, BonoboArg *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data) { GtkObject *clock = user_data; switch (arg_id) { case PROP_RUNNING: BONOBO_ARG_SET_BOOLEAN (arg, clock->is_running); break; case PROP_COLOUR: BONOBO_ARG_SET_STRING (arg, clock->color); break; default: bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound); break; } } static void set_prop (BonoboPropertyBag *bag, const BonoboArg *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data) { GtkClock *clock = user_data; switch (arg_id) { case PROP_RUNNING: { guint i = BONOBO_ARG_GET_BOOLEAN (arg); if (i) gtk_clock_start (clock); else gtk_clock_stop (clock); break; } case PROP_COLOUR: gtk_clock_set_color (clock, BONOBO_ARG_GET_STRING (arg)); default: bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound); break; } } </PRE ></TD ></TR ></TABLE ></DIV ></P ><P >Then to instantiate the property bag interface and associate it with a control perhaps we do: <DIV CLASS="EXAMPLE" ><A NAME="AEN3435" ></A ><P ><B >Example 2. </B ></P ><TABLE BORDER="0" BGCOLOR="#D8F8D8" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" > BonoboPropertyBag *pb; pb = bonobo_property_bag_new (get_prop, set_prop, clock); bonobo_control_set_properties (control, pb); bonobo_property_bag_add (pb, "running", PROP_RUNNING, BONOBO_ARG_BOOLEAN, NULL, _("Whether or not the clock is running"), 0); bonobo_property_bag_add (pb, "colour", PROP_COLOUR, BONOBO_ARG_STRING, NULL, _("The colour of the clock face"), 0); bonobo_object_unref (BONOBO_OBJECT (pb)); </PRE ></TD ></TR ></TABLE ></DIV > And finally we need to notify listeners of changes in various properties so we could perhaps do: <DIV CLASS="EXAMPLE" ><A NAME="AEN3438" ></A ><P ><B >Example 3. </B ></P ><TABLE BORDER="0" BGCOLOR="#D8F8D8" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >static void signal_handler (GtkClock *clock, BonoboPropertyBag *pb) { BonoboArg *arg = bonobo_arg_new (TC_string); BONOBO_ARG_SET_STRING (arg, gtk_clock_get_color (clock)); bonobo_property_bag_notify_listeners ( pb, "colour", arg, NULL); bonobo_arg_release (arg); } ... gtk_signal_connect (GTK_OBJECT (clock), "color_changed", GTK_SIGNAL_FUNC (signal_handler), pb); </PRE ></TD ></TR ></TABLE ></DIV > See also <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN3442" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN3444" ></A ><H3 ><A NAME="BONOBO-PROPERTY-READABLE-CAPS" ></A >BONOBO_PROPERTY_READABLE</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >#define BONOBO_PROPERTY_READABLE Bonobo_PROPERTY_READABLE</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3449" ></A ><H3 ><A NAME="BONOBO-PROPERTY-WRITEABLE-CAPS" ></A >BONOBO_PROPERTY_WRITEABLE</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >#define BONOBO_PROPERTY_WRITEABLE Bonobo_PROPERTY_WRITEABLE</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3454" ></A ><H3 ><A NAME="BONOBO-PROPERTY-NO-LISTENING-CAPS" ></A >BONOBO_PROPERTY_NO_LISTENING</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >#define BONOBO_PROPERTY_NO_LISTENING Bonobo_PROPERTY_NO_LISTENING </PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3459" ></A ><H3 ><A NAME="BONOBO-PROPERTY-NO-AUTONOTIFY-CAPS" ></A >BONOBO_PROPERTY_NO_AUTONOTIFY</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >#define BONOBO_PROPERTY_NO_AUTONOTIFY Bonobo_PROPERTY_NO_AUTONOTIFY </PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3464" ></A ><H3 ><A NAME="BONOBOPROPERTYBAGPRIVATE" ></A >struct BonoboPropertyBagPrivate</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct BonoboPropertyBagPrivate;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3469" ></A ><H3 ><A NAME="BONOBOPROPERTYBAG" ></A >struct BonoboPropertyBag</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct BonoboPropertyBag { BonoboObject parent; BonoboPropertyBagPrivate *priv; BonoboEventSource *es; };</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3474" ></A ><H3 ><A NAME="BONOBOPROPERTY" ></A >struct BonoboProperty</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct BonoboProperty { char *name; int idx; BonoboArgType type; BonoboArg *default_value; char *doctitle; char *docstring; Bonobo_PropertyFlags flags; BonoboPropertyPrivate *priv; };</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3479" ></A ><H3 ><A NAME="BONOBOPROPERTYPRIVATE" ></A >struct BonoboPropertyPrivate</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct BonoboPropertyPrivate;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3484" ></A ><H3 ><A NAME="BONOBOPROPERTYGETFN" ></A >BonoboPropertyGetFn ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*BonoboPropertyGetFn) (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *bag, <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3494" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >bag</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >arg</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >arg_id</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ev</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >user_data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3519" ></A ><H3 ><A NAME="BONOBOPROPERTYSETFN" ></A >BonoboPropertySetFn ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void (*BonoboPropertySetFn) (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *bag, const <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *arg, guint arg_id, CORBA_Environment *ev, gpointer user_data);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3529" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >bag</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >arg</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >arg_id</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >ev</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >user_data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3554" ></A ><H3 ><A NAME="BONOBOPROPERTYBAGCLASS" ></A >BonoboPropertyBagClass</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef struct { BonoboObjectClass parent; POA_Bonobo_PropertyBag__epv epv; } BonoboPropertyBagClass;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3559" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-TYPE-CAPS" ></A >BONOBO_PROPERTY_BAG_TYPE</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >#define BONOBO_PROPERTY_BAG_TYPE BONOBO_TYPE_PROPERTY_BAG /* deprecated, you should use BONOBO_TYPE_PROPERTY_BAG */</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3564" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-NEW" ></A >bonobo_property_bag_new ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* bonobo_property_bag_new (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYGETFN" >BonoboPropertyGetFn</A > get_prop_cb, <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYSETFN" >BonoboPropertySetFn</A > set_prop_cb, gpointer user_data);</PRE ></TD ></TR ></TABLE ><P >Creates a new property bag with the specified callbacks.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3574" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >get_prop_cb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >set_prop_cb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >user_data</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > user data for the callbacks</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A new <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > object.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3596" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-NEW-CLOSURE" ></A >bonobo_property_bag_new_closure ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* bonobo_property_bag_new_closure (GClosure *get_prop, GClosure *set_prop);</PRE ></TD ></TR ></TABLE ><P >Creates a new property bag with the specified callbacks.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3605" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >get_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property get closure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >set_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property set closure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A new <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > object.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3623" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-NEW-FULL" ></A >bonobo_property_bag_new_full ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* bonobo_property_bag_new_full (GClosure *get_prop, GClosure *set_prop, <A HREF="libbonobo-bonobo-event-source.html#BONOBOEVENTSOURCE" >BonoboEventSource</A > *event_source);</PRE ></TD ></TR ></TABLE ><P >Creates a new property bag with the specified callbacks.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3633" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >get_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property get closure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >set_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property set closure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >event_source</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A new <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > object.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3655" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-CONSTRUCT" ></A >bonobo_property_bag_construct ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >* bonobo_property_bag_construct (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, GClosure *get_prop, GClosure *set_prop, <A HREF="libbonobo-bonobo-event-source.html#BONOBOEVENTSOURCE" >BonoboEventSource</A > *event_source);</PRE ></TD ></TR ></TABLE ><P >Constructor, only for use in wrappers and object derivation, please refer to the <A HREF="libbonobo-bonobo-property-bag.html#BONOBO-PROPERTY-BAG-NEW" >bonobo_property_bag_new</A > for normal use.</P ><P >This function returns <TT CLASS="PARAMETER" ><I >pb</I ></TT >, or <TT CLASS="LITERAL" >NULL</TT > in case of error. If it returns <TT CLASS="LITERAL" >NULL</TT >, the passed in <TT CLASS="PARAMETER" ><I >pb</I ></TT > is unrefed.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3672" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > to construct</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >get_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property get closure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >set_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property set closure</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >event_source</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > pointer or <TT CLASS="LITERAL" >NULL</TT >.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3700" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-ADD" ></A >bonobo_property_bag_add ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_property_bag_add (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, const char *name, int idx, <A HREF="libbonobo-bonobo-arg.html#BONOBOARGTYPE" >BonoboArgType</A > type, <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *default_value, const char *doctitle, Bonobo_PropertyFlags flags);</PRE ></TD ></TR ></TABLE ><P >Adds a property to the property bag.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3710" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > property bag to add to</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > name of new property</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >idx</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > integer index for fast callback switch statement</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >type</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the CORBA type eg. TC_long</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >default_value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the default value or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doctitle</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >flags</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > various flags</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3743" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-ADD-FULL" ></A >bonobo_property_bag_add_full ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_property_bag_add_full (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, const char *name, int idx, <A HREF="libbonobo-bonobo-arg.html#BONOBOARGTYPE" >BonoboArgType</A > type, <A HREF="libbonobo-bonobo-arg.html#BONOBOARG" >BonoboArg</A > *default_value, const char *doctitle, const char *docstring, Bonobo_PropertyFlags flags, GClosure *get_prop, GClosure *set_prop);</PRE ></TD ></TR ></TABLE ><P >This adds a property to <TT CLASS="PARAMETER" ><I >pb</I ></TT > at the full tilt of complexity.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3756" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > property bag to add to</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > name of new property</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >idx</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > integer index for fast callback switch statement</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >type</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the CORBA type eg. TC_long</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >default_value</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the default value or NULL</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >doctitle</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >docstring</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the translated documentation string</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >flags</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > various flags</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >get_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a per property get callback</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >set_prop</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a per property set callback</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3801" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-REMOVE" ></A >bonobo_property_bag_remove ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_property_bag_remove (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, const char *name);</PRE ></TD ></TR ></TABLE ><P >removes the property with <TT CLASS="PARAMETER" ><I >name</I ></TT > from <TT CLASS="PARAMETER" ><I >b</I ></TT >.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3810" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the property bag</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > name of property to remove.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3823" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-MAP-PARAMS" ></A >bonobo_property_bag_map_params ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_property_bag_map_params (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb, GObject *on_instance, const GParamSpec **pspecs, guint n_params);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3832" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >on_instance</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pspecs</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >n_params</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN3853" ></A ><H3 ><A NAME="BONOBO-PROPERTY-BAG-GET-PROP-LIST" ></A >bonobo_property_bag_get_prop_list ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >GList* bonobo_property_bag_get_prop_list (<A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A > *pb);</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN3861" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >pb</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTYBAG" >BonoboPropertyBag</A >.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >a GList of <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTY" >BonoboProperty</A > structures. This function is private and should only be used internally, or in a PropertyBag persistence implementation. You should not touch the <A HREF="libbonobo-bonobo-property-bag.html#BONOBOPROPERTY" >BonoboProperty</A > structure unless you know what you're doing.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="libbonobo-bonobo-persist.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="index.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="c4.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="libbonobo-bonobo-shlib-factory.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >BonoboPersist</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >bonobo-shlib-factory</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >