Re: component architecture



John> 2. Use CORBA to let apps talk to each other in a coarse-grained
John> way.

Once I finish my current mini project (argument parsing), I plan to
start looking into this.

My plan, roughly:

- Write a simple event manager using the CORBA Event Service.
  This event manager will basically be a bus through which
  "interesting" desktop events are routed.

- Define some simple editor interfaces (I'll just re-use the useful
  bits from my old design).  These would be plugged into whatever
  editors exist (perhaps a rewrite of Notepad into C/C++ is in order,
  to make a proof of concept)

- Figure out a good way to map edit requests onto CORBA objects.
  My current thinking is that we should register editors with the
  CORBA Naming Service; the editors would be registered according to
  their MIME type.

  E.g., a request to edit `text/plain' would first look for the
  binding `GnomeEditor'/`text'/`plain', then `GnomeEditor'/`text'/`*',
  etc.

  More thought is required here.  The basic problem is that you want
  the name of the object to express all the constraints you care about
  at edit time.  Is the MIME type enough?  Maybe some editors can't
  handle (certain) URLs, and you want a way to express that.  Or maybe
  MIME isn't expressive enough?

Comments on this would be greatly appreciated.


John> PS - Is the CORBA/component model stuff planned on being
John> completely independent from the desktop manager aspect of GNOME?
John> A component architecture would be very useful for somethings
John> without having any gui associated at all.

I'm not sure I really understand.

Or, rather, I think we're getting mixed up by our terminology.  I tend
to think of "component" as being a CORBA object that exports a bit of
user interface -- for instance, a panel applet.

Non-GUI objects are just objects.

To answer your question, I guess some objects will have a UI and some
won't.  It just depends.  But yes, the CORBA layer is independent of
the GUI-ness.  For instance, the event manager won't have a user
interface.

Tom



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]