Re: [GnomeMeeting-devel-list] Refactoring the addressbook code
- From: Jan Schampera <jan schampera web de>
- To: GnomeMeeting development mailing list <gnomemeeting-devel-list gnome org>
- Subject: Re: [GnomeMeeting-devel-list] Refactoring the addressbook code
- Date: Tue, 28 Mar 2006 14:58:54 +0200
On Mon, 27 Mar 2006 22:28:38 +0200
Julien PUYDT <jpuydt free fr> wrote:
> > - the widget holds a private copy of each contact
>
> This is frontend.
Assuming you always meant ``for'' backend and ``for'' frontend.
Then this is an interface definition important for the backens. It
means you don't have to care about data you give to the interface.
> > - the GMContact "state" member is used to determinate offline,
> > online and away status
>
> Ok. Does SIP/SIMPLE allow to attach a string to the status ? (Like
> "I'm gone for dinner -- be back near 20".) This is backend.
That would also need a redefinition of GMContact.
> > - gmroster_modify_entry() only scans the "state" member of the
> > contact (to update the presence)
>
> What if I want to rename sip:500 ekiga net from the "500" I set at
> first to the saner "Miroir de test" ? This is backend.
I'm still not sure if GMContact.uid is Ekiga-wide uniq, or only
addressbook-wide uniq.
> > - the *_show_in_multiple_groups() will control, if a contact that
> > belongs to more then one group is shown in its first group found
> > or in all groups found (discussion?)
>
> I'm not sure I understand this one ; but it seems frontend.
struct GmContact_ {
[...]
char *categories; /* Categories the user belongs to, comma separated */
[...]
};
That means, (GMContact*) foo->categories can be "Friends" OR
"Friends,Enemies" - what to do in the latter case?
> In my little pet project, I have a group named "Unsorted" exactly for
> that. This is frontend.
Pet project? :)
> I really want a strict backend-frontend separation.
You got that. The interface functions are separated into "what's called
by the (a) backend engine" and "what's called by a UI control engine".
The interface itself can't be separated in "backend" and "frontend", as
a UI is always frontend. I that definition, the mechanism that finds
out the status of a contact and reports that to the roster is (one of)
the backend(s) for the roster (another is e.g. the contacts management
engine).
J.
--
"One of the main causes of the fall of the Roman Empire was that,
lacking zero, they had no way to indicate successful termination of
their C programs" --Robert Firth
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]