On Wednesday 13 April 2005 00:48, Jon Keating wrote:

> This will iterate through all the protocol plugins. Take a look at the
> definition of CProtoPlugin (include/licq_protoplugind.h) to see what
> functions are available.

Thanks, that works perfectly.

New patch available [1]

Additonally I have found two slots in mainwin.cpp that looked like they get 
invoked when plugins change at runtime, so I added code there as well.
(slot_protocolPlugin and slot_pluginUnloaded)

Two new methods in the LicqKIMIface class take care of the respective mapping 
handling:
addProtocol(name, PPID)
removeProtocol(PPID)

The name given to the addProtocol method is the one returned by 
CProtoPlugin::Name() and I assumed it is the usual protocol abbreviation, 
e.g. AIM, ICQ, MSN, etc

For the "default" plugin, which returns "Licq" I have a check in addProtocol 
which maps the name to "ICQ"

removePlugin is quite primitive: it saves all the current mappings and reloads 
the ones for the remaining plugins :)

Cheers,
Kevin

P.S: part of my original mainwin.cpp patch which got accidentally committed 
was a change from "Licq" to "licq" as the argument to the KApplication 
constructor.
Just in case you are wonderung about that, I did it to have an all lower case 
application name on the DCOP server, as all other apps seem to use lower case 
names there as well.

[1] http://www.sbox.tugraz.at/home/v/voyager/kdegui-dcop-0.3.tar.gz

Attachment: pgpzVNBf1ibYw.pgp
Description: PGP signature

Reply via email to