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.

118 lines
2.8 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) Microsoft Corporation
  4. //
  5. // SYNOPSIS
  6. //
  7. // Declares the class BaseCampHostBase and its children.
  8. //
  9. ///////////////////////////////////////////////////////////////////////////////
  10. #ifndef BASECAMP_H
  11. #define BASECAMP_H
  12. #pragma once
  13. #include "authif.h"
  14. #include "iastl.h"
  15. #include "iastlutl.h"
  16. using namespace IASTL;
  17. #include "vsafilter.h"
  18. #include "ExtensionPoint.h"
  19. ///////////////////////////////////////////////////////////////////////////////
  20. //
  21. // CLASS
  22. //
  23. // BaseCampHostBase
  24. //
  25. ///////////////////////////////////////////////////////////////////////////////
  26. class ATL_NO_VTABLE BaseCampHostBase : public IASRequestHandlerSync
  27. {
  28. public:
  29. BaseCampHostBase(RADIUS_EXTENSION_POINT extensionPoint) throw ();
  30. // Use compiler-generated version.
  31. // ~BaseCampHostBase() throw ();
  32. // IIasComponent
  33. STDMETHOD(Initialize)();
  34. STDMETHOD(Shutdown)();
  35. protected:
  36. // Main request processing routine.
  37. virtual IASREQUESTSTATUS onSyncRequest(IRequest* pRequest) throw ();
  38. private:
  39. VSAFilter filter;
  40. RADIUS_EXTENSION_POINT point;
  41. RadiusExtensionPoint extensions;
  42. // Not implemented.
  43. BaseCampHostBase(const BaseCampHostBase&);
  44. BaseCampHostBase& operator=(const BaseCampHostBase&);
  45. };
  46. inline BaseCampHostBase::BaseCampHostBase(
  47. RADIUS_EXTENSION_POINT extensionPoint
  48. ) throw ()
  49. : point(extensionPoint)
  50. {
  51. }
  52. ///////////////////////////////////////////////////////////////////////////////
  53. //
  54. // CLASS
  55. //
  56. // BaseCampHost
  57. //
  58. // DESCRIPTION
  59. //
  60. // Host for Authentication DLLs.
  61. //
  62. ///////////////////////////////////////////////////////////////////////////////
  63. class ATL_NO_VTABLE BaseCampHost :
  64. public BaseCampHostBase,
  65. public CComCoClass<BaseCampHost, &__uuidof(BaseCampHost)>
  66. {
  67. public:
  68. IAS_DECLARE_REGISTRY(BaseCampHost, 1, IAS_REGISTRY_AUTO, IASTypeLibrary)
  69. IAS_DECLARE_OBJECT_ID(IAS_PROVIDER_MICROSOFT_BASECAMP_HOST)
  70. BaseCampHost() throw ()
  71. : BaseCampHostBase(repAuthentication)
  72. { }
  73. };
  74. ///////////////////////////////////////////////////////////////////////////////
  75. //
  76. // CLASS
  77. //
  78. // AuthorizationHost
  79. //
  80. // DESCRIPTION
  81. //
  82. // Host for Authorization DLLs.
  83. //
  84. ///////////////////////////////////////////////////////////////////////////////
  85. class ATL_NO_VTABLE AuthorizationHost :
  86. public BaseCampHostBase,
  87. public CComCoClass<AuthorizationHost, &__uuidof(AuthorizationHost)>
  88. {
  89. public:
  90. IAS_DECLARE_REGISTRY(AuthorizationHost, 1, IAS_REGISTRY_AUTO, IASTypeLibrary)
  91. IAS_DECLARE_OBJECT_ID(IAS_PROVIDER_MICROSOFT_AUTHORIZATION_HOST)
  92. AuthorizationHost() throw ()
  93. : BaseCampHostBase(repAuthorization)
  94. { }
  95. };
  96. #endif // BASECAMP_H