#ifndef __IAGCScannerImpl_h__ #define __IAGCScannerImpl_h__ ///////////////////////////////////////////////////////////////////////////// // IAGCScannerImpl.h : Declaration of the IAGCScannerImpl class template. // #include "IAGCDamageImpl.h" ///////////////////////////////////////////////////////////////////////////// // Interface Map Macro // // Classes derived from IAGCScannerImpl should include this macro in their // interface maps. // #define COM_INTERFACE_ENTRIES_IAGCScannerImpl() \ COM_INTERFACE_ENTRY(IAGCScanner) \ COM_INTERFACE_ENTRY(IDispatch) \ COM_INTERFACE_ENTRIES_IAGCDamageImpl() ///////////////////////////////////////////////////////////////////////////// // IAGCScannerImpl // template class ATL_NO_VTABLE IAGCScannerImpl : public IAGCDamageImpl { // Types public: typedef IAGCScannerImpl IAGCScannerImplBase; // IAGCScanner Interface Methods public: STDMETHODIMP get_InScannerRange(IAGCModel* pModel, VARIANT_BOOL* pbInRange) { assert(GetIGC()); IAGCPrivatePtr spPrivate(pModel); if (NULL == spPrivate) return E_INVALIDARG; CLEAROUT(pbInRange, VARBOOL(GetIGC()->InScannerRange((ImodelIGC*)spPrivate->GetIGCVoid()))); return S_OK; } STDMETHODIMP get_CanSee(IAGCModel* pModel, VARIANT_BOOL* pbCanSee) { assert(GetIGC()); IAGCPrivatePtr spPrivate(pModel); if (NULL == spPrivate) return E_INVALIDARG; CLEAROUT(pbCanSee, VARBOOL(GetIGC()->CanSee((ImodelIGC*)spPrivate->GetIGCVoid()))); return S_OK; } }; ///////////////////////////////////////////////////////////////////////////// #endif //__IAGCScannerImpl_h__