<!-- ##### SECTION Title ##### -->

GConf CORBA

<!-- ##### SECTION Short_Description ##### -->

Interface for setting up CORBA

<!-- ##### SECTION Long_Description ##### -->
<para>
GConf needs a connection to an ORB; it needs to be able to receive
CORBA requests and act on them; and it needs CORBA connection
authentication. There are two basic ways to do this; first, you 
can let GConf set things up by calling gconf_init_orb(); second, you
can set things up yourself (or let GNOME set things up), then call
gconf_set_orb() to tell the GConf library about it.
</para>

<para>
The problem right now is that <application>gconfd</application> only
speaks the authentication mechanism from gconf_init_orb(), since the 
GNOME authentication mechanism requires an X server connection. So 
right now if you use gnome_CORBA_init() then you can't talk to
<application>gconfd</application>. (If you use gconf_init_orb() in an
otherwise non-CORBA GNOME application then you can.) This will get
fixed by the time GNOME 2.0 is ready.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### FUNCTION gconf_init_orb ##### -->
<para>
Initializes CORBA and a connection to the ORB, sets up authentication, 
and adds CORBA-related event handlers to your application's event
loop. Your application must be using the event loop from GLib; this is
the event loop all GTK+ applications use, but it also works in
non-GTK+ applications (such as <application>gconfd</application>, if
you're looking for some sample code).
</para>

<para>
gconf_init_orb() wants to see the command line arguments to check for
ORBit options. If it finds ORBit options it will remove them from @argc
and @argv. It returns an error if CORBA initialization failes.
</para>

@argc: address of argc.
@argv: argv.
@err: the return location for an allocated #GError, or <symbol>NULL</symbol> to ignore errors.
@Returns: the ORB object reference.


<!-- ##### FUNCTION gconf_set_orb ##### -->
<para>
gconf_set_orb() allows you to tell GConf about an ORB obtained by
means other than gconf_init_orb(). You should call gconf_init_orb()
<emphasis>or</emphasis> this function, never both.
</para>

@orb: the ORB GConf should use to communicate with <application>gconfd</application>.


<!-- ##### FUNCTION gconf_get_orb ##### -->
<para>
Returns the ORB GConf is using.
</para>

@Returns: the ORB GConf is using.


