This is MiscAppDefaults.m in view mode; [Download] [Up]

//	MiscAppDefaults.m -- easy access to preferences
//		Written by Steve Hayman Copyright (c) 1994 by Steve Hayman.
//				Version 1.0.  All rights reserved.
//		This notice may not be removed from this source code.
//	This object is included in the MiscKit by permission from the author
//	and its use is governed by the MiscKit license, found in the file
//	"LICENSE.rtf" in the MiscKit distribution.  Please refer to that file
//	for a list of all applicable permissions and restrictions.

#import <appkit/appkit.h>
#import "MiscAppDefaults.h"

@implementation Application(MiscAppDefaults) 

// Three core methods first...

// Register a set of defaults under the application's name.
- (int) registerDefaults:(const NXDefaultsVector) v
    return NXRegisterDefaults( [NXApp appName], v );

// Return the requested default value as a string.
- (const char *)defaultValue:(const char *)defName
    return NXGetDefaultValue( [NXApp appName], defName );

// Set a default value.  This adds the value to the internal
// defaults cache and also to the user's .NeXT/.NeXTdefaults database.
// Returns what NXWriteDefault() returns (1 on success, 0 on failure)
- (int)setDefault:(const char *)defName to:(const char *)defValue
    return NXWriteDefault( [NXApp appName], defName, defValue );

// -----------------------------------------------------------------
// The rest of the methods are wrappers and format converters.

// Return a default value as an integer.
// Note that if the default has never been set, or has been set to
// something other than an integer, 0 will be returned.
- (int) defaultIntValue:(const char *)defName
    const char *v = [self defaultValue:defName];
    return( v ? atoi(v) : 0 );

// Return a default value as a Boolean.
// We return YES if the string value is "YES", NO if it's anything else
// (including if it has never been set.)
- (BOOL) defaultBoolValue:(const char *)defName
    const char *v = [self defaultValue:defName];
    return ( v ? (strcmp( v, "YES") == 0) : NO ) ;

// Set an integer default value.  Convert it to a string first.
- (int)setDefault:(const char *)defName toInt:(int)defValue
    char intBuffer[80];
    sprintf(intBuffer, "%i", defValue);
    return [self setDefault:defName to:intBuffer];

// Set a boolean default.  We write the string YES if the boolean
// is true, NO otherwise.
- (int)setDefault:(const char *)defName toBool:(BOOL)defValue
    return [self setDefault:defName to:(defValue ? "YES" : "NO")];

// For back compatability -- don't use these anymore as they will
// definitely go away in the future!
- (int)setIntDefault:(const char *)defName to:(int)defValue
	return [self setDefault:defName toInt:defValue];

- (int)setBoolDefault:(const char *)defName to:(BOOL)defValue
	return [self setDefault:defName toBool:defValue];


These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.