Leaked source code of windows server 2003
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.

404 lines
6.3 KiB

  1. //Copyright (c) 1998 - 1999 Microsoft Corporation
  2. /*++
  3. Module Name:
  4. LSServer.h
  5. Abstract:
  6. This Module defines the CKeyPack, CLicense, CLicServer and CAllServers classes for the License Manager
  7. Author:
  8. Arathi Kundapur (v-akunda) 11-Feb-1998
  9. Revision History:
  10. --*/
  11. #ifndef _LICSERVER_H_
  12. #define _LICSERVER_H_
  13. #include <afxtempl.h>
  14. #include <lrwizapi.h>
  15. //struct LSLicens
  16. class CLicServer;
  17. class CLicense;
  18. typedef CList<CLicense *,CLicense *> IssuedLicenseList;
  19. ////////////////////////////////////////////////////////////
  20. class CKeyPack: public CObject
  21. {
  22. private:
  23. HTREEITEM m_hTreeItem;
  24. BOOL m_bIsExpanded;
  25. CString m_DisplayName; //Have added this field as the KeyPackId
  26. //does not make much sense to the user.
  27. LSKeyPack m_KeyPack;
  28. CLicServer *m_pLicServer;
  29. IssuedLicenseList m_IssuedLicenseList;
  30. public:
  31. void
  32. PurgeCache();
  33. void
  34. SetTreeItem(
  35. HTREEITEM hTreeItem
  36. )
  37. {
  38. m_hTreeItem = hTreeItem;
  39. };
  40. HTREEITEM
  41. GetTreeItem()
  42. {
  43. return m_hTreeItem;
  44. };
  45. ~CKeyPack();
  46. CKeyPack(LSKeyPack &KeyPack);
  47. LSKeyPack&
  48. GetKeyPackStruct()
  49. {
  50. return m_KeyPack;
  51. };
  52. IssuedLicenseList *
  53. GetIssuedLicenseList()
  54. {
  55. return &m_IssuedLicenseList;
  56. };
  57. HRESULT
  58. RefreshIssuedLicenses(
  59. LSLicense* pLicenses = NULL,
  60. DWORD dwFreshParm = 0,
  61. BOOL bMatchAll = FALSE
  62. );
  63. void
  64. AddIssuedLicense(
  65. CLicense * pIssuedLicense
  66. );
  67. CLicServer *
  68. GetServer()
  69. {
  70. return m_pLicServer;
  71. };
  72. void
  73. SetServer(
  74. CLicServer *pLicServer
  75. )
  76. {
  77. m_pLicServer = pLicServer;
  78. };
  79. BOOL
  80. IsExpanded ()
  81. {
  82. return m_bIsExpanded;
  83. };
  84. void
  85. Expand(BOOL bExpand)
  86. {
  87. m_bIsExpanded = bExpand;
  88. };
  89. CString
  90. GetDisplayName()
  91. {
  92. return m_DisplayName;
  93. };
  94. void
  95. SetDisplayName(
  96. CString DisplayName
  97. )
  98. {
  99. m_DisplayName = DisplayName;
  100. };
  101. };
  102. typedef CKeyPack * PKEYPACK;
  103. class CLicense: public CObject
  104. {
  105. private:
  106. LSLicenseEx m_License;
  107. CKeyPack *m_pKeyPack;
  108. public:
  109. ~CLicense();
  110. CLicense(LSLicenseEx& License);
  111. LSLicenseEx&
  112. GetLicenseStruct()
  113. {
  114. return m_License;
  115. };
  116. CKeyPack *
  117. GetKeyPack()
  118. {
  119. return m_pKeyPack;
  120. };
  121. void
  122. SetKeyPack(
  123. CKeyPack *pKeyPack
  124. )
  125. {
  126. m_pKeyPack = pKeyPack;
  127. };
  128. };
  129. typedef CLicense * PLICENSE;
  130. typedef CList<CKeyPack *,CKeyPack *> KeyPackList;
  131. ////////////////////////////////////////////////////////////
  132. class CLicServer : public CObject
  133. {
  134. private:
  135. CString m_ServerName;
  136. CString m_ServerScope;
  137. CString m_IpAddress;
  138. SERVER_TYPE m_ServerType;
  139. CString m_DisplayName;
  140. HTREEITEM m_hTreeItem;
  141. KeyPackList m_KeyPackList;
  142. BOOL m_bIsExpanded;
  143. BOOL m_bUseIpAddress;
  144. PCONTEXT_HANDLE m_hContext;
  145. DWORD m_dwRegStatus;
  146. BOOL m_fDownloadedLicenses;
  147. BOOL m_bAdmin;
  148. WIZCONNECTION m_wizcon;
  149. public:
  150. void
  151. SetContext(
  152. PCONTEXT_HANDLE hContext
  153. );
  154. PCONTEXT_HANDLE
  155. GetContext();
  156. CLicServer(
  157. CString& Name,
  158. SERVER_TYPE ServerType,
  159. CString& Scope = (CString)_T(""),
  160. CString& IpAddress = (CString)_T(""),
  161. PCONTEXT_HANDLE hBinding = NULL
  162. );
  163. // destructor
  164. ~CLicServer();
  165. DWORD GetServerRegistrationStatus()
  166. {
  167. return m_dwRegStatus;
  168. }
  169. void
  170. SetServerRegistrationStatus(
  171. DWORD dwStatus
  172. )
  173. /*++
  174. --*/
  175. {
  176. m_dwRegStatus = dwStatus;
  177. }
  178. HTREEITEM
  179. GetTreeItem()
  180. {
  181. return m_hTreeItem;
  182. }
  183. // Sets the tree item handle
  184. void
  185. SetTreeItem(
  186. HTREEITEM handle
  187. )
  188. {
  189. m_hTreeItem = handle;
  190. }
  191. CString&
  192. GetName()
  193. {
  194. return m_ServerName;
  195. };
  196. CString&
  197. GetDisplayName()
  198. {
  199. return m_DisplayName;
  200. };
  201. CString&
  202. GetIpAddress()
  203. {
  204. return m_IpAddress;
  205. };
  206. SERVER_TYPE
  207. GetServerType()
  208. {
  209. return m_ServerType;
  210. };
  211. KeyPackList *
  212. GetKeyPackList()
  213. {
  214. return &m_KeyPackList;
  215. };
  216. void
  217. AddKeyPack(
  218. CKeyPack * pKeyPack
  219. );
  220. BOOL
  221. IsExpanded ()
  222. {
  223. return m_bIsExpanded;
  224. };
  225. BOOL
  226. UseIpAddress()
  227. {
  228. return m_bUseIpAddress;
  229. };
  230. void
  231. Expand (
  232. BOOL bExpand
  233. )
  234. {
  235. m_bIsExpanded = bExpand;
  236. };
  237. CString&
  238. GetScope()
  239. {
  240. return m_ServerScope;
  241. };
  242. HRESULT
  243. RefreshCachedKeyPack();
  244. void
  245. PurgeCache();
  246. void SetDownLoadLics( BOOL bF )
  247. {
  248. m_fDownloadedLicenses = bF;
  249. }
  250. void SetConType( WIZCONNECTION x )
  251. {
  252. m_wizcon = x ;
  253. }
  254. WIZCONNECTION GetConType( ) const
  255. {
  256. return m_wizcon;
  257. }
  258. BOOL IsLicsDownloaded( void )
  259. {
  260. return m_fDownloadedLicenses;
  261. }
  262. void SetAdmin( BOOL b )
  263. {
  264. m_bAdmin = b;
  265. }
  266. BOOL IsUserAdmin( )
  267. {
  268. return m_bAdmin;
  269. }
  270. };
  271. typedef CLicServer * PLICSERVER;
  272. typedef CList<CLicServer *,CLicServer *> LicServerList;
  273. ////////////////////////////////////////////////////////////
  274. class CAllServers : public CObject
  275. {
  276. private:
  277. HTREEITEM m_hTreeItem;
  278. LicServerList m_LicServerList;
  279. CString m_Name;
  280. public:
  281. CAllServers(CString Name);
  282. // destructor
  283. ~CAllServers();
  284. HTREEITEM
  285. GetTreeItem()
  286. {
  287. return m_hTreeItem;
  288. }
  289. // Sets the tree item handle
  290. void
  291. SetTreeItem(
  292. HTREEITEM handle
  293. )
  294. /*++
  295. --*/
  296. {
  297. m_hTreeItem = handle;
  298. }
  299. LicServerList *
  300. GetLicServerList()
  301. {
  302. return &m_LicServerList;
  303. };
  304. void
  305. AddLicServer(CLicServer * pLicServer);
  306. CString&
  307. GetName()
  308. {
  309. return m_Name;
  310. };
  311. };
  312. #endif //_LICSERVER_H_