ProcessorMngr.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00028 #ifndef KEYVALUE_MNGT_PROCESSORMNGR_H_
00029 #define KEYVALUE_MNGT_PROCESSORMNGR_H_
00030
00031 #include <map>
00032
00033 #include "keyvalue/extern/SharedPtr.h"
00034 #include "keyvalue/extern/String.h"
00035
00036 namespace keyvalue {
00037
00038
00039 class DataSet;
00040 class Processor;
00041 namespace value {
00042 class Variant;
00043 }
00044
00059 class ProcessorMngr {
00060
00061 public:
00062
00068 static ProcessorMngr&
00069 getInstance();
00070
00076 void
00077 add(const Processor* processor);
00078
00089 const Processor&
00090 getProcessor(const string& name) const;
00091
00092 private:
00093
00102 static const Processor* kvProcessors_[];
00103
00110 static const Processor* processors_[];
00111
00112 ProcessorMngr();
00113
00114 typedef std::map<string, const Processor*> MapType_;
00115 MapType_ map_;
00116
00117 bool dummy;
00118
00119 };
00120
00121 }
00122
00123 #endif // KEYVALUE_MNGT_PROCESSORMNGR_H_