[gnome-db]RFC: Bonobo in libgda



Hi!

Ok, so, as I've said in my previous mail, libgda is now based on Bonobo.
So, this is a great thing since we can add now very nice features that
before were difficult to implement.

so, here are some things that I intend to do, so please comment on them
if you've got something to say.

* GDA::Listener: this will be a CORBA interface implemented by clients.
That is, I'll add a addListener/removeListener method to the
GDA:Connection interface, so that clients can be informed of everything
that happens on a provider. With this, we can easily implement a logger
as proposed time ago by the ASPL-Fact people

* startLogging: right now, this method gets a filename as parameter, on
which the provider sets the database server to send its log. Well, this
is ok if both the client and provider are on the same machine. So, I
thought, thanks to an idea from Carlos, about using a URI (and use
gnome-vfs to manage it), but the problem is still there, since the
client might send file:/home/user/db.log, and if the provider is on
another machine, well, it won't work. So, the best solution is, IMO, to
use a Bonobo::Stream, which will be created in the provider and sent
back to the client. The client, then, will get all stuff written in that
Bonobo::Stream, and do whatever it wants to it. Or maybe use
GDA:Listener's for this

* get/set methods: for this, we can use Bonobo::PropertyBag's, thus
removing all the get/set methods, replacing them with just a
getProperties call. This could also be used for replacing the
GDA::Connection::supports call, since the provider could set up, at
initialization time, all the features it supports in the property bag

* monikers: we can provide nice stuff via monikers, such as the output
of a report or of a query, configuration stuff, etc. And clients will
juts have to do:

	object = bonobo_get_object ("database:exec_sql....",
"IDL:SomeInterface:1.0");

--
Rodrigo Moya <rodrigo gnome-db org> - <rodrigo ximian com>
http://www.gnome-db.org/ - http://www.ximian.com/




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