TriggerMode.h

00001 /*-----------------------------------------------------------------------------
00002  * TriggerMode declaration
00003  * Ionetrics 2006
00004  * John Williams
00005  * TriggerMode.h
00006  *---------------------------------------------------------------------------*/
00007 
00008 #ifndef TRIGGERMODE_H
00009 #define TRIGGERMODE_H
00010 
00011 //-----------------------------------------------------------------------------
00012 
00013 #include <string>
00014 #include <vector>
00015 
00016 #include "AnnotatorCommApi.h"
00017 
00018 using namespace std;
00019 
00020 //-----------------------------------------------------------------------------
00021 
00022 namespace annotatorcomm
00023 {
00024         
00025 namespace annotatorjr
00026 {
00027 
00031 class ANNCOMM_API TriggerMode
00032 {
00033 public:
00034         static const TriggerMode TTL_RISING;
00035         static const TriggerMode TTL_FALLING;
00036         static const TriggerMode LVTTL_RISING;
00037         static const TriggerMode LVTTL_FALLING;
00038         static const TriggerMode SWITCH_CLOSE;
00039         static const TriggerMode SWITCH_OPEN;
00040         
00046         static vector<const TriggerMode*> values();
00047 
00048 public:
00054         uint16_t getMode() const;
00055         
00061         string toString() const;
00062 
00063 private:
00067         uint8_t mode;
00068         
00072         string name;
00073         
00080         TriggerMode(const uint8_t mode, const string & name);
00081 };
00082 
00090 ANNCOMM_API ostream& operator<<(ostream& out, const TriggerMode & mode);
00091 
00092 }
00093 
00094 }
00095 
00096 //-----------------------------------------------------------------------------
00097 
00098 #endif /* TRIGGERMODE_H */

Generated on Tue Aug 1 11:14:11 2006 for libAnnotatorComm by  doxygen 1.4.7