1/* 2 * Copyright (c) 2000, 2001, 2004, 2011 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24/* 25 * Modification History 26 * 27 * June 1, 2001 Allan Nathanson <ajn@apple.com> 28 * - public API conversion 29 * 30 * November 9, 2000 Allan Nathanson <ajn@apple.com> 31 * - initial revision 32 */ 33 34#include <SystemConfiguration/SystemConfiguration.h> 35#include <SystemConfiguration/SCPrivate.h> 36#include "SCPreferencesInternal.h" 37 38Boolean 39SCPreferencesRemoveAllValues(SCPreferencesRef prefs) 40{ 41 SCPreferencesPrivateRef prefsPrivate = (SCPreferencesPrivateRef)prefs; 42 43 if (prefs == NULL) { 44 /* sorry, you must provide a session */ 45 _SCErrorSet(kSCStatusNoPrefsSession); 46 return FALSE; 47 } 48 49 __SCPreferencesAccess(prefs); 50 51 CFDictionaryRemoveAllValues(prefsPrivate->prefs); 52 prefsPrivate->changed = TRUE; 53 return TRUE; 54} 55 56 57Boolean 58SCPreferencesRemoveValue(SCPreferencesRef prefs, CFStringRef key) 59{ 60 SCPreferencesPrivateRef prefsPrivate = (SCPreferencesPrivateRef)prefs; 61 62 if (prefs == NULL) { 63 /* sorry, you must provide a session */ 64 _SCErrorSet(kSCStatusNoPrefsSession); 65 return FALSE; 66 } 67 68 __SCPreferencesAccess(prefs); 69 70 if (!CFDictionaryContainsKey(prefsPrivate->prefs, key)) { 71 _SCErrorSet(kSCStatusNoKey); 72 return FALSE; 73 } 74 75 CFDictionaryRemoveValue(prefsPrivate->prefs, key); 76 prefsPrivate->changed = TRUE; 77 return TRUE; 78} 79