summaryrefslogtreecommitdiff
path: root/FL/Fl_Preferences.H
diff options
context:
space:
mode:
Diffstat (limited to 'FL/Fl_Preferences.H')
-rw-r--r--FL/Fl_Preferences.H45
1 files changed, 43 insertions, 2 deletions
diff --git a/FL/Fl_Preferences.H b/FL/Fl_Preferences.H
index af2c8fd87..45717265a 100644
--- a/FL/Fl_Preferences.H
+++ b/FL/Fl_Preferences.H
@@ -73,8 +73,12 @@ public:
Define the scope of the preferences.
*/
enum Root {
- SYSTEM=0, ///< Preferences are used system-wide
- USER ///< Preferences apply only to the current user
+ SYSTEM = 0, ///< Preferences are used system-wide
+ USER, ///< Preferences apply only to the current user
+ ROOT_MASK = 0xFF, //< maks for the values above
+ CORE = 0x100, ///< OR'd by FLTK to read and write core library preferences and options
+ CORE_SYSTEM = CORE|SYSTEM,
+ CORE_USER = CORE|USER
};
/**
@@ -88,6 +92,41 @@ public:
static const char *newUUID();
+ /** Set this, if no call to Fl_Preferences shall access the file sytem
+ @see Fl_Preferences::file_access(unsigned int)
+ @see Fl_Preferences::file_access()
+ */
+ static const unsigned int NONE = 0x0000;
+ /** set this if it is ok for applications to read user preference files */
+ static const unsigned int USER_READ_OK = 0x0001;
+ /** set this if it is ok for applications to create and write user preference files */
+ static const unsigned int USER_WRITE_OK = 0x0002;
+ /** set this if it is ok for applications to read, create, and write user preference files */
+ static const unsigned int USER_OK = USER_READ_OK | USER_WRITE_OK;
+ /** set this if it is ok for applications to read system wide preference files */
+ static const unsigned int SYSTEM_READ_OK = 0x0004;
+ /** set this if it is ok for applications to create and write system wide preference files */
+ static const unsigned int SYSTEM_WRITE_OK = 0x0008;
+ /** set this if it is ok for applications to read, create, and write system wide preference files */
+ static const unsigned int SYSTEM_OK = SYSTEM_READ_OK | SYSTEM_WRITE_OK;
+ /** set this if it is ok for applications to read, create, and write any kind of preference files */
+ static const unsigned int APP_OK = SYSTEM_OK | USER_OK;
+ /** Set this if it is ok for FLTK to read preference files. USER_READ_OK and/or SYSTEM_READ_OK must also be set. */
+ static const unsigned int CORE_READ_OK = 0x0010;
+ /** Set this if it is ok for FLTK to create or write preference files. USER_WRITE_OK and/or SYSTEM_WRITE_OK must also be set. */
+ static const unsigned int CORE_WRITE_OK = 0x0020;
+ /** set this if it is ok for FLTK to read, create, or write preference files */
+ static const unsigned int CORE_OK = CORE_READ_OK | CORE_WRITE_OK;
+ /** set this to allow FLTK and applications to read preference files */
+ static const unsigned int ALL_READ_OK = USER_READ_OK | SYSTEM_READ_OK | CORE_READ_OK;
+ /** set this to allow FLTK and applications to create and write preference files */
+ static const unsigned int ALL_WRITE_OK = USER_WRITE_OK | SYSTEM_WRITE_OK | CORE_WRITE_OK;
+ /** set this to give FLTK and applications permission to read, write, and create preference files */
+ static const unsigned int ALL = ALL_READ_OK | ALL_WRITE_OK;
+
+ static void file_access(unsigned int flags);
+ static unsigned int file_access();
+
Fl_Preferences( Root root, const char *vendor, const char *application );
Fl_Preferences( const char *path, const char *vendor, const char *application );
Fl_Preferences( Fl_Preferences &parent, const char *group );
@@ -193,6 +232,7 @@ private:
static char nameBuffer[128];
static char uuidBuffer[40];
static Fl_Preferences *runtimePrefs;
+ static unsigned int fileAccess_;
public: // older Sun compilers need this (public definition of the following classes)
class RootNode;
@@ -256,6 +296,7 @@ public: // older Sun compilers need this (public definition of the following cl
Fl_Preferences *prefs_;
char *filename_;
char *vendor_, *application_;
+ Root root_;
public:
RootNode( Fl_Preferences *, Root root, const char *vendor, const char *application );
RootNode( Fl_Preferences *, const char *path, const char *vendor, const char *application );