akregator/src
storagefactoryregistry.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef AKREGATOR_BACKEND_STORAGEFACTORYREGISTRY_H
00026 #define AKREGATOR_BACKEND_STORAGEFACTORYREGISTRY_H
00027
00028 #include "akregator_export.h"
00029
00030 class QString;
00031 class QStringList;
00032
00033 namespace Akregator {
00034 namespace Backend {
00035
00036 class StorageFactory;
00037
00038 class AKREGATOR_EXPORT StorageFactoryRegistry
00039 {
00040 public:
00041 static StorageFactoryRegistry* self();
00042
00043 ~StorageFactoryRegistry();
00044
00045 bool registerFactory(StorageFactory* factory, const QString& typestr);
00046 void unregisterFactory(const QString& typestr);
00047 StorageFactory* getFactory(const QString& typestr);
00048 bool containsFactory(const QString& typestr) const;
00049 QStringList list() const;
00050
00051
00052 private:
00053 static StorageFactoryRegistry* m_instance;
00054
00055 StorageFactoryRegistry();
00056 StorageFactoryRegistry(const StorageFactoryRegistry&);
00057 StorageFactoryRegistry& operator=(const StorageFactoryRegistry&);
00058
00059 class StorageFactoryRegistryPrivate;
00060 StorageFactoryRegistryPrivate* d;
00061 };
00062
00063 }
00064 }
00065
00066 #endif // STORAGEFACTORYREGISTRY_H
|