ADTF_DEVICE_TOOLBOX  3.12.1 (ADTF 3.18.3)
canfd_database_intf.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <string.h>
11 #include <adtf_utils.h>
12 #include <adtf_ucom3.h>
13 #include "canfd_types.h"
14 
18 #define CID_DEVTB_CANFDDB_PARSER "canfd_database_parser.service.devicetb.cid"
19 
23 namespace adtf
24 {
25 
29 namespace devicetb
30 {
31 
35 namespace sdk
36 {
37 
41 namespace canfd
42 {
43 
47 namespace axle
48 {
52 class ICANFDDatabase : public adtf::ucom::ant::IObject
53 {
54 public:
55  ADTF_IID(ICANFDDatabase, "canfd_database.axle.canfd.sdk.devicetb.adtf.iid");
56 
57 public:
64  virtual tResult GetMessageCount(uint32_t* pnMessageCount) const = 0;
65 
74  virtual tResult GetMessageID(const char* strMessageName, tMessageID* pnMessageID, bool* pbExtended) const = 0;
75 
84  virtual tResult GetMessageName(tMessageID nMessageID, bool bExtended, const char** pMessageName) const = 0;
85 
94  virtual tResult GetMessageInfo(tMessageID nMessageID, bool bExtended, const tMessageInfo** pMessageInfo) const = 0;
95 
102  virtual tResult GetSignalCount(uint32_t* pnSignalCount) const = 0;
103 
111  virtual tResult GetSignalID(const char* strSignalName, tSignalID* pnSignalID) const = 0;
112 
120  virtual tResult GetSignalName(tSignalID nSignalID, const char** pSignalName) const = 0;
121 
129  virtual tResult GetSignalUnit(tSignalID nSignalID, const char** pSignalUnit) const = 0;
130 
138  virtual tResult GetSignalDescription(tSignalID nSignalID, const char** pSignalDescription) const = 0;
139 
147  virtual tResult GetSignalInfo(tSignalID nSignalID, const tSignalInfo** pSignalInfo) const = 0;
148 
156  virtual tResult GetNetworkNodes(std::vector<const char*>& astrNetworkNodes) const = 0;
157 
165  virtual tResult GetNetworkNames(std::vector<const char*>& astrNetworkNames) const = 0;
166 };
167 
171 class ICANFDDatabaseList : public adtf::ucom::ant::IObject
172 {
173 public:
174  ADTF_IID(ICANFDDatabaseList, "canfd_database_list.axle.canfd.sdk.devicetb.adtf.iid");
179  {
180  public:
186  virtual tResult HandleMessage(const tMessageInfo* pInfo) = 0;
187  };
188 
194  virtual tResult ListCANFDMessages(IMessageCallback* pCallback) const = 0;
195 };
196 
197 } //namespace axle
198 
202 namespace ignition
203 {
207 class ICANFDDatabase : public adtf::ucom::ant::IObject
208 {
209 public:
210  ADTF_IID(ICANFDDatabase, "canfd_database.ignition.canfd.sdk.devicetb.adtf.iid");
211 
218  virtual tResult GetClusterName(const char** pstrClusterName) const = 0;
219 
227  virtual tResult GetFrameInfo(tFrameID nFrameId, const tFrameInfo** pFrameInfo) const = 0;
228 
236  virtual tResult GetFrameInfo(const char* pstrFrame, const tFrameInfo** pFrameInfo) const = 0;
237 
245  virtual tResult ResolveFrameInfo(tMessageID nMessageId, const tFrameInfo** pFrameInfo) const = 0;
246 
254  virtual tResult GetFrameSignalInfos(tFrameID nFrameId, const ucom::nitro::ifunction<void(const tSignalInfo* pSignalInfo)>& fnCallback) const = 0;
255 
263  virtual tResult GetFramePduInfos(tFrameID nFrameId, const ucom::nitro::ifunction<void(const tPduInfo* pPduInfo)>& fnCallback) const = 0;
264 
271  virtual tResult GetClusterFrames(const ucom::nitro::ifunction< void(const tFrameInfo* pFrameInfo) >& fnCallback) const = 0;
272 
280  virtual tResult GetPduInfo(tPDUID nPduId, const tPduInfo** pPduInfo) const = 0;
281 
289  virtual tResult GetParentPdu(tPDUID nChildPduId, const ucom::nitro::ifunction< void(const tPduInfo* pPduInfo) >& fnCallback) const = 0;
290 
297  virtual tResult GetClusterPdus(const ucom::nitro::ifunction< void(const tPduInfo* pPduInfo) >& fnCallback) const = 0;
298 
306  virtual tResult GetSignalInfo(tSignalID nSignalId, const tSignalInfo** pSignalInfo) const = 0;
307 
315  virtual tResult GetSignalInfo(const char* pstrSignal, const tSignalInfo** pSignalInfo) const = 0;
316 
324  virtual tResult GetPdusBySignal(tSignalID nSignalId, const ucom::nitro::ifunction< void(const tPduInfo* pPduInfo) >& fnCallback) const = 0;
325 
332  virtual tResult GetClusterSignals(const ucom::nitro::ifunction< void(const tSignalInfo* pSignalInfo) >& fnCallback) const = 0;
333 
340  virtual tResult GetClusterEcus(const ucom::nitro::ifunction< void(const tEcuInfo* pEcuInfo) >& fnCallback) const = 0;
341 
349  virtual tResult GetReceiverEcusByFrame(tFrameID nFrameId, const ucom::nitro::ifunction< void(const tEcuInfo* pEcuInfo) >& fnCallback) const = 0;
350 
358  virtual tResult GetSenderEcusByFrame(tFrameID nFrameId, const ucom::nitro::ifunction< void(const tEcuInfo* pEcuInfo) >& fnCallback) const = 0;
359 };
360 } //namespace ignition
361 
365 namespace jack
366 {
371  {
372  public:
373  ADTF_IID(ICANFDDatabase, "canfd_database.jack.canfd.sdk.devicetb.adtf.iid");
374 
383  virtual tResult GetContainedPduInfo(const tContainedPduHeader& oHeader, const tContainedPduInfo** pContainedPduInfo) const = 0;
384 
391  virtual tResult GetContainedPduInfos(const ucom::nitro::ifunction< void(const tContainedPduInfo* pContainedPduInfo) >& fnCallback) const = 0;
392  };
393 } //namespace jack
394 
396 
397 } //namespace canfd
398 } //namespace sdk
399 } //namespace devicetb
400 } //namespace adtf
Copyright 2024 CARIAD SE.
virtual tResult GetMessageID(const char *strMessageName, tMessageID *pnMessageID, bool *pbExtended) const =0
Retrieves the ID of a Message.
virtual tResult GetSignalUnit(tSignalID nSignalID, const char **pSignalUnit) const =0
Returns the unito of a signal.
virtual tResult GetMessageCount(uint32_t *pnMessageCount) const =0
Returns the count of Messages described in this DBC.
virtual tResult GetNetworkNames(std::vector< const char * > &astrNetworkNames) const =0
Returns an array of names of all CAN networks.
virtual tResult GetSignalName(tSignalID nSignalID, const char **pSignalName) const =0
Returns the name of a signal.
virtual tResult GetMessageName(tMessageID nMessageID, bool bExtended, const char **pMessageName) const =0
Retrieves the name of a Message.
virtual tResult GetSignalInfo(tSignalID nSignalID, const tSignalInfo **pSignalInfo) const =0
Returns information about a signal.
virtual tResult GetSignalDescription(tSignalID nSignalID, const char **pSignalDescription) const =0
Returns the description of a signal.
virtual tResult GetMessageInfo(tMessageID nMessageID, bool bExtended, const tMessageInfo **pMessageInfo) const =0
Returns the information structure for the specified message.
virtual tResult GetNetworkNodes(std::vector< const char * > &astrNetworkNodes) const =0
Returns an array of names of all network nodes.
virtual tResult GetSignalCount(uint32_t *pnSignalCount) const =0
Returns the count of signals described in this database.
virtual tResult GetSignalID(const char *strSignalName, tSignalID *pnSignalID) const =0
Returns the ID of a signal.
virtual tResult HandleMessage(const tMessageInfo *pInfo)=0
This method will be called for each CANFD message.
Interface of a CAN FD database for retrieving all available CAN FD messages.
virtual tResult ListCANFDMessages(IMessageCallback *pCallback) const =0
This will call the callback for each available CANFD message.
virtual tResult GetClusterSignals(const ucom::nitro::ifunction< void(const tSignalInfo *pSignalInfo) > &fnCallback) const =0
Returns all signal infos from the current cluster.
virtual tResult GetSenderEcusByFrame(tFrameID nFrameId, const ucom::nitro::ifunction< void(const tEcuInfo *pEcuInfo) > &fnCallback) const =0
Returns all ECU infos which are sent by the specified internal frame id.
virtual tResult GetFramePduInfos(tFrameID nFrameId, const ucom::nitro::ifunction< void(const tPduInfo *pPduInfo)> &fnCallback) const =0
Returns the all frame specific signal information structure by the frame id.
virtual tResult GetParentPdu(tPDUID nChildPduId, const ucom::nitro::ifunction< void(const tPduInfo *pPduInfo) > &fnCallback) const =0
Returns all parent PDU infos which contain the child PDU id.
virtual tResult GetClusterEcus(const ucom::nitro::ifunction< void(const tEcuInfo *pEcuInfo) > &fnCallback) const =0
Returns all ECU infos from the current cluster.
virtual tResult GetReceiverEcusByFrame(tFrameID nFrameId, const ucom::nitro::ifunction< void(const tEcuInfo *pEcuInfo) > &fnCallback) const =0
Returns all ECU infos which are received by the specified internal frame id.
virtual tResult GetSignalInfo(tSignalID nSignalId, const tSignalInfo **pSignalInfo) const =0
Returns the information structure about a signal by its internal id.
virtual tResult ResolveFrameInfo(tMessageID nMessageId, const tFrameInfo **pFrameInfo) const =0
Returns the information structure for the specified frame by its database message id.
virtual tResult GetFrameInfo(const char *pstrFrame, const tFrameInfo **pFrameInfo) const =0
Returns the information structure for the specified frame by the frame name.
virtual tResult GetClusterPdus(const ucom::nitro::ifunction< void(const tPduInfo *pPduInfo) > &fnCallback) const =0
Returns all PDU infos from the current cluster.
virtual tResult GetSignalInfo(const char *pstrSignal, const tSignalInfo **pSignalInfo) const =0
Returns the information structure about a signal by its signal name.
virtual tResult GetFrameInfo(tFrameID nFrameId, const tFrameInfo **pFrameInfo) const =0
Returns the information structure for the specified frame by its internal frame id.
virtual tResult GetPduInfo(tPDUID nPduId, const tPduInfo **pPduInfo) const =0
Returns the information structure for the specified pdu by its internal pdu id.
virtual tResult GetFrameSignalInfos(tFrameID nFrameId, const ucom::nitro::ifunction< void(const tSignalInfo *pSignalInfo)> &fnCallback) const =0
Returns the all frame specific signal information structure by the frame id.
virtual tResult GetClusterFrames(const ucom::nitro::ifunction< void(const tFrameInfo *pFrameInfo) > &fnCallback) const =0
Returns all frame infos from the current cluster.
virtual tResult GetPdusBySignal(tSignalID nSignalId, const ucom::nitro::ifunction< void(const tPduInfo *pPduInfo) > &fnCallback) const =0
Returns all PDU infos which contain the signal id.
virtual tResult GetClusterName(const char **pstrClusterName) const =0
Returns the cluster name.
virtual tResult GetContainedPduInfo(const tContainedPduHeader &oHeader, const tContainedPduInfo **pContainedPduInfo) const =0
Returns ContainedPduInfo specified by the ContainedPduHeader, If no infos were found returns Error an...
virtual tResult GetContainedPduInfos(const ucom::nitro::ifunction< void(const tContainedPduInfo *pContainedPduInfo) > &fnCallback) const =0
Returns all ContainedPduInfos.
jack::ICANFDDatabase ICANFDDatabase
The ICANFDDatabase interface.
ADTF - Namespace.
The tSignalInfo structure Stores the signal information within an CANFD-Message.
Definition: canfd_types.h:102
Structure which contain ECU information.
Definition: canfd_types.h:381
Frame structure which encapsulates one or more PDUs including its specific information.
Definition: canfd_types.h:646
Message/PDU structure which contain all information about one specific message.
Definition: canfd_types.h:616
Signal info structure which contains all signal information.
Definition: canfd_types.h:437
Header struct for tContainedPduInfo, which contains the Container HeaderType and the headerID.
Definition: canfd_types.h:695
Contains infos about the containedPdu like PduCollectionSemantics and the header.
Definition: canfd_types.h:706