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.
|
|
/*===================================================================
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
|