9 #define _ADTF_UCOM_ANT_OBJECT_INTERFACE_INCLUDES_HEADER_
24 class object_reference_counter;
43 friend class detail::object_reference_counter;
46 template<
typename InterfaceType,
bool>
47 friend struct detail::ucom_cast_to_implicit_cast;
97 [[deprecated(
"Use of Destroy results in a mismatched deallocation. Use adtf::ucom::allocate_object_ptr "
98 "instead.")]]
virtual void
Copyright © Audi Electronics Venture GmbH.
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 --> Only the final implementation can be destroyed!
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.