Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

161 lines
5.2 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright(C) 2000 Microsoft Corporation all rights reserved.
  4. //
  5. // Module: Realms.H
  6. //
  7. // Project: Windows 2000 IAS
  8. //
  9. // Description: Declaration of the CRealms class
  10. //
  11. // Author: tperraut
  12. //
  13. // Revision 03/09/2000 created
  14. //
  15. /////////////////////////////////////////////////////////////////////////////
  16. #ifndef _REALMS_H_54D54DB1_874E_48ab_84A5_9E6EE190C738
  17. #define _REALMS_H_54D54DB1_874E_48ab_84A5_9E6EE190C738
  18. #if _MSC_VER > 1000
  19. #pragma once
  20. #endif // _MSC_VER > 1000
  21. #include "nocopy.h"
  22. #include "policy.h"
  23. //////////////////////////////////////////////////////////////////////////////
  24. // class CRealmsAccProfile
  25. //////////////////////////////////////////////////////////////////////////////
  26. class CRealmsAccProfile
  27. {
  28. protected:
  29. static const size_t REALM_COLUMN_SIZE = 65;
  30. static const size_t REALM_NAME_SIZE = 256;
  31. WCHAR m_RealmName[REALM_NAME_SIZE];
  32. WCHAR m_UserDefinedName[REALM_COLUMN_SIZE];
  33. VARIANT_BOOL m_Prefix;
  34. VARIANT_BOOL m_StripSuffixPrefix;
  35. WCHAR m_SuffixPrefix[REALM_COLUMN_SIZE];
  36. VARIANT_BOOL m_ForwardAccounting;
  37. VARIANT_BOOL m_AccountingasLogout;
  38. VARIANT_BOOL m_SuppressAccounting;
  39. WCHAR m_Profile[REALM_COLUMN_SIZE];
  40. LONG m_Order;
  41. BEGIN_COLUMN_MAP(CRealmsAccProfile)
  42. COLUMN_ENTRY(1, m_RealmName)
  43. COLUMN_ENTRY(2, m_UserDefinedName)
  44. COLUMN_ENTRY_TYPE(3, DBTYPE_BOOL, m_Prefix)
  45. COLUMN_ENTRY_TYPE(4, DBTYPE_BOOL, m_StripSuffixPrefix)
  46. COLUMN_ENTRY(5, m_SuffixPrefix)
  47. COLUMN_ENTRY_TYPE(6, DBTYPE_BOOL, m_ForwardAccounting)
  48. COLUMN_ENTRY_TYPE(7, DBTYPE_BOOL, m_AccountingasLogout)
  49. COLUMN_ENTRY_TYPE(8, DBTYPE_BOOL, m_SuppressAccounting)
  50. COLUMN_ENTRY(9, m_Profile)
  51. COLUMN_ENTRY(10, m_Order)
  52. END_COLUMN_MAP()
  53. WCHAR m_ProfileParam[REALM_COLUMN_SIZE];
  54. BEGIN_PARAM_MAP(CRealmsAccProfile)
  55. COLUMN_ENTRY(1, m_ProfileParam)
  56. END_PARAM_MAP()
  57. DEFINE_COMMAND(CRealmsAccProfile, L" \
  58. SELECT * \
  59. FROM Realms \
  60. WHERE szProfile = ?")
  61. };
  62. //////////////////////////////////////////////////////////////////////////////
  63. // CRealms
  64. //////////////////////////////////////////////////////////////////////////////
  65. class CRealms : public CBaseCommand<CAccessor<CRealmsAccProfile> >,
  66. private NonCopyable
  67. {
  68. public:
  69. explicit CRealms(CSession& Session);
  70. void GetRealm(const _bstr_t& Profile);
  71. HRESULT GetRealmIndex(const _bstr_t& Profile, LONG Index);
  72. void SetRealmDetails(CPolicy& TempPolicy, CUtils& m_Utils);
  73. VARIANT_BOOL AccountingasLogout() const throw()
  74. {
  75. return m_AccountingasLogout;
  76. }
  77. //////////////////////////////////////////////////////////////////////////
  78. // ForwardAccounting
  79. //////////////////////////////////////////////////////////////////////////
  80. VARIANT_BOOL ForwardAccounting() const throw()
  81. {
  82. return m_ForwardAccounting;
  83. }
  84. //////////////////////////////////////////////////////////////////////////
  85. // Prefix
  86. //////////////////////////////////////////////////////////////////////////
  87. VARIANT_BOOL Prefix() const throw()
  88. {
  89. return m_Prefix;
  90. }
  91. //////////////////////////////////////////////////////////////////////////
  92. // StripSuffixPrefix
  93. //////////////////////////////////////////////////////////////////////////
  94. VARIANT_BOOL StripSuffixPrefix() const throw()
  95. {
  96. return m_StripSuffixPrefix;
  97. }
  98. //////////////////////////////////////////////////////////////////////////
  99. // SuppressAccounting
  100. //////////////////////////////////////////////////////////////////////////
  101. VARIANT_BOOL SuppressAccounting() const throw()
  102. {
  103. return m_SuppressAccounting;
  104. }
  105. //////////////////////////////////////////////////////////////////////////
  106. // Order
  107. //////////////////////////////////////////////////////////////////////////
  108. LONG Order() const throw()
  109. {
  110. return m_Order;
  111. }
  112. //////////////////////////////////////////////////////////////////////////
  113. // GetProfile
  114. //////////////////////////////////////////////////////////////////////////
  115. LPCOLESTR GetProfile() const throw()
  116. {
  117. return m_Profile;
  118. }
  119. //////////////////////////////////////////////////////////////////////////
  120. // GetRealmName
  121. //////////////////////////////////////////////////////////////////////////
  122. LPCOLESTR GetRealmName() const throw()
  123. {
  124. return m_RealmName;
  125. }
  126. //////////////////////////////////////////////////////////////////////////
  127. // GetSuffixPrefix
  128. //////////////////////////////////////////////////////////////////////////
  129. LPCOLESTR GetSuffixPrefix() const throw()
  130. {
  131. return m_SuffixPrefix;
  132. }
  133. //////////////////////////////////////////////////////////////////////////
  134. // GetUserDefinedName
  135. //////////////////////////////////////////////////////////////////////////
  136. LPCOLESTR GetUserDefinedName() const throw()
  137. {
  138. return m_UserDefinedName;
  139. }
  140. };
  141. #endif // _REALMS_H_54D54DB1_874E_48ab_84A5_9E6EE190C738