ADTF  3.18.4
interface_binding_type.h
Go to the documentation of this file.
1 
7 #pragma once
9 
10 namespace adtf
11 {
12 namespace streaming
13 {
14 namespace ant
15 {
16 
20 class cBindingType : public ucom::catwo::object<IBindingType,
21  ucom::ant::IClassInfo,
22  ucom::ant::ISerializable>
23 {
26  public:
29  "binding_type.streaming.adtf.cid",
30  "Binding Type");
33 
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:
89 };
94 template<typename INTERFACE>
95 class 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
109 using ant::cBindingType;
111 using ant::binding_type;
112 
113 } // namespace streaming
114 } // namespace adtf
#define ADTF_CLASS_INFO_IMPL(_class)
Common macro to implement correct treatment of adtf::ucom::ant::IClassInfo.
Definition: class_id.h:57
The IString interface provides methods for getting and setting strings through abstract interfaces.
Definition: string_intf.h:28
The Dynamic Binding type is to describe the IBindingType.
Binding type generation template to initialize a BindingType with the information of the INTERFACE ty...
The BindingType default implementation.
A_UTILS_D(cBindingType)
dpointer implementation
adtf_util::cString m_strProxyCID
The Proxy Class Identifier for GetProxyOID().
adtf_util::cString m_strInterfaceIID
The Interface Identifier for GetInteraceID().
cBindingType(const char *strIID, const char *strProxyCID)
CTOR This CTOR initializes the type immediately.
tResult Create(const char *strIID, const char *strProxyCID)
Creator for Type.
cBindingType()=default
default CTOR.
ADTF_SERIALIZER_VERSION(cBindingType, 1)
Implementation for ISerializable.
ADTF_CLASS_ID_NAME(cBindingType, "binding_type.streaming.adtf.cid", "Binding Type")
Implementation for ISerializable.
The IStream interface provides defines methods for streaming data.
Definition: stream_intf.h:84
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
Definition: object.h:379
Copyright © Audi Electronics Venture GmbH.
string_base< cStackString > cString
cString implementation for a stack string which works on stack if string is lower than A_UTILS_DEFAUL...
Definition: string.h:2778
Namespace for entire ADTF SDK.