/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1998, Microsoft Corp. All rights reserved. // // FILE // // basecamp.h // // SYNOPSIS // // Declares the class BaseCampHostBase. // // MODIFICATION HISTORY // // 12/01/1998 Original version. // 04/21/1999 Convert to a base class. // /////////////////////////////////////////////////////////////////////////////// #ifndef _BASECAMP_H_ #define _BASECAMP_H_ #include #include using namespace IASTL; #include class BaseCampExtension; /////////////////////////////////////////////////////////////////////////////// // // CLASS // // BaseCampHostBase // /////////////////////////////////////////////////////////////////////////////// class ATL_NO_VTABLE BaseCampHostBase : public IASRequestHandlerSync { public: // Actions that extensions are allowed to return. enum Actions { ACTION_ACCEPT = 1, ACTION_REJECT = 2 }; BaseCampHostBase( PCSTR friendlyName, PCWSTR registryKey, PCWSTR registryValue, BOOL inboundPacket, DWORD actions ) throw (); ////////// // IIasComponent ////////// STDMETHOD(Initialize)(); STDMETHOD(Shutdown)(); protected: // Main request processing routine. virtual IASREQUESTSTATUS onSyncRequest(IRequest* pRequest) throw (); private: // Friendly name of the host. PCSTR name; // Registry key/value used for reading the extensions. PCWSTR extensionsKey; PCWSTR extensionsValue; // Should the extensions be presented inbound or outbound packets. BOOL inbound; // Actions that extensions can return. DWORD allowedActions; // Number of extension DLLs. DWORD numExtensions; // Array of extension DLL's. BaseCampExtension* extensions; // Used for converting VSA's. VSAFilter filter; // Authentication type attribute. IASAttribute authType; }; #endif // _BASECAMP_H_