#ifndef __CAUTHAUTHORITY_H__
#define __CAUTHAUTHORITY_H__
#include <CoreFoundation/CoreFoundation.h>
#include <DirectoryService/DirServicesTypes.h>
class CAuthAuthority
{
public:
CAuthAuthority();
CAuthAuthority(CAuthAuthority &inAuthAuthority);
virtual ~CAuthAuthority();
virtual bool AddValue( const char *inAuthAuthorityStr );
virtual bool AddValue( CFStringRef inAuthAuthorityString );
virtual bool AddValues( CFArrayRef inAuthAuthorityArray );
virtual CFIndex GetValueCount( void );
virtual char * GetValueAtIndex( int inIndex );
virtual char * GetValueForTag( const char *inTagStr );
virtual CFMutableDictionaryRef GetValueForTagAsCFDict( const char *inTagStr );
virtual char * GetDataForTag( const char *inTagStr, CFIndex inDataSegmentIndex );
virtual bool SetValueForTag( const char *inTagStr, const char *inAuthAuthorityStr );
virtual bool SetValueDisabledForTag( const char *inTagStr );
virtual bool SetDataForTag( const char *inTagStr, const char *inDataSegment, CFIndex inDataSegmentIndex );
virtual void RemoveValueForTag( const char *inTagStr );
virtual void ToggleDisabledAuthority( bool enable );
virtual bool TagDisabled( const char *inTagStr );
protected:
CFMutableArrayRef mValueArray;
CFMutableDictionaryRef mDisabledAuthorityStorage;
private:
};
#endif