| Bonobo API Reference Manual | |||
|---|---|---|---|
| <<< Previous Page | Home | Up | Next Page >>> |
BonoboObject is the base object in Bonobo for wrapping CORBA servers as Gtk+ objects. HOWEVER, since it's use is complicated, it is left in bonobo for the benefit of Nautilus' binary compatibility. It is strongly recommended that BonoboXObject be used for all new CORBA server implementations.
Again if you are looking to implement a CORBA interface you want to see BonoboXObject.
The Bonobo::Unknown interface (wrapped by BonoboObject) is the foundation for the component system: it provides life cycle management for objects as well as service discovery.
The Bonobo interfaces are all based on the Bonobo::Unknown interface. This interface is very simple and provides two basic services: object lifetime management and object functionality-discovery. This interface only contains three methods, here it is:
module Bonobo {
interface Unknown {
void void ref();
void void unref();
Object query_interface (in string repoid);
};
};
|
The ref() and unref() methods are used to control the lifetime of an object. The query_interface method is used to discover optional functionality provided by the object implementation.
The lifetime management is based on reference counting: wcRIGHT" VALIGN="TOP" >Returns :
Bonobo_Unknown bonobo_object_client_query_interface
(BonoboObjectClient *object,
const char *interface_desc,
CORBA_Environment *opt_ev); |
Queries the object to see if it implements the interface described by interface_desc. Basically a thin Bonobo_Unknown::query_interface wrapper.
void bonobo_object_client_ref (BonoboObjectClient *object_client, BonoboObject *opt_exception_obj); |
Increments the Bonobo ref count on the remote object.
void bonobo_object_client_unref (BonoboObjectClient *object_client, BonoboObject *opt_exception_obj); |
Decrements the Bonobo ref count on the remote object.