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.

133 lines
3.1 KiB

  1. #ifndef _CLISTS_H_
  2. #define _CLISTS_H_
  3. #define DESIRED_MAX_APP_SAP_ITEMS 6
  4. #define DESIRED_MAX_CONFS CLIST_DEFAULT_MAX_ITEMS
  5. #define DESIRED_MAX_CONF_ITEMS DESIRED_MAX_CONFS
  6. #define DESIRED_MAX_CAPS 8
  7. #define DESIRED_MAX_CAP_LISTS CLIST_DEFAULT_MAX_ITEMS
  8. #define DESIRED_MAX_APP_RECORDS DESIRED_MAX_APP_SAP_ITEMS
  9. #define DESIRED_MAX_NODES CLIST_DEFAULT_MAX_ITEMS
  10. #define DESIRED_MAX_NODE_RECORDS DESIRED_MAX_NODES
  11. #define DESIRED_MAX_CALLBACK_MESSAGES 8
  12. #define DESIRED_MAX_USER_DATA_ITEMS 8
  13. #define DESIRED_MAX_CONN_HANDLES CLIST_DEFAULT_MAX_ITEMS
  14. // to hold all the non-default session application rosters
  15. class CAppRosterList : public CList
  16. {
  17. DEFINE_CLIST(CAppRosterList, CAppRoster*)
  18. void DeleteList(void);
  19. };
  20. // to hold all the application roster managers
  21. class CAppRosterMgrList : public CList
  22. {
  23. DEFINE_CLIST(CAppRosterMgrList, CAppRosterMgr*)
  24. void DeleteList(void);
  25. };
  26. // to hold a list of conferences
  27. class CConfList : public CList
  28. {
  29. DEFINE_CLIST(CConfList, CConf*)
  30. void DeleteList(void);
  31. };
  32. // to hold all the conferences indexed by conference id
  33. class CConfList2 : public CList2
  34. {
  35. DEFINE_CLIST2(CConfList2, CConf*, GCCConfID)
  36. void DeleteList(void);
  37. };
  38. // to hold a list of application sap
  39. class CAppSapList : public CList
  40. {
  41. DEFINE_CLIST(CAppSapList, CAppSap*)
  42. void DeleteList(void);
  43. };
  44. // to hold all application sap indexed by entity id
  45. class CAppSapEidList2 : public CList2
  46. {
  47. DEFINE_CLIST2_(CAppSapEidList2, CAppSap*, GCCEntityID)
  48. void DeleteList(void);
  49. };
  50. // to hold a list of user id or node id.
  51. class CUidList : public CList
  52. {
  53. DEFINE_CLIST_(CUidList, UserID)
  54. void BuildExternalList(PSetOfUserIDs *);
  55. };
  56. // to hold a list of entity id
  57. class CEidList : public CList
  58. {
  59. DEFINE_CLIST_(CEidList, GCCEntityID)
  60. };
  61. // to hold a list of channel id
  62. class CChannelIDList : public CList
  63. {
  64. DEFINE_CLIST_(CChannelIDList, ChannelID)
  65. void BuildExternalList(PSetOfChannelIDs *);
  66. };
  67. // to hold a list of token id
  68. class CTokenIDList : public CList
  69. {
  70. DEFINE_CLIST_(CTokenIDList, TokenID)
  71. void BuildExternalList(PSetOfTokenIDs *);
  72. };
  73. // simple packet queue
  74. class CSimplePktQueue : public CQueue
  75. {
  76. DEFINE_CQUEUE(CSimplePktQueue, PSimplePacket)
  77. };
  78. // remote connection list (aka remote attachment list)
  79. class CConnectionList : public CList
  80. {
  81. DEFINE_CLIST(CConnectionList, PConnection)
  82. };
  83. class CConnectionQueue : public CQueue
  84. {
  85. DEFINE_CQUEUE(CConnectionQueue, PConnection)
  86. };
  87. class CTokenList2 : public CList2
  88. {
  89. DEFINE_CLIST2_(CTokenList2, PToken, TokenID)
  90. };
  91. class CDomainList2 : public CList2
  92. {
  93. DEFINE_CLIST2(CDomainList2, PDomain, GCCConfID)
  94. };
  95. class CChannelList2 : public CHashedList2
  96. {
  97. DEFINE_HLIST2_(CChannelList2, PChannel, ChannelID)
  98. };
  99. class CConnectionList2 : public CHashedList2
  100. {
  101. DEFINE_HLIST2_(CConnectionList2, PConnection, ConnectionHandle)
  102. };
  103. #endif // _CLISTS_H_