home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / PowerPlant / CPreferenceMgr / CPreferenceMgr.h < prev   
Encoding:
C/C++ Source or Header  |  1997-06-19  |  1.2 KB  |  51 lines  |  [TEXT/CWIE]

  1. /*******************************************************************************\
  2.  CPreferenceMgr - a class for managing preferences
  3.  Dan Crevier 6/9/97
  4.  
  5. \*******************************************************************************/
  6.  
  7. #ifndef _H_CPreferenceMgr
  8. #define _H_CPreferenceMgr
  9.  
  10. #pragma once
  11.  
  12. #if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
  13.     #pragma import on
  14. #endif
  15.  
  16. class LFileStream;
  17. class LStr255;
  18.  
  19. #include <PP_Prefix.h>
  20.  
  21. class CPreferenceMgr
  22. {
  23.     public:
  24.         CPreferenceMgr();
  25.         void Init(const LStr255 &prefName, OSType creatorSpec, OSType fileType = 'pref');
  26.         virtual ~CPreferenceMgr();
  27.         
  28.         virtual void FlushPreferences(void);
  29.         
  30.     protected:
  31.         virtual void SetDefaultPreferences() = 0;
  32.         virtual void Read(LFileStream &prefFile) = 0;
  33.         virtual void Write(LFileStream &prefFile) = 0;
  34.         virtual void ReportError(const LStr255 &errorString);
  35.     
  36.         FSSpec mPrefSpec;
  37.         Boolean mInited;
  38.  
  39.     private:
  40.         // Defensive programming. No copy constructor nor operator=
  41.         CPreferenceMgr(const CPreferenceMgr&);
  42.         CPreferenceMgr& operator=(const CPreferenceMgr&);
  43.     
  44. };
  45.  
  46. #if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
  47.     #pragma import reset
  48. #endif
  49.  
  50. #endif //_H_CPreferenceMgr
  51.