[Kde-pim] Akonadi::AgentManager/AgentType/AgentInstance

Volker Krause vkrause at kde.org
Wed Mar 26 10:35:23 GMT 2008


Hi,

this is basically a reply to an IRC discussion I missed yesterday about some 
parts of the Akonadi API, posted here so everyone can comment if needed.

[21:41] <tokoe> vkrause: ping?
[21:54] <tokoe> hmm, is vkrause catching up on sleep from the weekend?  
[22:02] <tokoe> ... or he is watching a movie from a blue-ray iso that was 
attached to a mail...
[22:03] <toma> haha

hehe, actually neither of the two ;-)

[22:03] <tokoe> vkrause: i'm currently cleaning up the AgentManager API
[22:04] <tokoe> vkrause: the AgentType and AgentInstance classes are value 
based and provide the static data of the type or an instance
[22:04] <tokoe> vkrause: they have only getters, as the values will be set my 
AgentManager in their private objects

Sounds good.

[22:05] <tokoe> vkrause: however there are some information (e.g. 
online/offline, name) which can be modified by the user
[22:06] <tokoe> vkrause: would it be ok when the AgentInstance provides setter 
methods for these and keeps internally a qguardedptr to the agentmanager for 
setting the values?

What about making AgentManager a singleton? It's basically a D-Bus interface 
to a part of akonadi_control, so that seems logical. Then changing agent 
properties via AgentInstance objects wouldn't be a problem.

[22:08] <tokoe> vkrause: i'm not sure though how to port the 
agentInstanceStatusChanged, agentInstanceProgressChanged and 
agentInstanceNamChanged signals to the new api
[22:09] <tokoe> vkrause: the latter could be omit in favor of 
agentInstanceChanged
[22:09] <tokoe> vkrause: but the other two?

We could either have just a single instanceChanged(const AgentInstance&) 
signal which would be also used if the status/progress changed or keep the 
other two and add an AgentInstace parameter to them. The latter might be 
easier to understand since those are the common cases where one would want to 
watch for changes. OTOH it would require two special cases when you are 
interested in all changes.
Also, please lets drop the 'agent' prefix in the method and signal names, 
being part of AgentManager should indicate already that they are about 
agents.

[22:09] <tokoe> vkrause: just drop me a mail if you have an idea...

regards
Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20080326/9945aa57/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list