1// 2// OCUserDefaults.m 3// LDView 4// 5// Created by Travis Cobbs on 7/8/06. 6// Copyright 2006 __MyCompanyName__. All rights reserved. 7// 8 9#import "OCUserDefaults.h" 10#import "LDViewCategories.h" 11#include <TCFoundation/TCUserDefaults.h> 12#include <LDLib/LDUserDefaultsKeys.h> 13 14@implementation OCUserDefaults 15 16+ (void)setAppName:(NSString *)value 17{ 18 TCUserDefaults::setAppName([value UTF8String]); 19 setDebugLevel((int)TCUserDefaults::longForKey(DEBUG_LEVEL_KEY)); 20} 21 22+ (void)setCommandLine:(argvArray)argv 23{ 24 TCUserDefaults::setCommandLine(argv); 25} 26 27+ (NSString *)stringForKey:(NSString *)key 28{ 29 return [self stringForKey:key defaultValue:nil sessionSpecific:YES]; 30} 31 32+ (NSString *)stringForKey:(NSString *)key 33 defaultValue:(NSString *)defaultValue 34 sessionSpecific:(BOOL)sessionSpecific 35{ 36 char *string = TCUserDefaults::stringForKey([key UTF8String], defaultValue ? [defaultValue UTF8String] : NULL, sessionSpecific ? true : false); 37 38 if (string) 39 { 40 NSString *retValue = [NSString stringWithUTF8String:string]; 41 42 delete[] string; 43 return retValue; 44 } 45 else 46 { 47 return nil; 48 } 49} 50 51+ (void)setString:(NSString *)value forKey:(NSString *)key 52{ 53 return [self setString:value forKey:key sessionSpecific:YES]; 54} 55 56+ (void)setString:(NSString *)value 57 forKey:(NSString *)key 58 sessionSpecific:(BOOL)sessionSpecific 59{ 60 TCUserDefaults::setStringForKey([value UTF8String], [key UTF8String], sessionSpecific); 61} 62 63+ (long)longForKey:(NSString *)key 64{ 65 return [self longForKey:key defaultValue:0 sessionSpecific:YES]; 66} 67 68+ (long)longForKey:(NSString *)key 69 defaultValue:(long)defaultValue 70 sessionSpecific:(BOOL)sessionSpecific 71{ 72 return TCUserDefaults::longForKey([key UTF8String], defaultValue, sessionSpecific ? true : false); 73} 74 75+ (void)setLong:(long)value forKey:(NSString *)key 76{ 77 return [self setLong:value forKey:key sessionSpecific:YES]; 78} 79 80+ (void)setLong:(long)value 81 forKey:(NSString *)key 82sessionSpecific:(BOOL)sessionSpecific 83{ 84 TCUserDefaults::setLongForKey(value, 85 [key UTF8String], sessionSpecific); 86} 87 88+ (float)floatForKey:(NSString *)key 89{ 90 return [self floatForKey:key defaultValue:0 sessionSpecific:YES]; 91} 92 93+ (float)floatForKey:(NSString *)key 94 defaultValue:(float)defaultValue 95 sessionSpecific:(BOOL)sessionSpecific 96{ 97 return TCUserDefaults::floatForKey([key UTF8String], defaultValue, sessionSpecific ? true : false); 98} 99 100+ (void)setFloat:(float)value forKey:(NSString *)key 101{ 102 return [self setFloat:value forKey:key sessionSpecific:YES]; 103} 104 105+ (void)setFloat:(float)value 106 forKey:(NSString *)key 107sessionSpecific:(BOOL)sessionSpecific 108{ 109 TCUserDefaults::setFloatForKey(value, [key UTF8String], sessionSpecific); 110} 111 112+ (void)removeValueForKey:(NSString *)key 113 sessionSpecific:(BOOL)sessionSpecific 114{ 115 TCUserDefaults::removeValue([key UTF8String], sessionSpecific); 116} 117 118+ (void)initSession 119{ 120 char *sessionName = TCUserDefaults::getSavedSessionNameFromKey(PREFERENCE_SET_KEY); 121 if (sessionName && sessionName[0]) 122 { 123 TCUserDefaults::setSessionName(sessionName, NULL, false); 124 } 125 delete[] sessionName; 126} 127 128@end 129