Bonobo API Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
The BonoboArg code, and macros are designed to make the use of CORBA_Any's slightly simpler by providing a glib like binding for them. The bonobo-arg code also provides mappings between Gtk Args and CORBA_anys.
A typical use of the BonoboArg macros would be in
Example 1. Property bag implementation
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, is_it_running); break; } default: bonobo_exception_set (ev, ex_Bonobo_PropertyBag_NotFound); break; } } |
typedef CORBA_TypeCode BonoboArgType; |
A glib style looking typedef for a CORBA type description.
#define BONOBO_ARG_GET_GENERAL(a,c,t,e) |
A macro to extract a value from a BonoboArg with the given CORBA type t.
a : | the BonoboArg |
c : | a BonoboArgType for checking |
t : | the C type of the value eg. for BONOBO_ARG_LONG: CORBA_long |
e : | an optional CORBA_Environment or NULL. |
#define BONOBO_ARG_GET_BOOLEAN(a) (BONOBO_ARG_GET_GENERAL (a, TC_boolean, CORBA_boolean, NULL)) |
this macro returns a CORBA_boolean from inside a BonoboArg, if the BonoboArg's type does not match, the behavior is undefined, and may cause faults.
a : | the BonoboArg to extract the value from. |
#define BONOBO_ARG_GET_INT(a) (BONOBO_ARG_GET_GENERAL (a, TC_long, CORBA_long, NULL)) |
this macro returns a CORBA_long from inside a BonoboArg, if the BonoboArg's type does not match, the behavior is undefined, and may cause faults.
a : | the BonoboArg to extract the value from. |
#define BONOBO_ARG_GET_LONG(a) (BONOBO_ARG_GET_GENERAL (a, TC_long, CORBA_long, NULL)) |
this macro returns a CORBA_long from from inside a BonoboArg, if the BonoboArg's type does not match, the behavior is undefined, and may cause faults.
a : | the BonoboArg to extract the value from. |
#define BONOBO_ARG_GET_STRING(a) |
this macro returns a const CORBA_char * from from inside a BonoboArg, if the BonoboArg's type does not match, the behavior is undefined, and may cause faults. The pointer to the string is only valid for the scope of the lifetime of a.
a : | the BonoboArg to extract the value from. |
#define BONOBO_ARG_GET_FLOAT(a) (BONOBO_ARG_GET_GENERAL (a, TC_float, CORBA_float, NULL)) |
this macro returns a CORBA_float from inside a BonoboArg, if the BonoboArg's type does not match, the behavior is undefined, and may cause faults.
a : | the BonoboArg to extract the value from. |
#define BONOBO_ARG_GET_DOUBLE(a) (BONOBO_ARG_GET_GENERAL (a, TC_double, CORBA_double, NULL)) |
this macro returns a CORBA_double from inside a BonoboArg, if the BonoboArg's type does not match, the behavior is undefined, and may cause faults.
a : | the BonoboArg to extract the value from. |
#define BONOBO_ARG_SET_GENERAL(a,v,c,t,e) |
A macro to insert a value into an empty BonoboArg with the given CORBA type t.
a : | the BonoboArg |
v : | a pointer to the value to insert. |
c : | a BonoboArgType for checking |
t : | the C type of the value eg. for BONOBO_ARG_LONG: CORBA_long |
e : | an optional CORBA_Environment or NULL. |
#define BONOBO_ARG_SET_BOOLEAN(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_boolean, CORBA_boolean, NULL)) |
This macro sets the value of a to contain v
a : | the Bonobo arg to insert the value into |
v : | a CORBA_boolean. |
#define BONOBO_ARG_SET_INT(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_long, CORBA_long, NULL)) |
This macro sets the value of a to contain v
a : | the Bonobo arg to insert the value into |
v : | a CORBA_long. |
#define BONOBO_ARG_SET_LONG(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_long, CORBA_long, NULL)) |
This macro sets the value of a to contain v
a : | the Bonobo arg to insert the value into |
v : | a CORBA_long. |
#define BONOBO_ARG_SET_STRING(a,v) |
This macro sets the value of a to contain a duplicated copy of v
a : | the Bonobo arg to insert the value into |
v : | a CORBA_char *. |
#define BONOBO_ARG_SET_FLOAT(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_float, CORBA_float, NULL)) |
This macro sets the value of a to contain v
a : | the Bonobo arg to insert the value into |
v : | a CORBA_float. |
#define BONOBO_ARG_SET_DOUBLE(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_double, CORBA_double, NULL)) |
This macro sets the value of a to contain v
a : | the Bonobo arg to insert the value into |
v : | a CORBA_double. |
|
|