#ifndef __CPluginConfig_h__
#define __CPluginConfig_h__ 1
#include <CoreFoundation/CFData.h>
#include <CoreFoundation/CFString.h>
#include <CoreFoundation/CFNumber.h>
#include <CoreFoundation/CFPropertyList.h>
#include "PluginData.h"
#include "PrivateTypes.h"
#define kConfigFilePath "/Library/Preferences/DirectoryService/DirectoryService.plist"
#define kDefaultConfig "<dict>\
<key>Version</key>\
<string>1.1</string>\
<key>BSD</key>\
<string>Active</string>\
<key>AppleTalk</key>\
<string>Active</string>\
<key>Active Directory</key>\
<string>Inactive</string>\
</dict>"
#define kServerDefaultConfig "<dict>\
<key>Version</key>\
<string>1.1</string>\
<key>AppleTalk</key>\
<string>Inactive</string>\
<key>Active Directory</key>\
<string>Inactive</string>\
</dict>"
#define kJaguarUpdateFilePath "/Library/Preferences/DirectoryService/.DSJaguarUpdate"
#define kDefaultUpgradeConfig "<dict>\
<key>Version</key>\
<string>1.1</string>\
<key>BSD</key>\
<string>Inactive</string>\
<key>Active Directory</key>\
<string>Inactive</string>\
</dict>"
#define kServerDefaultUpgradeConfig "<dict>\
<key>Version</key>\
<string>1.1</string>\
<key>Active Directory</key>\
<string>Inactive</string>\
</dict>"
#define kVersionKey "Version"
#define kAppleTalkPluginKey "AppleTalk"
#define kActiveValue "Active"
#define kInactiveValue "Inactive"
#define kTooManyReferencesWarningCount "Too Many References Warning Count"
#define kDelayFailedLocalAuthReturnsDeltaInSeconds "Delay Failed Local Auth Returns Delta In Seconds"
#define kMaxHandlerThreadCount "Maximum Number of Handler Threads"
class CPluginConfig
{
public:
CPluginConfig ( void );
virtual ~CPluginConfig ( void );
SInt32 Initialize ( void );
SInt32 SaveConfigData ( void );
ePluginState GetPluginState ( const char *inPluginName );
SInt32 SetPluginState ( const char *inPluginName, const ePluginState inPluginState );
protected:
private:
CFPropertyListRef fPlistRef;
CFMutableDictionaryRef fDictRef;
};
#endif