123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #ifndef __IAGCAsteroidImpl_h__
- #define __IAGCAsteroidImpl_h__
- /////////////////////////////////////////////////////////////////////////////
- // IAGCAsteroidImpl.h : Declaration of the IAGCAsteroidImpl class template.
- //
- #include "IAGCDamageImpl.h"
- /////////////////////////////////////////////////////////////////////////////
- // Interface Map Macro
- //
- // Classes derived from IAGCAsteroidImpl should include this macro in their
- // interface maps.
- //
- #define COM_INTERFACE_ENTRIES_IAGCAsteroidImpl() \
- COM_INTERFACE_ENTRY(IAGCAsteroid) \
- COM_INTERFACE_ENTRY(IDispatch) \
- COM_INTERFACE_ENTRIES_IAGCDamageImpl()
- /////////////////////////////////////////////////////////////////////////////
- // IAGCAsteroidImpl
- //
- template <class T, class IGC, class ITF, const GUID* plibid, class AGCIGC = IGC, class AGCITF = ITF>
- class ATL_NO_VTABLE IAGCAsteroidImpl :
- public IAGCDamageImpl<T, IGC, ITF, plibid, AGCIGC, AGCITF>
- {
- // Types
- public:
- typedef IAGCAsteroidImpl<T, IGC, ITF, plibid, AGCIGC, AGCITF>
- IAGCAsteroidImplBase;
- // IAGCAsteroid Interface Methods
- public:
- STDMETHODIMP get_Ore(float* pfOre)
- {
- assert(GetIGC());
- CLEAROUT(pfOre, GetIGC()->GetOre());
- return S_OK;
- }
- STDMETHODIMP get_Capabilities(AGCAsteroidAbilityBitMask* paabmCapabilities)
- {
- assert(GetIGC());
- CLEAROUT(paabmCapabilities,
- (AGCAsteroidAbilityBitMask)GetIGC()->GetCapabilities());
- return S_OK;
- }
- STDMETHODIMP get_HasCapability(AGCAsteroidAbilityBitMask aabm,
- VARIANT_BOOL* pbHasCapability)
- {
- assert(GetIGC());
- CLEAROUT(pbHasCapability,
- VARBOOL(GetIGC()->HasCapability((AsteroidAbilityBitMask)aabm)));
- return S_OK;
- }
- };
- /////////////////////////////////////////////////////////////////////////////
- #endif //__IAGCAsteroidImpl_h__
|