akregator/src
pluginmanager.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef AKREGATOR_PLUGINMANAGER_H
00017 #define AKREGATOR_PLUGINMANAGER_H
00018
00019 #include <vector>
00020
00021 #include <kservice.h>
00022 #include <ktrader.h>
00023
00024
00025 class KLibrary;
00026 namespace Akregator {
00027
00028 class Plugin;
00029 class PluginManager
00030 {
00031 public:
00033 static const int FrameworkVersion = 1;
00034
00058 static KTrader::OfferList query( const QString& constraint = QString::null );
00059
00067 static Akregator::Plugin* createFromQuery( const QString& constraint = QString::null );
00068
00074 static Akregator::Plugin* createFromService( const KService::Ptr service );
00075
00080 static void unload( Akregator::Plugin* plugin );
00081
00087 static KService::Ptr getService( const Akregator::Plugin* plugin );
00088
00093 static void dump( const KService::Ptr service );
00094
00099 static void showAbout( const QString& constraint );
00100
00101 private:
00102 struct StoreItem {
00103 Akregator::Plugin* plugin;
00104 KLibrary* library;
00105 KService::Ptr service;
00106 };
00107
00108 static std::vector<StoreItem>::iterator lookupPlugin( const Akregator::Plugin* plugin );
00109
00110
00111 static std::vector<StoreItem> m_store;
00112 };
00113 }
00114
00115 #endif
00116
|