bonobo-arg

bonobo-arg

Functions

Types and Values

Description

Functions

BONOBO_ARG_GET_GENERAL()

# define BONOBO_ARG_GET_GENERAL(a,c,t,e)   ({g_assert (bonobo_arg_type_is_equal ((a)->_type, c, e)); *((t *)((a)->_value)); })

BONOBO_ARG_SET_GENERAL()

# define BONOBO_ARG_SET_GENERAL(a,v,c,t,e) ({g_assert (bonobo_arg_type_is_equal ((a)->_type, c, e)); *((t *)((a)->_value)) = (t)(v); })

BONOBO_ARG_GET_BOOLEAN()

#define BONOBO_ARG_GET_BOOLEAN(a)   (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_boolean, CORBA_boolean, NULL))

BONOBO_ARG_SET_BOOLEAN()

#define BONOBO_ARG_SET_BOOLEAN(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_boolean, CORBA_boolean, NULL))

BONOBO_ARG_GET_SHORT()

#define BONOBO_ARG_GET_SHORT(a)     (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_short, CORBA_short, NULL))

BONOBO_ARG_SET_SHORT()

#define BONOBO_ARG_SET_SHORT(a,v)   (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_short, CORBA_short, NULL))

BONOBO_ARG_GET_INT()

#define BONOBO_ARG_GET_INT(a)       (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_long, CORBA_long, NULL))

BONOBO_ARG_SET_INT()

#define BONOBO_ARG_SET_INT(a,v)     (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_long, CORBA_long, NULL))

BONOBO_ARG_GET_LONG()

#define BONOBO_ARG_GET_LONG(a)      (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_long, CORBA_long, NULL))

BONOBO_ARG_SET_LONG()

#define BONOBO_ARG_SET_LONG(a,v)    (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_long, CORBA_long, NULL))

BONOBO_ARG_GET_LONGLONG()

#define BONOBO_ARG_GET_LONGLONG(a)  (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_long_long, CORBA_long_long, NULL))

BONOBO_ARG_SET_LONGLONG()

#define BONOBO_ARG_SET_LONGLONG(a,v) (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_long_long, CORBA_long_long, NULL))

BONOBO_ARG_GET_FLOAT()

#define BONOBO_ARG_GET_FLOAT(a)     (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_float, CORBA_float, NULL))

BONOBO_ARG_SET_FLOAT()

#define BONOBO_ARG_SET_FLOAT(a,v)   (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_float, CORBA_float, NULL))

BONOBO_ARG_GET_DOUBLE()

#define BONOBO_ARG_GET_DOUBLE(a)    (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_double, CORBA_double, NULL))

BONOBO_ARG_SET_DOUBLE()

#define BONOBO_ARG_SET_DOUBLE(a,v)  (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_double, CORBA_double, NULL))

BONOBO_ARG_GET_CHAR()

#define BONOBO_ARG_GET_CHAR(a)      (BONOBO_ARG_GET_GENERAL (a, TC_CORBA_char, CORBA_char, NULL))

BONOBO_ARG_SET_CHAR()

#define BONOBO_ARG_SET_CHAR(a,v)    (BONOBO_ARG_SET_GENERAL (a, v, TC_CORBA_char, CORBA_char, NULL))

BONOBO_ARG_GET_STRING()

#define BONOBO_ARG_GET_STRING(a)    ({g_assert ((a)->_type->kind == CORBA_tk_string); *((CORBA_char **)((a)->_value)); })

BONOBO_ARG_SET_STRING()

#define BONOBO_ARG_SET_STRING(a,v)  ({g_assert ((a)->_type->kind == CORBA_tk_string); CORBA_free (*(char **)(a)->_value); *((CORBA_char **)((a)->_value)) = CORBA_string_dup ((v)?(v):""); })

bonobo_arg_new ()

BonoboArg *
bonobo_arg_new (BonoboArgType t);

Create a new BonoboArg with the specified type the value of the BonoboArg is initially empty.

Parameters

t

the BonoboArgType eg. TC_CORBA_long

 

Returns

