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
00028
00029 #ifndef _hyp_ker_regserver_impl_h_
00030 #define _hyp_ker_regserver_impl_h_
00031
00032 #ifndef hyp_KERNEL_CORE_INSIDE
00033 #error Inclusion not allowed (include hyp.kernel.core.h instead)
00034 #endif
00035
00036
00037
00038 #ifdef hyp_WIN32
00039
00040 class hyp_ker_DLL CWin32ImplRegistry :
00041 public IImplRegistry
00042 {
00043 HKEY m_hRootKey;
00044
00045 bool RecursiveDeleteKey(HKEY,const char*);
00046 bool SetKeyAndValueNameAndValue(const char*,const char*,const char*,const char*);
00047 bool GetHandleKey(const char*,const char*,HKEY*);
00048 std::string GetAbsoluteKey(const std::string&,const std::string&);
00049
00050 public:
00051 CWin32ImplRegistry();
00052 ~CWin32ImplRegistry();
00053
00054 virtual void SetKey(const std::string&,
00055 const std::string&);
00056
00057 virtual void SetValueNameAndValue(const std::string&,
00058 const std::string&,
00059 const std::string&,
00060 const std::string&);
00061
00062 virtual void DeleteKey(const std::string&,
00063 const std::string&);
00064
00065
00066
00067
00068
00069 virtual std::string GetValueFromValueName(const std::string&,
00070 const std::string&,
00071 const std::string&);
00072 };
00073
00074 #endif
00075
00076 class hyp_ker_DLL CStdImplRegistry :
00077 public IImplRegistry
00078 {
00079 public:
00080 CStdImplRegistry();
00081
00082 virtual void SetKey(const std::string&,const std::string&);
00083
00084 virtual void SetValueNameAndValue(const std::string&,
00085 const std::string&,
00086 const std::string&,
00087 const std::string&);
00088
00089 virtual void DeleteKey(const std::string&, const std::string&);
00090
00091
00092
00093
00094
00095 virtual std::string GetValueFromValueName(const std::string&,
00096 const std::string&,
00097 const std::string&);
00098 };
00099
00100 #endif