otsdaq_components  v2_02_00
FEOtsUDPProducerTemplateInterface.h
1 #ifndef _ots_FEOtsUDPProducerTemplateInterface_h_
2 #define _ots_FEOtsUDPProducerTemplateInterface_h_
3 
4 //#include "otsdaq-core/FECore/FEVInterface.h"
5 #include "otsdaq-core/FECore/FEProducerVInterface.h"
6 #include "otsdaq-components/DAQHardware/OtsUDPHardware.h"
7 #include "otsdaq-components/DAQHardware/OtsUDPFirmwareDataGen.h"
8 #include "otsdaq-core/DataManager/DataProducer.h"
9 
10 #include <string>
11 
12 namespace ots
13 {
14 
15 //public virtual inheritance only inherits the base class WorkLoop (and others) members once)
16 class FEOtsUDPProducerTemplateInterface : //public FEVInterface, public OtsUDPHardware, public OtsUDPFirmwareDataGen
17 public FEProducerVInterface, public OtsUDPHardware, public OtsUDPFirmwareDataGen
18 {
19 
20 public:
21  FEOtsUDPProducerTemplateInterface (const std::string& interfaceUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& interfaceConfigurationPath);
22  virtual ~FEOtsUDPProducerTemplateInterface (void);
23 
24  void configure (void) override;
25  void halt (void) override;
26  void pause (void) override;
27  void resume (void) override;
28  void start (std::string runNumber) override;
29  void stop (void) override;
30  bool running (void) override;
31 
32  virtual void universalRead (char* address, char* readValue) override;
33  virtual void universalWrite (char* address, char* writeValue) override;
34 
35 private:
36 
37 
38 public: // FEMacro 'varTest' generated, Oct-11-2018 11:36:28, by 'admin' using MacroMaker.
39  void varTest (__ARGS__);
40 
41 public: // FEMacro 'varTest2' generated, Oct-11-2018 02:28:57, by 'admin' using MacroMaker.
42  void varTest2 (__ARGS__);
43 };
44 
45 }
46 
47 #endif