bonobo issues.
- From: Michael Meeks <michael helixcode com>
- To: Miguel de Icaza <miguel helixcode com>
- Cc: gnome-components-list gnome org
- Subject: bonobo issues.
- Date: Tue, 20 Jun 2000 11:44:12 -0400 (EDT)
Hi Miguel,
Reading through bits of bonobo, I see a couple of things I
think need soon; let me know what you think:
* create bonobo_object_client_ref / unref: to allow the
replacement of lines such as:
Bonobo_Unknown_unref (bonobo_object_corba_objref (
BONOBO_OBJECT (client_site->bound_object)), &ev);
* It seems people are assuming that they have a certain
view of a Bonobo Object ie. in several places we have:
Bonobo_Embeddable_set_client_site (
bonobo_object_corba_objref (BONOBO_OBJECT (object)),
bonobo_object_corba_objref (BONOBO_OBJECT (client_site)),
&ev);
Which is fine; iff someone happened to pass object into the
object client via. the Embeddable I/F. Unfortunately this is by no
means garenteed, and thus a load of tedious code has to be inserted,
including a new variable:
corba_object = bonobo_object_client_query_interface (
object, "IDL:Bonobo/Embeddable:1.0", NULL);
if (corba_object == CORBA_OBJECT_NIL) {
CORBA_exception_free (&ev);
return FALSE;
}
I would prefer in many ways to encapsulate this into a single
object client function:
CORBA_Object
bonobo_object_client_if (BonoboObjectClient *object_client,
const char *interface);
so we can do:
Bonobo_Embeddable_set_client_site (
bonobo_object_client_if (object,
"IDL:Bonobo/Embeddable:1.0"),
bonobo_object_corba_objref (BONOBO_OBJECT (client_site)),
&ev);
etc.
I see this assumption happening all over the code, and the
more I look, the more frightening it is, ie. the net result is that
I suspect a large chunk is working because people just happen to pass
in a friendly view of the object.
Regards,
Michael.
--
mmeeks@gnu.org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]