[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kopete-devel
Subject:    Re: [Kopete-devel] capabilites design
From:       Martijn Klingens <klingens () kde ! org>
Date:       2002-06-16 10:03:02
[Download RAW message or body]

On Sunday 16 June 2002 11:42, Daniel Stone wrote:
> How do I add a new contact list without touching libkopete? What about
> if I want to add a new UI? Different preferences dialog, maybe?
>
> This is *shared* *code* *between* *protocols*. It's meant to cut down on
> code reuse.

"Cut down on code duplication" rather, I presume ;-)

Nitpicking aside, the point is that
1. Not all plugins have the same capabilities
2. Future plugins may need other capabilities, or not support our current 
capabilities.

Whatever goes into libkopete is *required* to be supported by _all_ plugins. 
If a single plugin doesn't support it then it is apparently not generic 
enough for libkopete.

That doesn't mean the code shouldn't be shared between those plugins that do 
support feature X, it only means the code should be placed elsewhere, using a 
different solution, and not in libkopete.

If we had a trader to find plugins and dependencies we could have a system 
where the MSN protocol plugin required the 'foreground colour' capability 
plugin and the ICQ protocol plugin required both the foreground and 
background colour capability plugins. That way plugins can be added and 
reused without touching libkopete. That is called 'extensible'.

However, I am not particularly willing to write a trader if there were serious 
plans made during LinuxTag to develop exactly such a thing for kdelibs. What 
*might* be a solution is if someone cantacts Matthias Kretz <kretz@kde.org> 
and offers cooperation. Currently the code resides in kdegraphics/kview and 
is far from complete, but if some of us join his effort now we can at least 
make sure all of kopete's requirements are met.

I for one want to do the contact list first, so for the forseeable future I'm 
not available. After that I think I'll tackle this issue, but that might be 
too late. If someone has the time and knowledge *now*, please speak up.

Martijn

_______________________________________________
Kopete-devel mailing list
Kopete-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/kopete-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic