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
pgpzVNBf1ibYw.pgp
Description: PGP signature