| Bonobo Activation API Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <bonobo-activation/bonobo-activation.h> typedef Bonobo_ImplementationID; typedef Bonobo_ActivationID; typedef Bonobo_ActivationFlags; Bonobo_ActivationResultType; Bonobo_ServerInfoList * bonobo_activation_query (const char *requirements,char *const *selection_order,CORBA_Environment *ev); CORBA_Object bonobo_activation_activate (const char *requirements,char *const *selection_order,Bonobo_ActivationFlags flags,Bonobo_ActivationID *ret_aid,CORBA_Environment *ev); CORBA_Object bonobo_activation_activate_from_id (const Bonobo_ActivationID aid,Bonobo_ActivationFlags flags,Bonobo_ActivationID *ret_aid,CORBA_Environment *ev); void (*BonoboActivationCallback) (CORBA_Object activated_object,const char *error_reason,gpointer user_data); void bonobo_activation_activate_async (const char *requirements,char *const *selection_order,Bonobo_ActivationFlags flags,BonoboActivationCallback callback,gpointer user_data,CORBA_Environment *ev); void bonobo_activation_activate_from_id_async (const Bonobo_ActivationID aid,Bonobo_ActivationFlags flags,BonoboActivationCallback callback,gpointer user_data,CORBA_Environment *ev); void bonobo_activation_set_activation_env_value (const char *name,const char *value);
This section describes how you can query for components and activate them.
Two set of functions are described: synchronous and asynchronous ones. The asynchronous version of the functions allow you to avoid blocking your application while the CORBA servers are started.
typedef struct {
CORBA_unsigned_long _maximum, _length; Bonobo_ActivationEnvValue* _buffer; CORBA_boolean _release; } CORBA_sequence_Bonobo_ActivationEnvValue;
#endif
#if !defined(TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_0)
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_0 'B'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_1 'o'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_2 'n'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_3 'o'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_4 'b'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_5 'o'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_6 '_'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_7 'A'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_8 'c'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_9 't'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_10 'i'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_11 'v'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_12 'a'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_13 't'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_14 'i'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_15 'o'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_16 'n'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_17 '_'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_18 't'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_19 'y'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_20 'p'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_21 'e'
#define TC_IMPL_TC_CORBA_sequence_Bonobo_ActivationEnvValue_22 's'
#ifdef ORBIT_IDL_C_IMODULE_Bonobo_Activation_types
static
#else
extern
#endif
ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_CORBA_sequence_Bonobo_ActivationEnvValue_struct;
#define TC_CORBA_sequence_Bonobo_ActivationEnvValue ((CORBA_TypeCode)&TC_CORBA_sequence_Bonobo_ActivationEnvValue_struct)
#endif
#define CORBA_sequence_Bonobo_ActivationEnvValue__alloc() ((CORBA_sequence_Bonobo_ActivationEnvValue *)ORBit_small_alloc (TC_CORBA_sequence_Bonobo_ActivationEnvValue))
#define CORBA_sequence_Bonobo_ActivationEnvValue__freekids(m,d) ORBit_small_freekids (TC_CORBA_sequence_Bonobo_ActivationEnvValue,(m),(d))
#define CORBA_sequence_Bonobo_ActivationEnvValue_allocbuf(l) ((Bonobo_ActivationEnvValue*)ORBit_small_allocbuf (TC_CORBA_sequence_Bonobo_ActivationEnvValue, (l)))
#define CORBA_sequence_Bonobo_ActivationEnvValue_allocbuf(l) ((Bonobo_ActivationEnvValue*)ORBit_small_allocbuf (TC_CORBA_sequence_Bonobo_ActivationEnvValue, (l)))
#endif
#if !defined(_Bonobo_ActivationEnvironment_defined)
#define _Bonobo_ActivationEnvironment_defined 1
typedef CORBA_sequence_Bonobo_ActivationEnvValue Bonobo_ActivationEnvironment;
#define Bonobo_ActivationEnvironment_marshal(x,y,z) CORBA_sequence_Bonobo_ActivationEnvValue_marshal((x),(y),(z))
#define Bonobo_ActivationEnvironment_demarshal(x,y,z,i) CORBA_sequence_Bonobo_ActivationEnvValue_demarshal((x),(y),(z),(i))
#if !defined(TC_IMPL_TC_Bonobo_ActivationEnvironment_0)
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_0 'B'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_1 'o'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_2 'n'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_3 'o'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_4 'b'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_5 'o'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_6 '_'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_7 'A'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_8 'c'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_9 't'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_10 'i'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_11 'v'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_12 'a'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_13 't'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_14 'i'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_15 'o'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_16 'n'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_17 '_'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_18 't'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_19 'y'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_20 'p'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_21 'e'
#define TC_IMPL_TC_Bonobo_ActivationEnvironment_22 's'
#ifdef ORBIT_IDL_C_IMODULE_Bonobo_Activation_types
static
#else
extern
#endif
ORBIT2_MAYBE_CONST struct CORBA_TypeCode_struct TC_Bonobo_ActivationEnvironment_struct;
#define TC_Bonobo_ActivationEnvironment ((CORBA_TypeCode)&TC_Bonobo_ActivationEnvironment_struct)
#endif
#define Bonobo_ActivationEnvironment__alloc() ((Bonobo_ActivationEnvironment *)ORBit_small_alloc (TC_CORBA_sequence_Bonobo_ActivationEnvValue))
#define Bonobo_ActivationEnvironment__freekids(m,d) ORBit_small_freekids (TC_CORBA_sequence_Bonobo_ActivationEnvValue,(m),(d))
#define Bonobo_ActivationEnvironment_allocbuf(l) ((Bonobo_ActivationEnvValue*)ORBit_small_allocbuf (TC_CORBA_sequence_Bonobo_ActivationEnvValue, (l)))
#endif
#if !defined(_Bonobo_ActivationResultType_defined)
#define _Bonobo_ActivationResultType_defined 1
typedef enum {
Bonobo_ACTIVATION_RESULT_OBJECT,
Bonobo_ACTIVATION_RESULT_SHLIB,
Bonobo_ACTIVATION_RESULT_NONE
} Bonobo_ActivationResultType;
Bonobo_ServerInfoList * bonobo_activation_query (const char *requirements,char *const *selection_order,CORBA_Environment *ev);
Executes the requirements query on the bonobo-activation-server.
The result is sorted according to selection_order.
selection_order can safely be NULL as well as ev.
The returned list has to be freed with CORBA_free.
|
query string. |
|
sort criterion for returned list. |
|
a CORBA_Environment structure which will contain
the CORBA exception status of the operation, or NULL |
Returns : |
the list of servers matching the requirements. |
CORBA_Object bonobo_activation_activate (const char *requirements,char *const *selection_order,Bonobo_ActivationFlags flags,Bonobo_ActivationID *ret_aid,CORBA_Environment *ev);
Activates a given object. ret_aid can be safely NULLed as well
as ev and selection_order. flags can be set to zero if you do
not what to use.
|
query string. |
|
sort criterion for returned list. |
|
how to activate the object. |
|
AID of the activated object. |
|
CORBA_Environment structure which will contain
the CORBA exception status of the operation. |
Returns : |
the CORBA object reference of the activated object.
This value can be CORBA_OBJECT_NIL: you are supposed
to check ev for success. |
CORBA_Object bonobo_activation_activate_from_id (const Bonobo_ActivationID aid,Bonobo_ActivationFlags flags,Bonobo_ActivationID *ret_aid,CORBA_Environment *ev);
Activates the server corresponding to aid. ret_aid can be safely
NULLed as well as ev. flags can be zero if you do not know what
to do.
|
AID or IID of the object to activate. |
|
activation flag. |
|
AID of the activated server. |
|
CORBA_Environment structure which will contain
the CORBA exception status of the operation. |
Returns : |
a CORBA object reference to the newly activated
server. Do not forget to check ev for failure!! |
void (*BonoboActivationCallback) (CORBA_Object activated_object,const char *error_reason,gpointer user_data);
This is the signature of the function which you must pass as a callback to the asynchrounous activation functions.
void bonobo_activation_activate_async (const char *requirements,char *const *selection_order,Bonobo_ActivationFlags flags,BonoboActivationCallback callback,gpointer user_data,CORBA_Environment *ev);
This function will asynchronously try to activate a component
given the requirements query string. When the component is
activated or when the activation fails, it will call callback
with the given user_data data as parameter.
callback will be called with a CORBA_OBJECT_NIL object if the
activation fails. If the activation fails, the callback will be
given a human-readable string containing a description of the
error. In case of sucess, the error string value is undefined.
selection_order can be safely NULLed as well as ev and
user_data. flags can be set to 0 if you do not know what to
use.
|
the bonobo-activation query string. |
|
preference array. |
|
activation flags. |
|
callback function. |
|
data to be poassed to the callback function. |
|
exception structure. |
void bonobo_activation_activate_from_id_async (const Bonobo_ActivationID aid,Bonobo_ActivationFlags flags,BonoboActivationCallback callback,gpointer user_data,CORBA_Environment *ev);
This function will asynchronously try to activate a component
with the given aid. When the component is
activated or when the activation fails, it will call callback
with the given user_data data as parameter.
callback will be called with a CORBA_OBJECT_NIL object if the
activation fails. If the activation fails, the callback will be
given a human-readable string containing a description of the
error. In case of sucess, the error string value is undefined.
flags can be 0 if you do not know what to set it to and
ev can be safely set to NULL.
|
the AID or IID of the component to activate. |
|
activation flags. |
|
callback function. |
|
data to be poassed to the callback function. |
|
exception structure. |