Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ROC_READOUTMODULE_H
00016 #define ROC_READOUTMODULE_H
00017
00018 #ifndef DABC_ModuleAsync
00019 #include "dabc/ModuleAsync.h"
00020 #endif
00021
00022 namespace roc {
00023
00024 class ReadoutModule : public dabc::ModuleAsync {
00025 protected:
00026 dabc::Condition fDataCond;
00027 dabc::Buffer fCurrBuf;
00028 dabc::Buffer fNextBuf;
00029
00030 public:
00031
00032 ReadoutModule(const char* name, dabc::Command cmd = 0);
00033 virtual ~ReadoutModule();
00034
00035 virtual void ProcessInputEvent(dabc::Port* port);
00036
00037 virtual void ProcessOutputEvent(dabc::Port* port);
00038
00039 virtual void AfterModuleStop();
00040
00041 bool getNextBuffer(void* &buf, unsigned& len, double tmout = 1.);
00042 };
00043 }
00044
00045 #endif