ADTF
Loading...
Searching...
No Matches
object_intf.h
Go to the documentation of this file.
1
7
#pragma once
8
9
#define _ADTF_UCOM_ANT_OBJECT_INTERFACE_INCLUDES_HEADER_
10
11
#include <
adtfucom3/adtf_iid.h
>
12
13
namespace
adtf
14
{
15
namespace
ucom
16
{
17
namespace
ant
18
{
19
20
namespace
detail
21
{
22
23
//forward declaration needed for friend classes in different namespaces
24
class
object_reference_counter;
25
26
}
//ns detail
32
class
IObject
33
{
34
public
:
39
ADTF_IID
(
IObject
,
"object.ant.ucom.adtf.iid"
);
40
41
private
:
43
friend
class
detail::object_reference_counter
;
44
46
template
<
typename
InterfaceType,
bool
>
47
friend
struct
detail::ucom_cast_to_implicit_cast
;
48
49
// ucom_cast functionality
70
virtual
tResult
GetInterface(
const
char
* i_strIID,
void
*& o_pInterface) = 0;
71
76
virtual
tResult
GetInterface(
const
char
* i_strIID,
const
void
*& o_pInterface)
const
= 0;
77
97
[[deprecated(
"Use of Destroy results in a mismatched deallocation. Use adtf::ucom::allocate_object_ptr "
98
"instead."
)]]
virtual
void
99
Destroy()
const
= 0;
100
101
protected
:
103
~IObject
() =
default
;
104
};
// class IObject
105
106
}
// namespace ant
107
109
using
IObject
=
ant::IObject
;
110
111
}
// namespace ucom
112
}
// namespace adtf
113
114
//*************************************************************************************************
adtf_iid.h
tResult
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition
result.h:736
adtf::ucom::ant::IObject
Definition
object_intf.h:33
adtf::ucom::ant::IObject::ADTF_IID
ADTF_IID(IObject, "object.ant.ucom.adtf.iid")
adtf::ucom::ant::IObject::object_reference_counter
friend class detail::object_reference_counter
Gain friend access to private Destroy() method for the object_ptr.
Definition
object_intf.h:43
adtf::ucom::ant::IObject::~IObject
~IObject()=default
Protected destructor --> Only the final implementation can be destroyed!
adtf::ucom::ant::IObject::ucom_cast_to_implicit_cast
friend struct detail::ucom_cast_to_implicit_cast
Gain friend access to private GetInterface() methods for ucom_cast_to_implicit_cast<>
Definition
object_intf.h:47
adtf::ucom::ant::detail
Namespace for all internally used functionality implemented.
Definition
class_info.h:17
adtf::ucom::ant
Namespace for all functionality of the ADTF UCOM SDK provided since v3.0.
Definition
test_runtime.h:14
adtf::ucom
Namespace for the ADTF uCOM SDK.
Definition
adtf_system.h:324
adtf::ucom::IObject
ant::IObject IObject
Alias always bringing the latest version of ant::IObject into scope.
Definition
object_intf.h:109
adtf
Namespace for all functionality provided by ADTF and its SDKs.
Definition
adtf_client_connector.h:14
src
libraries
ucom3
include
adtfucom3
interfaces
object_intf.h
Copyright © CARIAD SE. All rights reserved | Generated on Thu Aug 6 2026 by doxygen 1.13.2 | GIT Commit Hash: 07d2f84367192978b2a55ca6aee7f968758b7220