87 lines
2.1 KiB
C++
87 lines
2.1 KiB
C++
/*===================================================================
|
|
Microsoft Denali
|
|
|
|
Microsoft Confidential.
|
|
Copyright 1996 Microsoft Corporation. All Rights Reserved.
|
|
|
|
Component: ScriptingContext object
|
|
|
|
File: Context.h
|
|
|
|
Owner: SteveBr
|
|
|
|
This file contains the header info for defining the Context object.
|
|
Note: This was largely stolen from Kraig Brocjschmidt's Inside OLE2
|
|
second edition, chapter 14 Beeper v5.
|
|
===================================================================*/
|
|
|
|
#ifndef SCRIPTING_CONTEXT_H
|
|
#define SCRIPTING_CONTEXT_H
|
|
|
|
#include "debug.h"
|
|
#include "util.h"
|
|
|
|
#include "request.h"
|
|
#include "response.h"
|
|
#include "server.h"
|
|
|
|
#include "asptlb.h"
|
|
#include "memcls.h"
|
|
|
|
/*===================================================================
|
|
C S c r i p t i n g C o n t e x t
|
|
===================================================================*/
|
|
|
|
class CScriptingContext : public IScriptingContextImpl
|
|
{
|
|
private:
|
|
// Ref count
|
|
ULONG m_cRef;
|
|
|
|
// Intrinsics
|
|
IApplicationObject *m_pAppln;
|
|
ISessionObject *m_pSession;
|
|
IRequest *m_pRequest;
|
|
IResponse *m_pResponse;
|
|
IServer *m_pServer;
|
|
|
|
// Interface to indicate that we support ErrorInfo reporting
|
|
CSupportErrorInfo m_ImpISuppErr;
|
|
|
|
public:
|
|
CScriptingContext()
|
|
{
|
|
Assert(FALSE); // Default constructor should not be used
|
|
}
|
|
|
|
CScriptingContext
|
|
(
|
|
IApplicationObject *pAppln,
|
|
ISessionObject *pSession,
|
|
IRequest *pRequest,
|
|
IResponse *pResponse,
|
|
IServer *pServer
|
|
);
|
|
|
|
~CScriptingContext();
|
|
|
|
// Non-delegating object IUnknown
|
|
|
|
STDMETHODIMP QueryInterface(REFIID, PPVOID);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IScriptingContext implementation
|
|
|
|
STDMETHODIMP get_Request(IRequest **ppRequest);
|
|
STDMETHODIMP get_Response(IResponse **ppResponse);
|
|
STDMETHODIMP get_Server(IServer **ppServer);
|
|
STDMETHODIMP get_Session(ISessionObject **ppSession);
|
|
STDMETHODIMP get_Application(IApplicationObject **ppApplication);
|
|
|
|
// Cache on per-class basis
|
|
ACACHE_INCLASS_DEFINITIONS()
|
|
};
|
|
|
|
#endif // SCRIPTING_CONTEXT_H
|