Motorcortex Core  version: 2.7.6
ecat_domainbase.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2015 - 2018 VECTIONEER.
4  */
5 
6 #ifndef MOTORCORTEX_CORE_ECAT_DOMAINBASE_H
7 #define MOTORCORTEX_CORE_ECAT_DOMAINBASE_H
8 
9 #include "ecat_state.h"
10 #include "ecat_xmltypes.h"
11 #include <cstdint>
12 #include <list>
13 
14 namespace mcx::ecat {
15 
16 struct EcatDomainConfig;
17 class SdoBase;
18 
19 struct SdoId {
20  size_t hash;
21  EcatDirection dir;
22 };
23 
24 class DomainBase {
25 
26 public:
27  virtual EcatDomainConfig& getDomainConfig() = 0;
28 
29  virtual void updateProcessData(DomainState state, uint8_t* data, unsigned int length) = 0;
30 
31  virtual std::list<SdoId> updateServiceQueue() = 0;
32 };
33 
34 } // namespace mcx::ecat
35 
36 #endif // MOTORCORTEX_CORE_ECAT_DOMAINBASE_H
mcx::ecat::EcatDomainConfig
Definition: ecat_xmltypes.h:255
mcx::ecat::DomainBase
Definition: ecat_domainbase.h:24
mcx::ecat::SdoId
Definition: ecat_domainbase.h:19