summaryrefslogtreecommitdiffstats
path: root/OSX/PrefsReader.h
diff options
context:
space:
mode:
authorSimon Rettberg2018-10-16 10:08:48 +0200
committerSimon Rettberg2018-10-16 10:08:48 +0200
commitd3a98cf6cbc3bd0b9efc570f58e8812c03931c18 (patch)
treecbddf8e50f35a9c6e878a5bfe3c6d625d99e12ba /OSX/PrefsReader.h
downloadxscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.tar.gz
xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.tar.xz
xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.zip
Original 5.40
Diffstat (limited to 'OSX/PrefsReader.h')
-rw-r--r--OSX/PrefsReader.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/OSX/PrefsReader.h b/OSX/PrefsReader.h
new file mode 100644
index 0000000..492d4ea
--- /dev/null
+++ b/OSX/PrefsReader.h
@@ -0,0 +1,56 @@
+/* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
+
+/* This implements the substrate of the xscreensaver preferences code:
+ It does this by writing defaults to, and reading values from, the
+ NSUserDefaultsController (and ScreenSaverDefaults/NSUserDefaults)
+ and thereby reading the preferences that may have been edited by
+ the UI (XScreenSaverConfigSheet).
+ */
+
+#ifdef USE_IPHONE
+# import <Foundation/Foundation.h>
+# import <UIKit/UIKit.h>
+# define NSUserDefaultsController NSUserDefaults
+#else
+# import <Cocoa/Cocoa.h>
+#endif
+
+
+#import "jwxyz.h"
+
+@interface PrefsReader : NSObject
+{
+ NSString *saver_name;
+
+ NSUserDefaults *userDefaults; // this is actually a 'ScreenSaverDefaults'
+ NSUserDefaultsController *userDefaultsController;
+
+ NSUserDefaults *globalDefaults; // for prefs shared by all xscreensavers.
+ NSUserDefaultsController *globalDefaultsController;
+
+ NSDictionary *defaultOptions; // Hardcoded defaults before any changes.
+}
+
+- (id) initWithName: (NSString *) name
+ xrmKeys: (const XrmOptionDescRec *) opts
+ defaults: (const char * const *) defs;
+
+- (NSUserDefaultsController *) userDefaultsController;
+- (NSUserDefaultsController *) globalDefaultsController;
+- (NSDictionary *) defaultOptions;
+
+- (char *) getStringResource: (const char *) name;
+- (double) getFloatResource: (const char *) name;
+- (int) getIntegerResource: (const char *) name;
+- (BOOL) getBooleanResource: (const char *) name;
+
+@end