diff options
author | Simon Rettberg | 2018-10-16 10:08:48 +0200 |
---|---|---|
committer | Simon Rettberg | 2018-10-16 10:08:48 +0200 |
commit | d3a98cf6cbc3bd0b9efc570f58e8812c03931c18 (patch) | |
tree | cbddf8e50f35a9c6e878a5bfe3c6d625d99e12ba /OSX/PrefsReader.h | |
download | xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.tar.gz xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.tar.xz xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.zip |
Original 5.40
Diffstat (limited to 'OSX/PrefsReader.h')
-rw-r--r-- | OSX/PrefsReader.h | 56 |
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 |