otsdaq  v2_04_01
ARTDAQConsumer.h
1 #ifndef _ots_ARTDAQConsumer_h_
2 #define _ots_ARTDAQConsumer_h_
3 
4 #include "otsdaq-core/ARTDAQReaderCore/ARTDAQReaderProcessorBase.h"
5 
6 //#include "artdaq/Application/BoardReaderApp.hh"
7 //#include "otsdaq-core/Configurable/Configurable.h"
8 #include "otsdaq-core/DataManager/DataConsumer.h"
9 
10 //#include <future>
11 //#include <memory>
12 //#include <string>
13 
14 namespace ots
15 {
16 // ARTDAQConsumer
17 // This class is a Data Consumer plugin that
18 // allows a single artdaq Board Reader to be
19 // instantiated on the read side of an otsdaq Buffer.
21  : public DataConsumer,
22  public ARTDAQReaderProcessorBase // public DataConsumer, public Configurable
23 {
24  public:
25  ARTDAQConsumer(std::string supervisorApplicationUID,
26  std::string bufferUID,
27  std::string processorUID,
28  const ConfigurationTree& theXDAQContextConfigTree,
29  const std::string& configurationPath);
30  virtual ~ARTDAQConsumer(void);
31 
32  // void initLocalGroup(int rank);
33  // // void destroy (void);
34  //
35  // // void configure (fhicl::ParameterSet const& pset);
36  // void configure(int rank);
37  // void halt(void);
38  void pauseProcessingData(void);
39  void resumeProcessingData(void);
40  void startProcessingData(std::string runNumber) override;
41  void stopProcessingData(void);
42  // // int universalRead (char *address, char *returnValue) override {;}
43  // // void universalWrite (char *address, char *writeValue) override {;}
44  // // artdaq::BoardReaderCore* getFragmentReceiverPtr(){return
45  // // fragment_receiver_ptr_.get();} void ProcessData_(artdaq::FragmentPtrs & frags)
46  // // override;
47  //
48  private:
49  bool workLoopThread(toolbox::task::WorkLoop* workLoop) { return false; }
50  //
51  // std::unique_ptr<artdaq::BoardReaderApp> fragment_receiver_ptr_;
52  // std::string name_;
53  //
54  // // FIXME These should go...
55  // std::string report_string_;
56  // bool external_request_status_;
57  // fhicl::ParameterSet fhiclConfiguration_;
58 };
59 
60 } // namespace ots
61 
62 #endif