00001 #ifndef ROC_FILEINPUT_H 00002 #define ROC_FILEINPUT_H 00003 00004 #include "roc/UdpBoard.h" 00005 00006 #ifndef MBS_LmdInput 00007 #include "mbs/LmdInput.h" 00008 #endif 00009 00010 #ifndef MBS_MbsTypeDefs 00011 #include "mbs/MbsTypeDefs.h" 00012 #endif 00013 00014 namespace roc { 00015 00016 class FileInput : public Board { 00017 protected: 00018 mbs::LmdInput* fInput; 00019 00020 mbs::EventHeader* fHdr; 00021 mbs::SubeventHeader* fSubev; 00022 00023 int fSelectRoc; 00024 00025 public: 00026 FileInput(mbs::LmdInput* inp, int selectroc = -1); 00027 00028 virtual ~FileInput(); 00029 00030 virtual int getTransportKind() const; 00031 00032 virtual void setFlushTimeout(double) {} 00033 00034 virtual int operGen(base::OperList&, double = 0.) { return 0; } 00035 00036 // daq interface part of roc::Board 00037 virtual bool startDaq() { return true; } 00038 virtual bool suspendDaq() { return true; } 00039 virtual bool stopDaq() { return true; } 00040 00041 virtual bool getNextBuffer(void* &buf, unsigned& len, double tmout = 1.); 00042 00043 virtual int getMsgFormat() const; 00044 }; 00045 } 00046 00047 00048 #endif