Re: libmailcheck- backing up a step...
- From: Ian Campbell <ijc25 cam ac uk>
- To: gnome-devel-list gnome org
- Subject: Re: libmailcheck- backing up a step...
- Date: Mon, 1 Mar 1999 08:48:13 +0000 (GMT)
On Mon, 1 Mar 1999, Maciej Stachowiak wrote:
> Why do we need to care at all about the interface between the CORBA server
> and the low-level mail checking functionality? In my opinion this is entirely
> an implementation issue internal to the server. It may be nice to organize it
> one way or another but I don't think we should really think of it as an API
> or anything.
To be fair the actual internal implementation could be different, as long
as the client ends up with a functioning GnomeMailCheck object who really
cares, it could also be implemented using structs full of function
pointers.
I think I might have described an abstract concept (GnomeMailCheckImpl) in
a too concrete manner, it is better to think of them as being services
that CORBA is providing a remote interface to, basically each method in
the corba object interface needs to be passed onto some method of an
object that implements it, the 2 API's are identical. The CORBA api is
hidden from the user by the GnomeMailCheck objects or library functions.
As far as the user/client is concerned the GnomeMailCheck object actually
_is_ a GnomeMailCheckImpl object, with no joins or seams (ie no visible
corba, except the library funcitons to get a GnomeMailCheck object).
Having said all that - if we want to use signals and gtk-args the concrete
GnomeMailCheckImpl is going to need a GtkObject in it somewhere, but that
is an implementation issue....
> Indeed, it may be possible to implement mail checking on some forms of
> mailboxes such that no active polling is necessary, instead a file
> descriptor could be provided to select on (along with a timeout for
> those mailbox types where active polling _is_ necessary). I can't think
> of one off the top of my head, but this is one possible reason it would
> be bad to overspecify the server internals prematurely.
The CORBA layer doesn't need to have knowledge of how and when each
GnomeMailCheckImpl object is checking for new mail. Each implementation of
a GnomaMailCheckImpl should setup it's own timer, or file descriptor and
then emit a 'signal' at the appropriate times.
> > having said that, I do think building a GUI config box from gtk-args info
> > might be a good candidate for a helper function in libmailcheck
>
> Actually this sounds to me like that's something that could be useful far
> more broadly than just in libmailcheck.
that's certainly true, although a more generally useful implementation
might be more complex than our needs here, it worth looking into.
>
> > Again there is no reason for any GUI code anywhere except in the clients.
> > GnomeMailCheck objects could provide some sort of callback mechanism to
> > pop up a password dialog, or it could be a part of the generated property
> > pages, or both.
> >
> > And again, maybe the password dialog is another candidate for a helper
> > function in libmailcheck...
>
> Well, if I am running Balsa and two mail checkers on one mailbox (say I have
> them in two panels, one of which auto-hides), I only want _one_ password
> dialog to pop up per given mailbox, not three.
Sorry, that is what I had in mind, I just didn't really say so.
The first app to connect to a mailbox would cause a connection to be
opened to the server and trigger a password dialog callback if necessary.
Then the 2nd, 3rd, 4th etc applications are just given a handle to the
same object, and the same connection is used and a password isn't needed.
> And I'd suggest again that a generic password dialog implementation could be
> useful for a lot of other things.
I have my suspisions that one might exist in libgnomeui somewhere
already.
Ian.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]