9#define _ADTF_UCOM_ANT_OBJECT_INTERFACE_INCLUDES_HEADER_
24class 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_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
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.
Namespace for all internally used uCOM functionality implemented.
Namespace for all functionality provided since v3.0.
Namespace for the ADTF uCOM3 SDK.
ant::IObject IObject
Alias always bringing the latest version of ant::IObject into scope.
Namespace for entire ADTF SDK.