Re: API changes on TnyAccountStore
- From: Philip Van Hoof <spam pvanhoof be>
- To: tinymail-devel-list <tinymail-devel-list gnome org>
- Subject: Re: API changes on TnyAccountStore
- Date: Sun, 29 Apr 2007 13:43:17 +0200
On Sun, 2007-04-29 at 13:42 +0200, Philip Van Hoof wrote:
> Forwarding this from private discussions:
>
> > The two methods for adding either store or transport accounts to a
> > TnyAccountStore have been removed from Tinymail's API.
>
> All I see in the ChangeLog is
> "
> Changes to the TnyAccountStore API
> "
>
> Could you be more specific about how application code should be ported
> to the new API, ideally in the ChangeLog, please.
Although I too believe the ChangeLog is important, I don't see it as a
location for this type of documentation. Rather as a little database
with "what has changed", not software development guidelines.
I rather see the mailing list and the trac wiki as a more ideal location
to inform people about changes like this.
Maybe we can add a "API changes since last version" section to each page
on the trac wiki? Or a "Porting from 1.0" page, once there is a first
release.
> > Although they might come back, especially when needed for the ACAP
> > support, they are incorrectly implemented in all existing
> > TnyAccountStore implementations.
> >
> > The API would also be drastically different.
> >
> > Therefore I think it's better to remove it from the interface's struct,
> > and therefore I for now removed them.
> >
> > This makes it possible to later 'append' them back, not interfering with
> > the valid API function pointers's offsets. And therefore making it
> > possible to commit changes to the type, without breaking ABI.
> >
> > All existing implementations have the implementations kept in place for
> > now. These implementations, however, are now each of them specific to
> > the implementation. Their function prototypes are in the public .h file
> > of the specific type and don't use the "TnyAccountStore" type but rather
> > the "TnyMyAccountStore" one as their "self" type.
> >
> > Although small, this might have an impact on the account-store
> > implementation of Modest. Feel free to ask me for assistance (it comes
> > down to removing the function pointer assignments in the GTypeInterface
> > initialisation function for TnyAccountStore).
> >
> >
> --
> Murray Cumming
> murrayc murrayc com
> www.murrayc.com
> www.openismus.com
>
>
>
>
> On Sun, 2007-04-29 at 11:27 +0200, Philip Van Hoof wrote:
> > To port existing application code, you simply remove the two
> > corresponding function pointer assignments from your
> > tny_account_store_init function.
> >
> > Optionally you can un-static your existing implementations and put their
> > function prototype in he public .h file of your type.
> >
> > Note though, that if this functionality comes back to the type, that it
> > will probably be drastically different. If so, don't mirror your current
> > existing implementation with the requirements of that new API, when the
> > change happens.
> >
> > It's likely that a more "update, remove, create"-style API will be put
> > in place. It will have error handling and it will be optional. It might
> > also be put in a new interface (so that you can dual-implement the type,
> > if you don't want your type to be a writable store).
> >
> >
> > On Sun, 2007-04-29 at 11:21 +0200, Philip Van Hoof wrote:
> > > The two methods for adding either store or transport accounts to a
> > > TnyAccountStore have been removed from Tinymail's API.
> > >
> > > Although they might come back, especially when needed for the ACAP
> > > support, they are incorrectly implemented in all existing
> > > TnyAccountStore implementations.
> > >
> > > The API would also be drastically different.
> > >
> > > Therefore I think it's better to remove it from the interface's struct,
> > > and therefore I for now removed them.
> > >
> > > This makes it possible to later 'append' them back, not interfering with
> > > the valid API function pointers's offsets. And therefore making it
> > > possible to commit changes to the type, without breaking ABI.
> > >
> > > All existing implementations have the implementations kept in place for
> > > now. These implementations, however, are now each of them specific to
> > > the implementation. Their function prototypes are in the public .h file
> > > of the specific type and don't use the "TnyAccountStore" type but rather
> > > the "TnyMyAccountStore" one as their "self" type.
> > >
> > > Although small, this might have an impact on the account-store
> > > implementation of Modest. Feel free to ask me for assistance (it comes
> > > down to removing the function pointer assignments in the GTypeInterface
> > > initialisation function for TnyAccountStore).
> > >
> > >
> --
> Philip Van Hoof, software developer
> home: me at pvanhoof dot be
> gnome: pvanhoof at gnome dot org
> http://www.pvanhoof.be/blog
>
>
>
>
> _______________________________________________
> tinymail-devel-list mailing list
> tinymail-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/tinymail-devel-list
--
Philip Van Hoof, software developer
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
http://www.pvanhoof.be/blog
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]