ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
signal_registry_intf.h
Go to the documentation of this file.
1
7#pragma once
8
9#include <adtf_ucom3.h>
10#include <adtf_utils.h>
11#include <adtfbase/chrono.h>
12
15#define CID_ADTF_SIGNAL_REGISTRY "signal_registry.service.adtf.cid"
16
17namespace adtf
18{
19namespace services
20{
21namespace ant
22{
23
28{
29 public:
31 ADTF_IID(ISignalRegistry, "signal_registry.ant.services.adtf.iid");
32
33 protected:
35 ~ISignalRegistry() = default;
36
37 public:
39 typedef size_t tSignalID;
40
43 {
45 const char* strName;
46 const char* strUnit;
47 const char* strDescription;
48 double f64MinValue;
49 double f64MaxValue;
50 };
51
54 {
56 double f64Value;
62 const char* strTextValue;
63 };
64
69 {
70 public:
72 ADTF_IID(ISignalProvider, "signal_provider.signal_registry.ant.services.adtf.iid");
73
74 protected:
76 ~ISignalProvider() = default;
77
78 public:
86 {
87 public:
93 virtual tResult EnableSignal(tSignalID nSignalID) = 0;
94
100 virtual tResult DisableSignal(tSignalID nSignalID) = 0;
101 };
102
103 public:
110 virtual tResult AddSignal(const tSignalAttributes& sSignal, IEnabledSignals* pEnableCallback = nullptr) = 0;
111
118 virtual tResult UpdateSignal(tSignalID nSignalID, const tSignalValue& sValue) = 0;
119
127 virtual tResult RemoveSignal(tSignalID nSignalID) = 0;
128 };
129
130 public:
131
138 virtual tResult CreateProvider(const char* strName, adtf::ucom::ant::iobject_ptr<ISignalProvider>& pProvider) = 0;
139};
140
141}
142
143namespace flash
144{
145
150{
151 public:
153 ADTF_IID(ISignalRegistry, "signal_registry.flash.services.adtf.iid");
154
155 public:
167
169 {
170 public:
172 ADTF_IID(ISignalProvider, "signal_provider.signal_registry.flash.services.adtf.iid");
173
174 protected:
176 ~ISignalProvider() = default;
177
178 public:
180
187 virtual tResult UpdateSignal(tSignalID nSignalID, const tSignalValueNs& sValue) = 0;
188 };
189
190 public:
198 virtual tResult CreateProvider(const char* strName, adtf::ucom::ant::iobject_ptr<ISignalProvider>& pProvider) = 0;
199
200};
201
202}
203
205
206}
207
208}
Copyright © Audi Electronics Venture GmbH.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Copyright © Audi Electronics Venture GmbH.
Callback interface for enabling and disabling signal generation.
virtual tResult DisableSignal(tSignalID nSignalID)=0
Called when a signal should be disabled.
virtual tResult EnableSignal(tSignalID nSignalID)=0
Called when a signal should be enabled.
virtual tResult RemoveSignal(tSignalID nSignalID)=0
Removes a signal.
~ISignalProvider()=default
Protected destructor --> Only the final implementation can be destroyed!
ADTF_IID(ISignalProvider, "signal_provider.signal_registry.ant.services.adtf.iid")
Interface ID for the interface.
virtual tResult AddSignal(const tSignalAttributes &sSignal, IEnabledSignals *pEnableCallback=nullptr)=0
Adds a new signal.
virtual tResult UpdateSignal(tSignalID nSignalID, const tSignalValue &sValue)=0
Update the value of a signal.
Interface for asynchronous signal transmission.
size_t tSignalID
unique id for signals
ADTF_IID(ISignalRegistry, "signal_registry.ant.services.adtf.iid")
Interface ID for the interface.
virtual tResult CreateProvider(const char *strName, adtf::ucom::ant::iobject_ptr< ISignalProvider > &pProvider)=0
Creates a new provider.
~ISignalRegistry()=default
Protected destructor --> Only the final implementation can be destroyed!
ADTF_IID(ISignalProvider, "signal_provider.signal_registry.flash.services.adtf.iid")
Interface ID for the interface.
~ISignalProvider()=default
Protected destructor --> Only the final implementation can be destroyed!
virtual tResult UpdateSignal(tSignalID nSignalID, const tSignalValueNs &sValue)=0
Update the value of a signal.
virtual tResult CreateProvider(const char *strName, adtf::ucom::ant::iobject_ptr< ISignalProvider > &pProvider)=0
Creates a new provider.
ADTF_IID(ISignalRegistry, "signal_registry.flash.services.adtf.iid")
Interface ID for the interface.
Base class for every interface type within the uCOM.
Definition object_intf.h:33
Base object pointer to realize binary compatible reference counting in interface methods.
Namespace for all service interfaces provided since v3.5.
ant::IObject IObject
Alias always bringing the latest version of ant::IObject into scope.
Namespace for entire ADTF SDK.
const char * strName
The name. Separate trees nodes with '/'.
const char * strDescription
A desrciption of the signal, can be nullptr.
const char * strUnit
The unit of the signal, can be nullptr.
const char * strTextValue
TEXTTABLE value or NULL (text representation of the value).
double f64Value
Physical signal value (this is where you put the values you want to display)
tTimeStamp nTimeStamp
Timestamp of signal value (-1 == undefined)
const char * strTextValue
TEXTTABLE value or NULL (text representation of the value).
base::flash::tNanoSeconds nTimeStamp
Timestamp of signal value (-1 == undefined)
double f64Value
Physical signal value (this is where you put the values you want to display)