DABC (Data Acquisition Backbone Core)  2.9.9
LmdInput.h
Go to the documentation of this file.
1 // $Id: LmdInput.h 4479 2020-04-15 14:30:52Z linev $
2 
3 /************************************************************
4  * The Data Acquisition Backbone Core (DABC) *
5  ************************************************************
6  * Copyright (C) 2009 - *
7  * GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
8  * Planckstr. 1, 64291 Darmstadt, Germany *
9  * Contact: http://dabc.gsi.de *
10  ************************************************************
11  * This software can be used under the GPL license *
12  * agreements as stated in LICENSE.txt file *
13  * which is part of the distribution. *
14  ************************************************************/
15 
16 #ifndef MBS_LmdInput
17 #define MBS_LmdInput
18 
19 #ifndef DABC_DataIO
20 #include "dabc/DataIO.h"
21 #endif
22 
23 #ifndef MBS_LmdFile
24 #include "mbs/LmdFile.h"
25 #endif
26 
27 namespace mbs {
28 
31  class LmdInput : public dabc::FileInput {
32  protected:
33 
35 
36  bool CloseFile();
37 
38  bool OpenNextFile();
39 
40  public:
41  LmdInput(const dabc::Url& url);
42  virtual ~LmdInput();
43 
44  virtual bool Read_Init(const dabc::WorkerRef& wrk, const dabc::Command& cmd);
45 
46  virtual unsigned Read_Size();
47  virtual unsigned Read_Complete(dabc::Buffer& buf);
48  };
49 
50 }
51 
52 #endif
Reference on memory from memory pool.
Definition: Buffer.h:135
Represents command with its arguments.
Definition: Command.h:99
Interface for implementing file inputs.
Definition: DataIO.h:246
Uniform Resource Locator interpreter.
Definition: Url.h:33
Reference on dabc::Worker
Definition: Worker.h:466
Reading/writing LMD files (new API)
Definition: LmdFile.h:35
Input for LMD files (lmd:)
Definition: LmdInput.h:31
bool OpenNextFile()
Definition: LmdInput.cxx:48
bool CloseFile()
Definition: LmdInput.cxx:65
LmdInput(const dabc::Url &url)
Definition: LmdInput.cxx:25
virtual bool Read_Init(const dabc::WorkerRef &wrk, const dabc::Command &cmd)
Initialize data input, using port and command.
Definition: LmdInput.cxx:41
virtual unsigned Read_Complete(dabc::Buffer &buf)
Complete reading of the buffer from source,.
Definition: LmdInput.cxx:82
mbs::LmdFile fFile
Definition: LmdInput.h:34
virtual ~LmdInput()
Definition: LmdInput.cxx:36
virtual unsigned Read_Size()
Defines required buffer size for next operation.
Definition: LmdInput.cxx:72
Support for MBS - standard GSI DAQ.
Definition: api.h:36