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