#ifndef __CPOLICYXML__
#define __CPOLICYXML__
#include <PasswordServer/CPolicyBase.h>
class CPolicyXML : public CPolicyBase
{
public:
CPolicyXML();
CPolicyXML( CFDictionaryRef inPolicyDict );
CPolicyXML( const char *xmlDataStr );
virtual ~CPolicyXML();
virtual void CPolicyCommonInit( void );
static void CPolicyXMLCommonInitStatic( PWAccessFeatures *inOutPolicies );
virtual void GetPolicy( PWAccessFeatures *outPolicy );
virtual char * GetPolicyAsSpaceDelimitedData( void );
virtual void SetPolicy( PWAccessFeatures *inPolicy );
virtual void SetPolicyExtra( PWAccessFeatures *inPolicy, PWMoreAccessFeatures *inExtraPolicy );
virtual void SetPolicy( CFDictionaryRef inPolicyDict );
virtual void AddMiscPolicies( const char *inPolicyStr );
protected:
virtual int ConvertPropertyListPolicyToStruct( CFMutableDictionaryRef inPolicyDict );
virtual int ConvertStructToPropertyListPolicy( void );
PWAccessFeatures mPolicy;
PWMoreAccessFeatures mExtraPolicy;
unsigned long mWarnOfExpirationMinutes;
unsigned long mWarnOfDisableMinutes;
time_t mProjectedPasswordExpireDate;
time_t mProjectedAccountDisableDate;
};
#endif