8 #ifndef _ADTF_UCOM_ANT_OBJECT_INTERFACE_INCLUDES_HEADER_
9 #define _ADTF_UCOM_ANT_OBJECT_INTERFACE_INCLUDES_HEADER_
21 class object_reference_counter;
41 friend class detail::object_reference_counter;
44 template<
typename InterfaceType,
bool>
45 friend struct detail::ucom_cast_to_implicit_cast;
A common result class usable as return value throughout.
Base class for every interface type within the uCOM.
virtual tResult GetInterface(const char *i_strIID, const void *&o_pInterface) const =0
Provides const correct interface querying.
ADTF_IID(IObject, "object.ant.ucom.adtf.iid")
Marks the IObject to be castable with the ucom_cast()
virtual tResult GetInterface(const char *i_strIID, void *&o_pInterface)=0
Query interfaces on an object.
~IObject()=default
Protected destructor --> Use implemented Destroy() instead of delete!
virtual void Destroy() const =0
Destruct and deallocate instantiations of type IObject.
ant::IObject IObject
Alias always bringing the latest version of ant::IObject into scope.
Namespace for entire ADTF SDK.