On Tuesday 12 April 2005 14:57, Jon Keating wrote:

> This will find a 'licquser', but which one? It depends on the way it
> is hashed  when Licq loads the users. The correct method, would be to
> get a Protocol string. (MSN, Licq, Yahoo, etc.) and use the
> FOR_EACH_PROTO_USER_START() macro to guarantee that we have the user
> we want. If the Protocol isn't specified, we can just go with the
> FOR_EACH_USER_START() macro and do whatever, since the user didn't
> specify.

No problem.
The ID used by DCOP is an internal ID of KDE's addressbook.
The Licq interface maintains a mapping to Licq users.
I didn't (and don't) know much about Licq's internal identifications methods, 
for the prototype I assumed that ICQUser->IdString() was unique.

If it isn't and there is no ther unique string identifier across protocol 
plugins, I can find a way to store a mapping to a tuple, protocol ID and 
protocol specific user ID.

Another possibility would be to store the KABC ID in the ICQUser instance and 
in the respective file.

The advantage of the current approach (separate file for mapping data) is that 
the Licq data files stay unpolluted by foreign keys.

I will stay on this route unless you think that the advantage of having it all 
in one place outweights the foreign extension from your point of view as the 
application developers/maintainers.

Cheers,
Kevin

Attachment: pgpK1ZvHBZPY8.pgp
Description: PGP signature

Reply via email to