[prev in list] [next in list] [prev in thread] [next in thread]
List: kopete-devel
Subject: Re: [Kopete-devel] more design discussions (an also,KMMF bugs)
From: Martijn Klingens <klingens () kde ! org>
Date: 2002-05-12 1:42:42
[Download RAW message or body]
On Sunday 12 May 2002 03:25, ,,, wrote:
^^^^^^^^^^^^^^^^^
Trying to be anonymous? ;-)
> the best strategy is usually "provide what you can in the lib, and leave it
> open for extension". that way, you don't force plugins to extend your
> classes, but you do provide the necessary mecanisms to do so. subclassing
> is a good way of extending :-).
> subclassing isn't necesarily heavyweight. for example, KopeteMessage and
> it's subclasses wouldn't even need a virtual table.
If you want to support value-based KopeteMessages as opposed to using pointers
to them you do. After all the operator= should be made virtual if the size of
the object is unknown. If we use pointers then you're right, although I
thought we agreed that the ability to allow copying KMs was a big plus.
> now, it's not a one-size-fits-all solution, there might be better ones for
> the problem at hand. the KMPluginData is not as nice as it could be though,
> because of the dynamic_casts.
Only one: inside the protocol handling the messageSent signal. KMM doesn't
need to cast because it doesn't care and the optionsWidget obviously holds a
pointer to the true (derived) class for its internal bookkeeping anyway. Not
that complex, a single dynamic_cast for all places where the class is used.
That's the advantage of our single entry point in KopeteProtocol :-)
> this outlines a general problem: if we don't subclass, whenever a plugin
> wants to add some kind of customization, and goes through some parts of the
> framework, and then back to the plugin, it's gonna need to dynamic_cast.
Sure. But apart from the optionsWidget, or whatever the post-0.4 approach will
be I don't see that much cases for such roundtrips.
> we can live with it for now, for the good of 0.4 release. but i haven't
> seen any working solution currently, and one is needed for 0.4. will you
> implement it ? :-)
Uhm... implement *what* ? (Note that I rather try to fix the chats in MSN
though, that's another showstopper for putting KMM branch out as 0.4.)
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