00001 #ifndef REGISTRY_H
00002 #define REGISTRY_H
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
00035 #include <string>
00036 #include <iosfwd>
00037 #include <list>
00038
00039 #include <node/field.h>
00040 #include <node/fields.h>
00041
00042 class GltRegistryMenu;
00043
00049 class GltRegistry
00050 {
00051 friend class GltRegistryMenu;
00052
00053 private:
00054
00055
00056
00057 GltRegistry(const GltRegistry &);
00058 GltRegistry &operator=(const GltRegistry &);
00059
00060 public:
00061
00063 GltRegistry();
00065 ~GltRegistry();
00066
00068 void set(const GltFieldPtr &root);
00070 void reset();
00072 void clear();
00073
00074
00075
00076
00077
00079 bool write(std::ostream &os) const;
00081 bool read(std::istream &os);
00082
00084 bool write(const std::string &filename) const;
00086 bool read (const std::string &filename);
00087
00088 #ifdef GLT_WIN32
00089
00090 bool writeRegistry(const std::string &key) const;
00092 bool readRegistry(const std::string &key);
00093 #endif
00094
00096 bool set(const std::string &name,const std::string &value);
00098 bool set(const std::string &settings);
00099
00100 private:
00101 GltFieldPtr _root;
00102 };
00103
00104 #endif