ADC Home > Reference Library > Reference > Networking > System Configuration Framework Reference
|
SCPreferences |
Includes: | <AvailabilityMacros.h> <sys/cdefs.h> <CoreFoundation/CoreFoundation.h> <SystemConfiguration/SCDynamicStore.h> <Security/Security.h> |
The SCPreferences API allows an application to load and
store XML configuration data in a controlled manner and provide
the necessary notifications to other applications that need to
be aware of configuration changes.
To access configuration preferences, you must first establish a
preferences session using the SCPreferencesCreate function.
To identify a specific set of preferences to access, you pass a
value in the prefsID parameter.
A NULL value indicates that the default system preferences are
to be accessed.
A string that starts with a leading "/" character specifies
the absolute path to the file containing the preferences to
be accessed.
A string that does not start with a leading "/" character
specifies a file relative to the default system preferences
directory.
When you are finished with the preferences session, use
CFRelease to close it.
SCPreferencesAddValue |
Boolean SCPreferencesAddValue ( SCPreferencesRef prefs, CFStringRef key, CFPropertyListRef value );
prefs
key
value
Returns TRUE if the value was added; FALSE if the key already exists or if an error occurred.
Adds data for a preference key.
This function associates new data with the specified key.
To commit these changes to permanent storage, a call must
be made to the SCPreferencesCommitChanges function.
SCPreferencesApplyChanges |
Boolean SCPreferencesApplyChanges ( SCPreferencesRef prefs );
prefs
Returns TRUE if the lock was obtained; FALSE if an error occurred.
Requests that the currently stored configuration preferences be applied to the active configuration.
SCPreferencesCommitChanges |
Boolean SCPreferencesCommitChanges ( SCPreferencesRef prefs );
prefs
Returns TRUE if the lock was obtained; FALSE if an error occurred.
Commits changes made to the configuration preferences to
persistent storage.
This function commits any changes to permanent storage.
Implicit calls to the SCPreferencesLock and SCPreferencesUnlock
functions will be made if exclusive access has not already been
established.
Note: This routine commits changes to persistent storage.
Call the SCPreferencesApplyChanges function to apply the
changes to the running system.
SCPreferencesCopyKeyList |
CFArrayRef SCPreferencesCopyKeyList ( SCPreferencesRef prefs );
prefs
Returns the list of keys. You must release the returned value.
Returns an array of currently defined preference keys.
SCPreferencesCreate |
SCPreferencesRef SCPreferencesCreate ( CFAllocatorRef allocator, CFStringRef name, CFStringRef prefsID );
allocator
name
prefsID
Returns a reference to the new SCPreferences. You must release the returned value.
Initiates access to the per-system set of configuration preferences.
SCPreferencesCreateWithAuthorization |
SCPreferencesRef SCPreferencesCreateWithAuthorization ( CFAllocatorRef allocator, CFStringRef name, CFStringRef prefsID, AuthorizationRef authorization );
allocator
name
prefsID
authorization
Returns a reference to the new SCPreferences. You must release the returned value.
Initiates access to the per-system set of configuration preferences.
SCPreferencesGetSignature |
CFDataRef SCPreferencesGetSignature ( SCPreferencesRef prefs );
prefs
Returns a CFDataRef that reflects the signature of the configuration preferences at the time of the call to the SCPreferencesCreate function.
Returns a sequence of bytes that can be used to determine if the saved configuration preferences have changed.
SCPreferencesGetTypeID |
CFTypeID SCPreferencesGetTypeID ( void);
Returns the type identifier of all SCPreferences instances.
SCPreferencesGetValue |
CFPropertyListRef SCPreferencesGetValue ( SCPreferencesRef prefs, CFStringRef key );
prefs
key
Returns the value associated with the specified preference key; NULL if no value was located.
Returns the data associated with a preference key.
This function retrieves data associated with the specified
key.
Note: To avoid inadvertantly reading stale data, first call
the SCPreferencesLock function.
SCPreferencesLock |
Boolean SCPreferencesLock ( SCPreferencesRef prefs, Boolean wait );
prefs
wait
Returns TRUE if the lock was obtained; FALSE if an error occurred.
Locks access to the configuration preferences.
This function obtains exclusive access to the configuration
preferences. Clients attempting to obtain exclusive access
to the preferences will either receive a kSCStatusPrefsBusy
error or block waiting for the lock to be released.
SCPreferencesRemoveValue |
Boolean SCPreferencesRemoveValue ( SCPreferencesRef prefs, CFStringRef key );
prefs
key
Returns TRUE if the value was removed; FALSE if the key did not exist or if an error occurred.
Removes the data associated with a preference key.
This function removes the data associated with the specified
key. To commit these changes to permanent storage a call must
be made to the SCPreferencesCommitChanges function.
SCPreferencesScheduleWithRunLoop |
Boolean SCPreferencesScheduleWithRunLoop ( SCPreferencesRef prefs, CFRunLoopRef runLoop, CFStringRef runLoopMode );
prefs
runLoop
runLoopMode
Returns TRUE if the notifications are successfully scheduled; FALSE otherwise.
Schedule commit and apply notifications for the specified preferences session using the specified run loop and mode.
SCPreferencesSetCallback |
Boolean SCPreferencesSetCallback ( SCPreferencesRef prefs, SCPreferencesCallBack callout, SCPreferencesContext *context );
prefs
callout
context
Returns TRUE if the notification client was successfully set.
Assigns a callback to a preferences session. The function is called when the changes to the preferences have been committed or applied.
SCPreferencesSetValue |
Boolean SCPreferencesSetValue ( SCPreferencesRef prefs, CFStringRef key, CFPropertyListRef value );
prefs
key
value
Returns TRUE if the value was set; FALSE if an error occurred.
Updates the data associated with a preference key.
This function adds or replaces the value associated with the
specified key. To commit these changes to permanent storage
a call must be made to the SCPreferencesCommitChanges function.
SCPreferencesSynchronize |
void SCPreferencesSynchronize ( SCPreferencesRef prefs );
prefs
Synchronizes accessed preferences with committed changes.
Any references to preference values returned by calls to the
SCPreferencesGetValue function are no longer valid unless they
were explicitly retained or copied. Any preference values
that were updated (add, set, remove) but not committed will
be discarded.
SCPreferencesUnlock |
Boolean SCPreferencesUnlock ( SCPreferencesRef prefs );
prefs
Returns TRUE if the lock was obtained; FALSE if an error occurred.
Releases exclusive access to the configuration preferences.
This function releases the exclusive access lock to the
preferences. Other clients will be now be able to establish
exclusive access to the preferences.
SCPreferencesUnscheduleFromRunLoop |
Boolean SCPreferencesUnscheduleFromRunLoop ( SCPreferencesRef prefs, CFRunLoopRef runLoop, CFStringRef runLoopMode );
prefs
runLoop
runLoopMode
Returns TRUE if the notifications are successfully unscheduled; FALSE otherwise.
Unschedule commit and apply notifications for the specified preferences session from the specified run loop and mode.
SCPreferencesCallBack |
typedef void ( *SCPreferencesCallBack) ( SCPreferencesRef prefs, SCPreferencesNotification notificationType, void *info );
prefs
- The preferences session.
notificationType
- The type of notification, such as changes committed, changes applied, etc.
info
- A C pointer to a user-specified block of data.
Type of the callback function used when the preferences have been updated and/or applied.
SCPreferencesContext |
typedef struct { CFIndex version; void *info; const void *(*retain)( const void *info); void (*release)( const void *info); CFStringRef (*copyDescription)( const void *info); } SCPreferencesContext;
version
- The version number of the structure type being passed in as a parameter to the SCPreferencesSetCallback function. This structure is version 0.
info
- A C pointer to a user-specified block of data.
retain
- The callback used to add a retain for the info field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value may be NULL.
release
- The calllback used to remove a retain previously added for the info field. If this parameter is not a pointer to a function of the correct prototype, the behavior is undefined. The value may be NULL.
copyDescription
- The callback used to provide a description of the info field.
Structure containing user-specified data and callbacks for SCPreferences.
SCPreferencesRef |
typedef const struct __SCPreferences * SCPreferencesRef;
This is the handle to an open preferences session for accessing system configuration preferences.
SCPreferencesNotification |
enum { kSCPreferencesNotificationCommit = 1<<0, kSCPreferencesNotificationApply = 1<<1 };
kSCPreferencesNotificationCommit
- Indicates when new preferences have been saved.
kSCPreferencesNotificationApply
- Key Indicates when a request has been made to apply the currently saved preferences to the active system configuration.
Used with the SCPreferencesCallBack callback to describe the type of notification.
|