the new BonoboArg


bonobo_arg_new_from ()

BonoboArg *
bonobo_arg_new_from (BonoboArgType t,
                     gconstpointer data);

Create a new BonoboArg with the specified type and data

Parameters

t

the BonoboArgType eg. TC_CORBA_long

 

data

the data for the BonoboArg to be created

 

Returns

the new BonoboArg


bonobo_arg_release ()

void
bonobo_arg_release (BonoboArg *arg);

This frees the memory associated with arg

Parameters

arg

the bonobo arg.

 

bonobo_arg_copy ()

BonoboArg *
bonobo_arg_copy (const BonoboArg *arg);

This function duplicates a by a deep copy

Parameters

arg

the bonobo arg

 

Returns

a copy of arg


bonobo_arg_from_gvalue ()

void
bonobo_arg_from_gvalue (BonoboArg *a,
                        const GValue *value);

This maps a GValue value to a BonoboArg a ; a must point to a freshly allocated BonoboArg eg. such as returned by bonobo_arg_new

Parameters

a

pointer to blank BonoboArg

 

value

GValue to copy

 

bonobo_arg_type_from_gtype ()

BonoboArgType
bonobo_arg_type_from_gtype (GType t);

bonobo_arg_to_gvalue ()

void
bonobo_arg_to_gvalue (GValue *value,
                      const BonoboArg *arg);

Maps a BonoboArg to a GtkArg; a must point to a blank GtkArg.

Parameters

value

pointer to a blank GValue

 

arg

the BonoboArg to copy

 

bonobo_arg_type_to_gtype ()

GType
bonobo_arg_type_to_gtype (BonoboArgType id);

This maps a BonoboArgType to a GType

Parameters

id

the BonoboArgType

 

Returns

the mapped type or 0 on failure


bonobo_arg_is_equal ()

gboolean
bonobo_arg_is_equal (const BonoboArg *a,
                     const BonoboArg *b,
                     CORBA_Environment *opt_ev);

Compares two BonoboArg's for equivalence; will return TRUE if equivalent for all simple cases. For Object references CORBA sometimes denies 2 object references are equivalent even if they are [ this is a feature_not_bug ].

This function is commutative.

Parameters

a

a bonobo arg

 

b

another bonobo arg

 

opt_ev

optional exception environment or NULL.

 

Returns

TRUE if a == b


bonobo_arg_type_is_equal ()

gboolean
bonobo_arg_type_is_equal (BonoboArgType a,
                          BonoboArgType b,
                          CORBA_Environment *opt_ev);

This compares two BonoboArgType's in a and b . The opt_ev is an optional CORBA_Environment for exceptions, or NULL. This function is commutative.

Parameters

a

a type code

 

b

a type code

 

opt_ev

optional exception environment or NULL.

 

Returns

TRUE if equal, FALSE if different

Types and Values

BonoboArg

typedef CORBA_any      BonoboArg;

BonoboArgType

typedef CORBA_TypeCode BonoboArgType;

BONOBO_ARG_NULL

#define BONOBO_ARG_NULL     TC_null

BONOBO_ARG_BOOLEAN

#define BONOBO_ARG_BOOLEAN  TC_CORBA_boolean

BONOBO_ARG_SHORT

#define BONOBO_ARG_SHORT    TC_CORBA_short

BONOBO_ARG_INT

#define BONOBO_ARG_INT      TC_CORBA_long

BONOBO_ARG_LONG

#define BONOBO_ARG_LONG     TC_CORBA_long

BONOBO_ARG_LONGLONG

#define BONOBO_ARG_LONGLONG TC_CORBA_long_long

BONOBO_ARG_FLOAT

#define BONOBO_ARG_FLOAT    TC_CORBA_float

BONOBO_ARG_DOUBLE

#define BONOBO_ARG_DOUBLE   TC_CORBA_double

BONOBO_ARG_CHAR

#define BONOBO_ARG_CHAR     TC_CORBA_char

BONOBO_ARG_STRING

#define BONOBO_ARG_STRING   TC_CORBA_string