Gnome-Object
Miguel de Icaza, miguel@gnu.org

Gnome-Object is the base for the Bonobo document model.
A Gnome-Object has two parts: a Gtk-visible side and a CORBA-visible
side.

   On the CORBA-side, GnomeObject is the base object for a number of
the document model interfaces: it provides the basic framework for
composing objects without using multiple-inheritance (by providing a
query_interface access point, it also minimizes the need on the
programmer to fiddle with CORBA).

   On the GTK+ side, GnomeObject provides the aggregation facilities
where a CORBA backend is expected to exist.  GnomeObject derivatives
are supposed to be wrappers around various of the Bonobo interfaces.
GnomeObject derivatives are expected to register their type-name as
the Repository-ID of the CORBA interface they are wrapping.

   The basic idea is to have for each Bonobo interface a GTK object
derived from GnomeObject that implements the support for this given
interface.  In the case where the interface is designed to provide
information, we do provide sample subclasses of the wrappers that will
use function pointer and closures.

Miguel