00001
00002
00003
00004 #ifndef _APPPREFS_H_
00005 #define _APPPREFS_H_
00006
00007 #include <Message.h>
00008 #include <FindDirectory.h>
00009 #include <Path.h>
00010
00011 struct attr_info;
00012 class BFile;
00013
00014 class BAppPrefs : public BMessage {
00015 public :
00016 BAppPrefs(char const*const leafname=NULL,char const*const basename=NULL,const directory_which dir=B_USER_SETTINGS_DIRECTORY);
00017 BAppPrefs(BMessage const&,char const*const leafname=NULL,char const*const basename=NULL,const directory_which dir=B_USER_SETTINGS_DIRECTORY);
00018
00019 BAppPrefs(const BAppPrefs&);
00020 BAppPrefs&operator=(const BAppPrefs&);
00021
00022 virtual ~BAppPrefs();
00023
00024 status_t InitCheck() const;
00025
00026 status_t SetTo(char const*const leafname=NULL,char const*const basename=NULL,const directory_which dir=B_USER_SETTINGS_DIRECTORY);
00027 const char* Path() const;
00028
00029 status_t Load(const uint32 flags=0);
00030 status_t Save(const uint32 flags=0) const;
00031
00032 private:
00033 virtual void _ReservedAppPrefs1();
00034 virtual void _ReservedAppPrefs2();
00035 virtual void _ReservedAppPrefs3();
00036 virtual void _ReservedAppPrefs4();
00037 virtual void _ReservedAppPrefs5();
00038 virtual void _ReservedAppPrefs6();
00039 virtual void _ReservedAppPrefs7();
00040 virtual void _ReservedAppPrefs8();
00041 virtual void _ReservedAppPrefs9();
00042 virtual void _ReservedAppPrefs10();
00043
00044 virtual status_t Perform(const perform_code d,void *const arg);
00045
00046 void _CtorInit(char const*const leafname=NULL,char const*const basename=NULL,const directory_which dir=B_USER_SETTINGS_DIRECTORY);
00047
00048 static status_t _StoreAttributes(BMessage const*const m,BFile*const f,char const*const basename="");
00049 static status_t _ExtractAttribute(BMessage *const m,BFile const*const f,char const*const full_name,char const*const partial_name,attr_info const*const ai);
00050 static bool _SupportsType(const type_code);
00051
00052 struct _PrivateAppPrefs*_p_AppPrefs;
00053 };
00054
00055 #endif
00056