My Project
output.h
1 /*************************************************************************\
2 * Copyright (c) 2013 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 OUTPUT_HPP_INC
12 #define OUTPUT_HPP_INC
13 
14 #include "mrf/object.h"
15 
16 #include <epicsTypes.h>
17 
18 enum OutputType {
19  OutputInt=0,
20  OutputFP=1,
21  OutputFPUniv=2,
22  OutputRB=3,
23  OutputBackplane=4,
24 };
25 
26 class epicsShareClass Output : public mrf::ObjectInst<Output>
27 {
28 public:
29  explicit Output(const std::string& n) : mrf::ObjectInst<Output>(n) {}
30  virtual ~Output()=0;
31 
43  virtual epicsUInt32 source() const=0;
44  virtual void setSource(epicsUInt32)=0;
45 
46  virtual bool enabled() const=0;
47  virtual void enable(bool)=0;
49 };
50 
51 #endif // OUTPUT_HPP_INC
User implementation hook.
Definition: object.h:460