• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

abbplugin/roc/AbbBoard.h (r4864/r3193)

Go to the documentation of this file.
00001 #ifndef ROC_AbbBoard
00002 #define ROC_AbbBoard
00003 
00004 #include "roc/OpticBoard.h"
00005 
00006 namespace roc {
00007 
00008    class ReadoutModule;
00009    class AbbFactory;
00010    class AbbDevice;
00011 
00012    class AbbBoard : public roc::OpticBoard {
00013 
00014       friend class AbbFactory;
00015       friend class AbbDevice;
00016 
00017       protected:
00018          AbbDevice*       fDev;
00019          ReadoutModule*   fReadout;
00020          uint32_t         fOpticPath;
00021 
00022          void setReadout(ReadoutModule* m) { fReadout = m; }
00023          ReadoutModule* getReadout() { return fReadout; }
00024 
00025          bool initAbbBoard();
00026 
00027       public:
00028 
00029          AbbBoard(AbbDevice* dev, uint32_t path, base::ClientRole role);
00030          virtual ~AbbBoard();
00031 
00032          // put/get interface part of roc::Board
00033          virtual int operGen(base::OperList& lst, double tmout = 0.);
00034 
00035          virtual int invokeDLM(unsigned num, double tmout = 0.);
00036 
00037          virtual uint32_t getRocBackendVersion();
00038 
00039          // daq interface part of roc::Board
00040          virtual bool startDaq();
00041          virtual bool suspendDaq();
00042          virtual bool stopDaq();
00043          virtual bool getNextBuffer(void* &buf, unsigned& len, double tmout = 1.);
00044 
00045          virtual void setFlushTimeout(double tmout);
00046 
00047          virtual int getMsgFormat() const { return roc::formatOptic2; }
00048    };
00049 
00050 }
00051 
00052 #endif

Generated on Tue Dec 10 2013 04:52:16 for ROCsoft by  doxygen 1.7.1