///////////////////////////////////////////////////////////////////////////// // // Copyright(C) 2000 Microsoft Corporation all rights reserved. // // Module: ServiceConfiguration.H // // Project: Windows 2000 IAS // // Description: Declaration of the CServiceConfiguration class // // Author: tperraut // // Revision 03/21/2000 created // ///////////////////////////////////////////////////////////////////////////// #ifndef SERVICE_CONFIGURATION_H_3124D940_2304_4d32_B742_C9829FFB754D #define SERVICE_CONFIGURATION_H_3124D940_2304_4d32_B742_C9829FFB754D #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "nocopy.h" #include "basetable.h" ////////////////////////////////////////////////////////////////////////////// // class CServiceConfigurationAcc ////////////////////////////////////////////////////////////////////////////// class CServiceConfigurationAcc { protected: static const size_t FIFTY_ONE_LENGTH = 51; static const size_t SIXTY_FIVE_LENGTH = 65; static const size_t NAME_LENGTH = 256; static const size_t VERSION_LENGTH = 16; VARIANT_BOOL m_AutomaticallyOpenNewLog; VARIANT_BOOL m_DefaultUserValidation; VARIANT_BOOL m_LoggingOn; VARIANT_BOOL m_NewLogBySize; VARIANT_BOOL m_NewLogDaily; VARIANT_BOOL m_NewLogMonthly; VARIANT_BOOL m_NewLogWeekly; VARIANT_BOOL m_NoDefaultUserValidation; VARIANT_BOOL m_TraceAccounting; VARIANT_BOOL m_TraceAuthentication; VARIANT_BOOL m_TraceInvalid; LONG m_AccountingPort; LONG m_AuthenticationPort; LONG m_MaxLogSize; LONG m_ServerThreads; WCHAR m_LogFileDirectory[FIFTY_ONE_LENGTH]; WCHAR m_LogFilename[NAME_LENGTH]; WCHAR m_LogFormat[SIXTY_FIVE_LENGTH]; // Realm: No referential integrity enforced. Used when users are validated // locally. WCHAR m_Realm[FIFTY_ONE_LENGTH]; WCHAR m_SystemName[SIXTY_FIVE_LENGTH]; WCHAR m_Version[VERSION_LENGTH]; BEGIN_COLUMN_MAP(CServiceConfigurationAcc) COLUMN_ENTRY(1, m_SystemName) COLUMN_ENTRY(2, m_AuthenticationPort) COLUMN_ENTRY(3, m_AccountingPort) COLUMN_ENTRY(4, m_ServerThreads) COLUMN_ENTRY_TYPE(5, DBTYPE_BOOL, m_TraceInvalid) COLUMN_ENTRY_TYPE(6, DBTYPE_BOOL, m_TraceAuthentication) COLUMN_ENTRY_TYPE(7, DBTYPE_BOOL, m_TraceAccounting) COLUMN_ENTRY_TYPE(8, DBTYPE_BOOL, m_NoDefaultUserValidation) COLUMN_ENTRY_TYPE(9, DBTYPE_BOOL, m_DefaultUserValidation) COLUMN_ENTRY(10, m_Realm) COLUMN_ENTRY_TYPE(11, DBTYPE_BOOL, m_LoggingOn) COLUMN_ENTRY(12, m_LogFormat) COLUMN_ENTRY_TYPE(13, DBTYPE_BOOL, m_AutomaticallyOpenNewLog) COLUMN_ENTRY_TYPE(14, DBTYPE_BOOL, m_NewLogDaily) COLUMN_ENTRY_TYPE(15, DBTYPE_BOOL, m_NewLogWeekly) COLUMN_ENTRY_TYPE(16, DBTYPE_BOOL, m_NewLogMonthly) COLUMN_ENTRY_TYPE(17, DBTYPE_BOOL, m_NewLogBySize) COLUMN_ENTRY(18, m_MaxLogSize) COLUMN_ENTRY(19, m_LogFilename) COLUMN_ENTRY(20, m_LogFileDirectory) COLUMN_ENTRY(21, m_Version) END_COLUMN_MAP() }; ////////////////////////////////////////////////////////////////////////////// // class CServiceConfiguration ////////////////////////////////////////////////////////////////////////////// class CServiceConfiguration : public CBaseTable >, private NonCopyable { public: CServiceConfiguration(CSession& Session); ////////////////////////////////////////////////////////////////////////// // GetMaxLogSize ////////////////////////////////////////////////////////////////////////// _bstr_t GetMaxLogSize() const; ////////////////////////////////////////////////////////////////////////// // GetLogFrequency ////////////////////////////////////////////////////////////////////////// _bstr_t GetLogFrequency() const; private: static const size_t SIZE_LONG_MAX = 14; }; #endif // SERVICE_CONFIGURATION_H_3124D940_2304_4d32_B742_C9829FFB754D