mrfioc2  2.3.0
drvemRxBuf.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2010 Brookhaven Science Associates, as Operator of
3 * Brookhaven National Laboratory.
4 * mrfioc2 is distributed subject to a Software License Agreement found
5 * in file LICENSE that is included with this distribution.
6 \*************************************************************************/
7 /*
8  * Author: Michael Davidsaver <mdavidsaver@gmail.com>
9  */
10 
11 #ifndef DRVEMRXBUF_H
12 #define DRVEMRXBUF_H
13 
14 #include <callback.h>
15 
16 #include "bufrxmgr.h"
17 
18 class epicsShareClass mrmBufRx : public bufRxManager
19 {
20 public:
21  mrmBufRx(const std::string&, volatile void *base,unsigned int qdepth, unsigned int bsize=0);
22  virtual ~mrmBufRx();
23 
24  /* no locking needed */
25  virtual void lock() const OVERRIDE FINAL {};
26  virtual void unlock() const OVERRIDE FINAL {};
27 
28  virtual bool dataRxEnabled() const OVERRIDE FINAL;
29  virtual void dataRxEnable(bool) OVERRIDE FINAL;
30 
31  static void drainbuf(CALLBACK*);
32 
33 protected:
34  volatile unsigned char * const base;
35 };
36 
37 #endif // DRVEMRXBUF_H
virtual void lock() const OVERRIDE FINAL
Definition: drvemRxBuf.h:25
virtual bool dataRxEnabled() const =0
virtual void unlock() const OVERRIDE FINAL
Definition: drvemRxBuf.h:26
virtual void dataRxEnable(bool)=0
volatile unsigned char *const base
Definition: drvemRxBuf.h:34