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
00022
00023
00024
00025
00026
00027
00034 #ifndef KEYVALUE_MNGT_PROCESSORMNGR_H_
00035 #define KEYVALUE_MNGT_PROCESSORMNGR_H_
00036
00037 #include <map>
00038
00039 #include "keyvalue/extern/SharedPtr.h"
00040 #include "keyvalue/extern/String.h"
00041 #include "keyvalue/value/Vector.h"
00042
00043 namespace keyvalue {
00044
00045
00046 class DataSet;
00047 class Processor;
00048 class Command;
00049 namespace value {
00050 class Variant;
00051 }
00052
00066 class ProcessorMngr {
00067
00068 public:
00069
00070 ProcessorMngr();
00071
00077 void
00078 add(const Processor* processor);
00079
00090 const Processor&
00091 getProcessor(const string& name) const;
00092
00103 const Command&
00104 getCommand(const string& name) const;
00105
00111 value::Vector
00112 getCmdList() const;
00113
00114 private:
00115
00116
00117 typedef std::map<string, const Processor*> PrcMapType_;
00118 PrcMapType_ prcMap_;
00119
00120
00121 typedef std::map<string, const Command*> CmdMapType_;
00122 CmdMapType_ cmdMap_;
00123
00130 bool dummy_;
00131 static const Processor* kvProcessors_;
00132 static const Processor* processors_;
00133
00134 };
00135
00136 }
00137
00138 #endif // KEYVALUE_MNGT_PROCESSORMNGR_H_