[Evolution-hackers] Cannot reconnect from EBackend-s like in Camel



	Hi,
there seems to be missing functionality in EBackend descendants to
reconnect on connection lost, like is possible in Camel. With Camel,
I check returned error for certain values and if the error is one of the
known for connection issues, then I just disconnect and the next attempt
for online operation reconnects the CamelService as its first action.

I do not see how to do the same functionality in addressbook/calendar
backends. In 3.4.x I was able to call
e_book_backend_notify_auth_required() which may invoke password prompt,
but in 3.5.x I'm without this function. Maybe the auth_required
notification is worthless anyway, as it's asynchronous (see below). I do
not blame account-mgmt changes here, because it seems the EBackend part
doesn't deal with this kind of stuff, it seems like it expects the
EBackend being always connected after the first successful connection.

Thus my question is: how can I achieve the reconnect in EBackend
descendants? Is the same functionality meant to be done by
e_backend_set_online() call with FALSE followed by TRUE? Remember, it's
required to (re)connect synchronously here, because this is done during
one of the operations in progress.

On the other hand, if my approach for this is not correct, I'm looking
forwards for any advice. :)
	Bye,
	Milan

P.S.: I know that with certain policies servers can lock user's account
after "too many" unsuccessful logins, thus the reconnect should most
likely ask the user for a password (reprompt) too, rather than just
blindly trying the previously used password again and again.
CamelService does it this way.



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