[prev in list] [next in list] [prev in thread] [next in thread]
List: kopete-devel
Subject: Re: [Kopete-devel] capabilites design
From: Daniel Stone <dstone () kde ! org>
Date: 2002-06-16 22:43:16
[Download RAW message or body]
On Sun, Jun 16, 2002 at 12:03:02PM +0200, Martijn Klingens wrote:
> 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 ;-)
Er, yes.
> 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.
That's entirely correct.
> 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.
Not necessarily. What about colour support? I think it's pointless
fucking around with it for every single plugin. Remember, it also gives
us the power to change it with one global preference.
> 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.
Why? Where else would you put it? Would you be happy if I changed
libkopete's name to libfoobar, and put it there?
> 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'.
Ick. Ick, ick, ick. How many shared libraries do you want to have?
The correct solution is instead this:
MSN protocol - KMMF->create(me, them, KCW, CAP_FGCOLOR)
ICQ protocol - KMMF->create(me, them, KCW, CAP_FGCOLOR | CAP_BGCOLOR)
etc
> 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.
I don't see you insist on trying to kill a mouse with a BFG. Your
solution is complete overkill.
--
Daniel Stone <daniel@raging.dropbear.id.au> http://raging.dropbear.id.au
KDE Developer <dstone@kde.org> http://www.kde.org
Kopete: Multi-protocol IM client http://kopete.kde.org
[Attachment #3 (application/pgp-signature)]
_______________________________________________
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