Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

hyp.ker.regserver_impl.h

00001 /*
00002 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
00003  Hyperion Pattern.
00004  Hyperion Pattern is a part of the Hyperion Project.
00005 ----------------------------------------------------------
00006  Copyright (c) 2001 Pierre Rebours.
00007 
00008  This library is free software; you can redistribute it and/or
00009  modify it under the terms of the GNU Lesser General Public
00010  License as published by the Free Software Foundation; either
00011  version 2.1 of the License, or (at your option) any later version.
00012 
00013  This library is distributed in the hope that it will be useful,
00014  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00016  
00017  See hyp.license.txt file for more information about the license.
00018  
00019  Web: http://lagrandeporte.multimania.com/hyperion
00020  Email: pierre_rebours@yahoo.com
00021 ----------------------------------------------------------
00022  CVS
00023  $Log$
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         virtual void SetKeyRoot(const std::string&);
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         virtual void SetKeyRoot(const std::string&);
00093         */
00094 
00095         virtual std::string GetValueFromValueName(const std::string&,
00096                 const std::string&,
00097                 const std::string&);
00098 };
00099 
00100 #endif

Top of Page
written by Pierre Rebours © 2000-2001. Terms of Use.