95 lines
1.9 KiB
C
95 lines
1.9 KiB
C
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// 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 <iastl.h>
|
||
|
#include <iastlutl.h>
|
||
|
using namespace IASTL;
|
||
|
|
||
|
#include <vsafilter.h>
|
||
|
|
||
|
|
||
|
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_
|