ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
class_info_intf.h
Go to the documentation of this file.
1
7
8#ifndef _ADTF_UCOM_ANT_CLASS_INFO_INTERFACE_INCLUDES_HEADER_
9#define _ADTF_UCOM_ANT_CLASS_INFO_INTERFACE_INCLUDES_HEADER_
10
11namespace adtf
12{
13namespace ucom
14{
15namespace ant
16{
17
22{
23 const char* m_strName;
24 adtf_util::tVersion m_sVersion;
25};//struct tNamedVersion
26
31{
33 enum class eDescriptionType : uint32_t
34 {
38 };//enum class DD_Type
39
41 const char* m_strIid;
42};//struct tDependencyDescription
43
44//#################################################################################################
45//#################################### INTERFACES #################################################
46//#################################################################################################
50class DOEXPORT IClassInfo : public IObject
51{
52public:
57 ADTF_IID(IClassInfo, "class_info.ant.ucom.adtf.iid");
58
59public:
64 virtual const char* GetCID() const = 0;
65 virtual const char* GetCLabel() const = 0;
67 const = 0;
68 virtual iterator_adapter<const tNamedVersion, pointer_iterator> GetCVersions() const = 0;
69
70protected:
72 ~IClassInfo() = default;
73};//class IClassInfo
74
75}//namespace ant
76
79
82
85
86}//namespace ucom
87}//namespace adtf
88
89#endif //_ADTF_UCOM_ANT_CLASS_INFO_INTERFACE_INCLUDES_HEADER_
@ brief The IClassInfo interface provides a standardized way to access type information.
ADTF_IID(IClassInfo, "class_info.ant.ucom.adtf.iid")
Marks the IClassInfo to be castable with the ucom_cast<>
~IClassInfo()=default
Protected destructor --> Only the final implementation can be destroyed!
virtual const char * GetCID() const =0
Get class identifier.
Base class for every interface type within the uCOM.
Definition object_intf.h:33
Namespace for all functionality provided since v3.0.
Namespace for the ADTF uCOM3 SDK.
ant::tDependencyDescription tDependencyDescription
Alias alwas bringing the latest version of ant::tDependencyDescription into scope.
ant::IClassInfo IClassInfo
Alias always bringing the latest version of ant::IClassInfo into scope.
ant::tNamedVersion tNamedVersion
Alias alwas bringing the latest version of ant::tNamedVersion into scope.
Namespace for entire ADTF SDK.
Adapter for begin and end iterators - usable as return and parameter value in interfaces.
Dependency description usable for ADTF_CLASS_DEPENDENCIES()
eDescriptionType
Enumerating the different dependency types.
@ DT_PROVIDE
The given interface describes a mandatory provided dependency.
@ DT_REQUIRE_OPTIONAL
The given interface describes an optional required dependency.
@ DT_REQUIRE
The given interface describes a mandatory required dependency.
const char * m_strIid
Interface id which is required/provided.
eDescriptionType m_nType
Either provider, mandatory or optional requester.
Named version information consisting of the modules name and its adtf_util::tVersion.
const char * m_strName
Product name that the version is given for.
adtf_util::tVersion m_sVersion
The actual version for the product.