• Main Page
  • Modules
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/ECF/Registry.h

00001 #ifndef Registry_h
00002 #define Registry_h
00003 
00004 #include <map>
00005 
00006 #define NODE_ENTRY    "Entry"
00007 
00008 namespace ECF
00009 {
00010 
00015 enum type
00016     { INT, UINT, STRING, FLOAT, DOUBLE, CHAR, ERROR };
00017 
00018 
00023 struct Param
00024 {
00025     voidP value;
00026     enum ECF::type T;
00027     bool bModified;
00028     std::string description;
00029 };
00030 
00031 }
00032 typedef boost::shared_ptr<ECF::Param> ParamP;
00033 
00034 
00041 class Registry 
00042 {
00043 private:
00044     std::map < std::string, ParamP > parameters_;
00045     typedef std::map < std::string, ParamP >::iterator map_iter;
00046 
00047 public:
00048     bool registerEntry(std::string, voidP, enum ECF::type, std::string description = "", uint index = 0);
00049     bool isRegistered(std::string);
00050     bool modifyEntry(std::string, voidP, uint index = 0);
00051     voidP getEntry(std::string, uint index = 0);
00052     ECF::type getType(std::string);
00053     bool isModified(std::string, uint index = 0);
00054     bool readEntries(const XMLNode& node, std::string prefix = "", uint index = 0);
00055     void dumpEntries(XMLNode&);
00056     void write(XMLNode&);
00057 };
00058 typedef boost::shared_ptr<Registry> RegistryP;
00059 
00060 #endif 
00061 

Generated on Tue Nov 4 2014 13:04:31 for ECF by  doxygen 1.7.1