Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
151 lines
3.7 KiB
C++
151 lines
3.7 KiB
C++
[!if=(FreeThreadedMarshaler, "TRUE")]
|
|
[!set(NeedsGetControllingUnknown, "TRUE")]
|
|
[!endif]
|
|
// [!HeaderName] : Declaration of the [!ClassName]
|
|
[!crlf]
|
|
|
|
[!if=(FileExists, "FALSE")]
|
|
#ifndef __[!UpperShortName]_H_
|
|
#define __[!UpperShortName]_H_
|
|
[!crlf]
|
|
#include "resource.h" // main symbols
|
|
#include <asptlb.h> // Active Server Pages Definitions
|
|
[!else]
|
|
[!AddIncludeFile(TargetFile, "resource.h")]
|
|
[!AddIncludeFile(TargetFile, "<asptlb.h>")]
|
|
[!endif]
|
|
[!crlf]
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// [!ClassName]
|
|
|
|
class ATL_NO_VTABLE [!ClassName] :
|
|
[!if=(ThreadingModel, "Single")]
|
|
public CComObjectRootEx<CComSingleThreadModel>,
|
|
[!endif]
|
|
[!if=(ThreadingModel, "Apartment")]
|
|
public CComObjectRootEx<CComSingleThreadModel>,
|
|
[!endif]
|
|
[!if=(ThreadingModel, "Both")]
|
|
public CComObjectRootEx<CComMultiThreadModel>,
|
|
[!endif]
|
|
[!if=(ThreadingModel, "Free")]
|
|
public CComObjectRootEx<CComMultiThreadModel>,
|
|
[!endif]
|
|
public CComCoClass<[!ClassName], &CLSID_[!CoClassName]>,
|
|
[!if=(ErrorInfoEnabled, "TRUE")]
|
|
public ISupportErrorInfo,
|
|
[!endif]
|
|
[!if=(ConnectionPointsEnabled, "TRUE")]
|
|
public IConnectionPointContainerImpl<[!ClassName]>,
|
|
[!endif]
|
|
[!if=(Dual, "TRUE")]
|
|
public IDispatchImpl<[!InterfaceName], &IID_[!InterfaceName], &LIBID_[!LibName]>
|
|
[!else]
|
|
public [!InterfaceName]
|
|
[!endif]
|
|
{
|
|
public:
|
|
[!ClassName]()
|
|
{
|
|
[!if=(FreeThreadedMarshaler, "TRUE")] m_pUnkMarshaler = NULL;[!endif]
|
|
[!if=(OnStartPage, "TRUE")] m_bOnStartPageCalled = FALSE;[!endif]
|
|
}
|
|
[!crlf]
|
|
public:
|
|
[!crlf]
|
|
DECLARE_REGISTRY_RESOURCEID([!IDR_REGISTRYID])
|
|
[!crlf]
|
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
|
|
[!if=(Aggregatable, "NO")]
|
|
DECLARE_NOT_AGGREGATABLE([!ClassName])
|
|
[!endif]
|
|
[!if=(Aggregatable, "ONLY")]
|
|
DECLARE_ONLY_AGGREGATABLE([!ClassName])
|
|
[!endif]
|
|
|
|
[!if=(NeedsGetControllingUnknown, "TRUE")]
|
|
DECLARE_GET_CONTROLLING_UNKNOWN()
|
|
[!endif]
|
|
|
|
[!crlf]
|
|
BEGIN_COM_MAP([!ClassName])
|
|
COM_INTERFACE_ENTRY([!InterfaceName])
|
|
[!if=(Dual, "TRUE")]
|
|
COM_INTERFACE_ENTRY(IDispatch)
|
|
[!endif]
|
|
[!if=(ErrorInfoEnabled, "TRUE")]
|
|
COM_INTERFACE_ENTRY(ISupportErrorInfo)
|
|
[!endif]
|
|
[!if=(ConnectionPointsEnabled, "TRUE")]
|
|
COM_INTERFACE_ENTRY(IConnectionPointContainer)
|
|
[!endif]
|
|
[!if=(FreeThreadedMarshaler, "TRUE")]
|
|
COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
|
|
[!endif]
|
|
END_COM_MAP()
|
|
|
|
[!if=(ConnectionPointsEnabled, "TRUE")]
|
|
[!crlf]
|
|
BEGIN_CONNECTION_POINT_MAP([!ClassName])
|
|
END_CONNECTION_POINT_MAP()
|
|
[!crlf]
|
|
[!endif]
|
|
|
|
[!if=(FreeThreadedMarshaler, "TRUE")]
|
|
[!crlf]
|
|
HRESULT FinalConstruct()
|
|
{
|
|
return CoCreateFreeThreadedMarshaler(
|
|
GetControllingUnknown(), &m_pUnkMarshaler.p);
|
|
}
|
|
|
|
[!crlf]
|
|
void FinalRelease()
|
|
{
|
|
m_pUnkMarshaler.Release();
|
|
}
|
|
|
|
[!crlf]
|
|
CComPtr<IUnknown> m_pUnkMarshaler;
|
|
[!endif]
|
|
|
|
[!if=(ErrorInfoEnabled, "TRUE")]
|
|
[!crlf]
|
|
// ISupportsErrorInfo
|
|
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
|
|
[!endif]
|
|
|
|
[!crlf]
|
|
// [!InterfaceName]
|
|
public:
|
|
[!if=(OnStartPage, "TRUE")]
|
|
//Active Server Pages Methods
|
|
STDMETHOD(OnStartPage)(IUnknown* IUnk);
|
|
STDMETHOD(OnEndPage)();
|
|
[!crlf]
|
|
private:
|
|
[!if=(Request, "TRUE")]
|
|
CComPtr<IRequest> m_piRequest; //Request Object
|
|
[!endif]
|
|
[!if=(Response, "TRUE")]
|
|
CComPtr<IResponse> m_piResponse; //Response Object
|
|
[!endif]
|
|
[!if=(Session, "TRUE")]
|
|
CComPtr<ISessionObject> m_piSession; //Session Object
|
|
[!endif]
|
|
[!if=(Server, "TRUE")]
|
|
CComPtr<IServer> m_piServer; //Server Object
|
|
[!endif]
|
|
[!if=(Application, "TRUE")]
|
|
CComPtr<IApplicationObject> m_piApplication; //Application Object
|
|
[!endif]
|
|
BOOL m_bOnStartPageCalled; //OnStartPage successful?
|
|
[!endif]
|
|
};
|
|
|
|
[!crlf]
|
|
[!if=(FileExists, "FALSE")]
|
|
#endif //__[!UpperShortName]_H_
|
|
[!endif]
|