home *** CD-ROM | disk | FTP | other *** search
- /*******************************************************************************\
- CPreferenceMgr - a class for managing preferences
- Dan Crevier 6/9/97
-
- \*******************************************************************************/
-
- #ifndef _H_CPreferenceMgr
- #define _H_CPreferenceMgr
-
- #pragma once
-
- #if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
- #pragma import on
- #endif
-
- class LFileStream;
- class LStr255;
-
- #include <PP_Prefix.h>
-
- class CPreferenceMgr
- {
- public:
- CPreferenceMgr();
- void Init(const LStr255 &prefName, OSType creatorSpec, OSType fileType = 'pref');
- virtual ~CPreferenceMgr();
-
- virtual void FlushPreferences(void);
-
- protected:
- virtual void SetDefaultPreferences() = 0;
- virtual void Read(LFileStream &prefFile) = 0;
- virtual void Write(LFileStream &prefFile) = 0;
- virtual void ReportError(const LStr255 &errorString);
-
- FSSpec mPrefSpec;
- Boolean mInited;
-
- private:
- // Defensive programming. No copy constructor nor operator=
- CPreferenceMgr(const CPreferenceMgr&);
- CPreferenceMgr& operator=(const CPreferenceMgr&);
-
- };
-
- #if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
- #pragma import reset
- #endif
-
- #endif //_H_CPreferenceMgr
-