00001
00002
00003
00004
00005
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