ADTF
Loading...
Searching...
No Matches
interface_binding_type.h
Go to the documentation of this file.
1
7#pragma once
9
10namespace adtf
11{
12namespace streaming
13{
14namespace ant
15{
16
20class cBindingType : public ucom::catwo::object<IBindingType,
21 ucom::ant::IClassInfo,
22 ucom::ant::ISerializable>
23{
25 A_UTILS_D(cBindingType)
26 public:
28 ADTF_CLASS_ID_NAME(cBindingType,
29 "binding_type.streaming.adtf.cid",
30 "Binding Type");
32 ADTF_SERIALIZER_VERSION(cBindingType, 1);
33
34 ADTF_CLASS_INFO_IMPL(cBindingType)
35
36 private:
38 cBindingType() = default;
39
40 public:
41
49 cBindingType(const char* strIID,
50 const char* strProxyCID);
51
52 cBindingType(const cBindingType& oBindingType);
53 cBindingType(cBindingType&& oBindingType);
54 cBindingType& operator=(const cBindingType& oBindingType);
55 cBindingType& operator=(cBindingType&& oBindingType);
56 cBindingType(const IBindingType& oBindingType);
57 cBindingType& operator=(const IBindingType& oBindingType);
58
59
63 virtual ~cBindingType();
64
72 tResult Create(const char* strIID,
73 const char* strProxyCID);
74
75 public: //implements IBindingType
76 tResult GetInterfaceID(base::ant::IString&& strInterfaceID) const override;
77 tResult GetInterfaceProxyCID(base::ant::IString&& strProxyID) const override;
78 bool IsEqual(const IBindingType& oBindingType) const override;
79
80 public: //implements ISerializable
81 tResult Serialize(ucom::ant::IStream& pOutputStream) const;
82 tResult Deserialize(const ucom::ant::IStream& pInputStream);
83
84 private:
86 adtf_util::cString m_strInterfaceIID;
88 adtf_util::cString m_strProxyCID;
89};
90
94template<typename INTERFACE>
95class binding_type : public cBindingType
96{
97 public:
98 binding_type() : cBindingType(adtf::ucom::get_iid<INTERFACE>(), "")
99 {
100 }
101 binding_type(const char* strProxyOID) : cBindingType(adtf::ucom::get_iid<INTERFACE>(),
102 strProxyOID)
103 {
104 }
105};
106
107} // namespace ant
112
113} // namespace streaming
114} // namespace adtf
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
#define ADTF_CLASS_INFO_IMPL(_class)
Definition class_id.h:57
Definition string_intf.h:29
Definition interface_binding_type_intf.h:23
Definition interface_binding_type.h:96
Definition interface_binding_type.h:23
cBindingType(const char *strIID, const char *strProxyCID)
ADTF_CLASS_ID_NAME(cBindingType, "binding_type.streaming.adtf.cid", "Binding Type")
dpointer implementation
ADTF_SERIALIZER_VERSION(cBindingType, 1)
Implementation for ISerializable.
tResult Create(const char *strIID, const char *strProxyCID)
Definition stream_intf.h:84
Definition object.h:397
Namespace for all functionality of the ADTF Streaming SDK provided since v3.0.
Definition bindingproxyoutport.h:16
Namespace for the ADTF Streaming SDK.
Definition bindingproxyinport.h:14
constexpr const char * get_iid() noexcept
Alias bringing the latest version of ant::get_iid() into scope.
Definition adtf_iid.h:429
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14