CVS commit by mklingens: Hmm, I never expected to find code outside the respective plugins to include plugin-specific headers, as those are far from public API. Seems I was horribly wrong... Fix compilation for Importer now MSNProtocol::protocol() is no longer there. The real problem here is that importer relies on plugin-specific details for good reason and that at the same time I don't want to expose these details to other code (yet?). As for now I have no clue on how to do this, except from providing data in deserialize()-compatible format, which is generic from the C++ side, but still depends equally on plugin specifics as far as the data representation format is concerned. Hmm... Ideas welcome. CCMAIL: James Grant M +3 -2 importer.cpp 1.6 --- kdenonbeta/kopete/plugins/importer/importer.cpp #1.5:1.6 @@ -21,4 +21,5 @@ #include "importerplugin.h" #include "importer.h" +#include "pluginloader.h" #include @@ -144,6 +145,6 @@ void Importer::slotDoImport() QString key=ImporterPlugin::plugin()->programsKey(ImporterDialog->m_ProgramsComboBox->currentItem()); - ICQProtocol *icqp=ICQProtocol::protocol(); - MSNProtocol *msnp=MSNProtocol::protocol(); + ICQProtocol *icqp = static_cast( LibraryLoader::pluginLoader()->searchByName( "ICQProtocol" ) ); + MSNProtocol *msnp = static_cast( LibraryLoader::pluginLoader()->searchByName( "MSNProtocol" ) ); Imp *i=new Imp(key,ImporterDialog->m_Filename->text());