cplugin.h cimportinterface.h cdbinterface.h QPluginLoader QAction Kooky/cimportingredientdialog.h Kooky/cmainwindow.h Kooky/coptionsplugins.h Kooky/cplugin.cpp cPlugin #ifndefCPLUGIN_H #defineCPLUGIN_H #include"cimportinterface.h" #include"cdbinterface.h" #include<QPluginLoader> #include<QAction> classcPlugin { public: enumPluginCap { PluginCapNone=0, PluginCapImport=1, PluginCapExport=2, PluginCapDB=3, }; cPlugin(constQString&szFile); ~cPlugin(); boolisValid(); PluginCapcapability(); QStringpluginName(); qint16pluginAPIVersion(); qint16pluginVersion(); voidsetAction(QAction*lpAction); QAction*action(); QStringpluginFile(); cImportInterface*importInterface(); cDBInterface*dbInterface(); private: QPluginLoader*m_lpPluginLoader; cImportInterface*m_lpImportInterface; cDBInterface*m_lpDBInterface; QAction*m_lpAction; }; Q_DECLARE_METATYPE(cPlugin*) #endif//CPLUGIN_H