Re: [Evolution-hackers] online/offline in e-d-s



On Tue, 2004-11-09 at 12:16 -0700, Sivaiah Nallagatla wrote:
> On Mon, 2004-11-08 at 18:41 +0100, Rodrigo Moya wrote:
> > On Sun, 2004-11-07 at 21:29 -0700, Sivaiah Nallagatla wrote:
> > > 
> > > I am planning to implement a eds-offline-listner which listens to a
> > > gconf key to get to know of online/offline changes (this gconf will a
> > > desktop wide one if one gets implemented or if we resort to using some
> > > gui element in evolution to set online/offline modes , it will be a
> > > gconf key installed by e-d-s). This listner will be instantiated in
> > > e-d-s main function (server.c). Whenever there is a change in gconf
> > > setting,  this listner will set the online/offline modes (dependning
> > > upon the setting value) on e-data-cal-factory and e-data-book-factory by
> > > calling methods like e_data_(cal/book)_factory_set_backends_mode. Here
> > > we can just set mode on the cal and address book factories created by
> > > e-d-s or we can query bonobo to get references of all cal/book factories
> > > created by other processes like exchange connector and set on all of
> > > them.
> > >
> > I guess we'll have to do that, or have the exchange connector do it
> > itself, or, maybe, have exchange's calendar and contacts backends be
> > just loadable e-d-s modules?
> >  
> > > Evolution need to have  a account level setting to mark all the
> > > (mail/contacts/calendar) folders for offline usuage and also per folder
> > > level setting to mark per offline usuage. e-d-s caches contents of only
> > > those folders which are marked for offline. Other folders can not be
> > > user in offline mode.  
> > > 
> > how does e-d-s know that? Maybe we can set a property on the ESource's?
> > 
> > > 
> > > There is a problem related to authenitcation when user starts evolution
> > > in offline mode and then switches to online mode. Now backends need to
> > > authenicate to servers but they do not have access to passwords.  Since
> > > all the backends are already loaded in offline mode, evolution won't
> > > call open methods on the backend again with passowrds. I am stil
> > > thinking what to do here. 
> > > 
> > IIRC, we talked the other day about having a new notification from the
> > backends to the clients (notify_needs_authentication, or notify_error
> > with a specific error code that marks the NEEDS_AUTHENTICATION part),
> > and so have the client re-call the _open method. How does that sound?
> > any other idea you have came to?
> > 
> 
> I am yet to try this, but it seems to work at first thought, only thing
> i  am thinking about this is , currently e_(book/cal)_listeners have
> notifications about only  status changes in backend, completion of
> opeartions like item created, deleted etc by the backend. Notification
> for auth is different from others  as in this backend is notifying
> clients to get something back from them, i am not sure whehter it
> properly fits into listner classes. 
> 
well, the listener can get a notifyAuthRequired, and the client, when
getting that, could just call _open again, right?
-- 
Rodrigo Moya <rodrigo novell com>




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