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.

94 lines
1.9 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1998, Microsoft Corp. All rights reserved.
  4. //
  5. // FILE
  6. //
  7. // basecamp.h
  8. //
  9. // SYNOPSIS
  10. //
  11. // Declares the class BaseCampHostBase.
  12. //
  13. // MODIFICATION HISTORY
  14. //
  15. // 12/01/1998 Original version.
  16. // 04/21/1999 Convert to a base class.
  17. //
  18. ///////////////////////////////////////////////////////////////////////////////
  19. #ifndef _BASECAMP_H_
  20. #define _BASECAMP_H_
  21. #include <iastl.h>
  22. #include <iastlutl.h>
  23. using namespace IASTL;
  24. #include <vsafilter.h>
  25. class BaseCampExtension;
  26. ///////////////////////////////////////////////////////////////////////////////
  27. //
  28. // CLASS
  29. //
  30. // BaseCampHostBase
  31. //
  32. ///////////////////////////////////////////////////////////////////////////////
  33. class ATL_NO_VTABLE BaseCampHostBase : public IASRequestHandlerSync
  34. {
  35. public:
  36. // Actions that extensions are allowed to return.
  37. enum Actions {
  38. ACTION_ACCEPT = 1,
  39. ACTION_REJECT = 2
  40. };
  41. BaseCampHostBase(
  42. PCSTR friendlyName,
  43. PCWSTR registryKey,
  44. PCWSTR registryValue,
  45. BOOL inboundPacket,
  46. DWORD actions
  47. ) throw ();
  48. //////////
  49. // IIasComponent
  50. //////////
  51. STDMETHOD(Initialize)();
  52. STDMETHOD(Shutdown)();
  53. protected:
  54. // Main request processing routine.
  55. virtual IASREQUESTSTATUS onSyncRequest(IRequest* pRequest) throw ();
  56. private:
  57. // Friendly name of the host.
  58. PCSTR name;
  59. // Registry key/value used for reading the extensions.
  60. PCWSTR extensionsKey;
  61. PCWSTR extensionsValue;
  62. // Should the extensions be presented inbound or outbound packets.
  63. BOOL inbound;
  64. // Actions that extensions can return.
  65. DWORD allowedActions;
  66. // Number of extension DLLs.
  67. DWORD numExtensions;
  68. // Array of extension DLL's.
  69. BaseCampExtension* extensions;
  70. // Used for converting VSA's.
  71. VSAFilter filter;
  72. // Authentication type attribute.
  73. IASAttribute authType;
  74. };
  75. #endif // _BASECAMP_H_