ADTF  3.18.2
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 
17 namespace adtf
18 {
19 namespace services
20 {
21 namespace 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 
53  struct tSignalValue
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 
143 namespace flash
144 {
145 
150 {
151  public:
153  ADTF_IID(ISignalRegistry, "signal_registry.flash.services.adtf.iid");
154 
155  public:
157  {
159  double f64Value;
165  const char* strTextValue;
166  };
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.
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 --> Use implemented Destroy() instead of delete!
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 --> Use implemented Destroy() instead of delete!
ADTF_IID(ISignalProvider, "signal_provider.signal_registry.flash.services.adtf.iid")
Interface ID for the interface.
~ISignalProvider()=default
Protected destructor --> Use implemented Destroy() instead of delete!
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:31
Base object pointer to realize binary compatible reference counting in interface methods.
Namespace for entire ADTF SDK.
const char * strName
The name. Separate trees nodes with '/'.
double f64MaxValue
The maximum value of the signal.
double f64MinValue
The minimum value of the signal.
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)