00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWUNIXRegistryHelper.h,v $ 00004 00005 Copyright (c) Kitware, Inc. 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 // .NAME vtkKWUNIXRegistryHelper - A registry class 00015 // .SECTION Description 00016 // This class abstracts the storing of data that can be restored 00017 // when the program executes again. It is implemented as a file in 00018 // the user's home directory. 00019 00020 #ifndef __vtkKWUNIXRegistryHelper_h 00021 #define __vtkKWUNIXRegistryHelper_h 00022 00023 #include "vtkKWRegistryHelper.h" 00024 00025 class vtkKWUNIXRegistryHelperInternals; 00026 00027 class KWWidgets_EXPORT vtkKWUNIXRegistryHelper : public vtkKWRegistryHelper 00028 { 00029 public: 00030 static vtkKWUNIXRegistryHelper* New(); 00031 vtkTypeRevisionMacro(vtkKWUNIXRegistryHelper, vtkKWRegistryHelper); 00032 void PrintSelf(ostream& os, vtkIndent indent); 00033 00034 // Description: 00035 // Read a value from the registry. 00036 virtual int ReadValueInternal(const char *key, char *value); 00037 00038 // Description: 00039 // Delete a key from the registry. 00040 virtual int DeleteKeyInternal(const char *key); 00041 00042 // Description: 00043 // Delete a value from a given key. 00044 virtual int DeleteValueInternal(const char *key); 00045 00046 // Description: 00047 // Set value in a given key. 00048 virtual int SetValueInternal(const char *key, const char *value); 00049 00050 // Description: 00051 // Open the registry at toplevel/subkey. 00052 virtual int OpenInternal(const char *toplevel, const char *subkey, 00053 int readonly); 00054 00055 // Description: 00056 // Close the registry. 00057 virtual int CloseInternal(); 00058 00059 protected: 00060 vtkKWUNIXRegistryHelper(); 00061 virtual ~vtkKWUNIXRegistryHelper(); 00062 vtkSetStringMacro(SubKey); 00063 00064 char *CreateKey(const char *key); 00065 00066 private: 00067 char *SubKey; 00068 00069 vtkKWUNIXRegistryHelperInternals* Internals; 00070 00071 vtkKWUNIXRegistryHelper(const vtkKWUNIXRegistryHelper&); // Not implemented 00072 void operator=(const vtkKWUNIXRegistryHelper&); // Not implemented 00073 }; 00074 00075 #endif 00076 00077 00078