Adding Bonobo::GeneralError exception to Bonobo::Moniker::resolve ?
- From: Martin Baulig <martin home-of-linux org>
- To: gnome-components-list gnome org
- Cc: michael ximian com
- Subject: Adding Bonobo::GeneralError exception to Bonobo::Moniker::resolve ?
- Date: 29 Aug 2001 17:47:46 +0200
Hi Michael,
can we add a Bonobo::GeneralError exception or anything equivalent to
the Bonobo::Moniker::resolve method ?
I need this for my ditem moniker and it may be useful for the other config
monikers as well - when reading the file fails, I want to return an error
message rather than just returning CORBA_OBJECT_NIL.
Currently, we have
=====
#define EX_SET_NOT_FOUND(ev) bonobo_exception_set (ev, ex_Bonobo_Moniker_InterfaceNotFound)
static Bonobo_Unknown
ditem_resolve (BonoboMoniker *moniker,
const Bonobo_ResolveOptions *options,
const CORBA_char *requested_interface,
CORBA_Environment *ev)
{
Bonobo_Moniker parent;
Bonobo_ConfigDatabase db, pdb = CORBA_OBJECT_NIL;
const gchar *name;
if (strcmp (requested_interface, "IDL:Bonobo/ConfigDatabase:1.0")) {
EX_SET_NOT_FOUND (ev);
return CORBA_OBJECT_NIL;
}
parent = bonobo_moniker_get_parent (moniker, ev);
if (BONOBO_EX (ev))
return CORBA_OBJECT_NIL;
name = bonobo_moniker_get_name (moniker);
if (parent != CORBA_OBJECT_NIL) {
pdb = Bonobo_Moniker_resolve (parent, options,
"IDL:Bonobo/ConfigDatabase:1.0",
ev);
bonobo_object_release_unref (parent, NULL);
if (BONOBO_EX (ev) || pdb == CORBA_OBJECT_NIL)
return CORBA_OBJECT_NIL;
}
if (!(db = bonobo_config_ditem_new (name, pdb, NULL))) {
EX_SET_NOT_FOUND (ev);
return CORBA_OBJECT_NIL;
}
return db;
}
====
However, I don't think Bonobo::Moniker::InterfaceNotFound is the correct exception if
the moniker interface could be found - but the requested file does not exist or is not
in the correct format.
--
Martin Baulig
martin gnome org (private)
baulig suse de (work)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]