Re: [Evolution-hackers] Rethinking account management



On Mon, 2010-11-15 at 11:45 -0500, Matthew Barnes wrote:
> I kinda wanted to tweak the names anyway, so here's my proposal for the
> new D-Bus interface names:
> 
>   Old: org.gnome.evolution.dataserver.addressbook.BookFactory
>        org.gnome.evolution.dataserver.calendar.CalFactory
>        org.gnome.evolution.dataserver.addressbook.Book
>        org.gnome.evolution.dataserver.calendar.Cal
> 
>   New: org.gnome.evolution.dataserver.AddressBookFactory.0
>        org.gnome.evolution.dataserver.CalendarFactory.0
>        org.gnome.evolution.dataserver.AddressBook.0
>        org.gnome.evolution.dataserver.Calendar.0
> 
> In the future, if we have to break a D-Bus interface again we'll
> increment the digit.  Then if the user upgrades E-D-S to a version that
> implements "Calendar.1" but is still running an e-calendar-factory that
> implements "Calendar.0", then when Evolution is launched the session bus
> will have to relaunch the upgraded e-calendar-factory binary and the old
> e-calendar-factory process will lose its well-known D-Bus name (at least
> I think that's how it works... in any case, D-Bus knows what to do).
> 
> If there's no objections I'd like to get new interface names into 2.91
> now so I can increment the interface versions on my account-management
> branch and not have to worry about this anymore.

Milan reminded me about this today so I went ahead with it.

It turns out just the D-Bus service names need to be versioned, not the
interface names.  But the same rules for incrementing the version apply.

The new names are (with both versions at '0'):

   Bus Name:    org.gnome.evolution.dataserver.AddressBook0
   Object Path: org/gnome/evolution/dataserver/AddressBookFactory
   Interface:   org.gnome.evolution.dataserver.AddressbookFactory

   Bus Name:    org.gnome.evolution.dataserver.Calendar0
   Object Path: org/gnome/evolution/dataserver/CalendarFactory
   Interface:   org.gnome.evolution.dataserver.CalendarFactory

More details in the commit message:
http://git.gnome.org/browse/evolution-data-server/commit/?id=89b130c3d75cd0fa023af4064b0d0e3ce2147519

Matthew Barnes




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