29 #include "ObjectBase.h" 30 #include "UniqueIdentifier.h" 35 template<
typename BaseInterface>
41 template<
class BaseInterface,
typename ObjectDescType>
54 const ObjectDescType &ObjDesc,
55 bool bIsDeviceInternal =
false) :
59 m_spDevice( bIsDeviceInternal ? nullptr : pDevice ),
81 inline virtual Atomics::Long Release()override final
96 RefCntAutoPtr<IRenderDevice> pDevice(m_spDevice);
98 return TBase::Release();
101 IMPLEMENT_QUERY_INTERFACE_IN_PLACE( IID_DeviceObject, TBase )
103 virtual const ObjectDescType& GetDesc()const override final
116 return m_UniqueID.GetID();
123 RefCntAutoPtr<IRenderDevice> m_spDevice;
126 IRenderDevice *m_pDevice;
142 UniqueIdHelper<BaseInterface> m_UniqueID;
Render device interface.
Definition: RenderDevice.h:55
Template class implementing base functionality for an object.
Definition: ObjectBase.h:62
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
DeviceObjectBase(IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const ObjectDescType &ObjDesc, bool bIsDeviceInternal=false)
Definition: DeviceObjectBase.h:52
const String m_ObjectNameCopy
Copy of a device object name.
Definition: DeviceObjectBase.h:135
UniqueIdentifier GetUniqueID() const
Returns unique identifier.
Definition: DeviceObjectBase.h:109
Base implementation of a render device.
Definition: DeviceObjectBase.h:36
ObjectDescType m_Desc
Object description.
Definition: DeviceObjectBase.h:138
Template class implementing base functionality for a device object.
Definition: DeviceObjectBase.h:42