00001
00002
00003
00004
00005
00006
00007
00008 #ifndef IRIGBTIMESTAMP_H
00009 #define IRIGBTIMESTAMP_H
00010
00011
00012
00013 #include <stdexcept>
00014 #include <vector>
00015
00016 #include "AnnotatorCommApi.h"
00017 #include "Timestamp.h"
00018
00019 using namespace std;
00020
00021
00022
00023 namespace annotatorcomm
00024 {
00025
00032 class ANNCOMM_API IrigBTimestamp : public Timestamp
00033 {
00034 public:
00038 static const unsigned int LENGTH;
00039
00043 static const unsigned int CONTROL_FUNCTION_BITS;
00044
00045 public:
00052 IrigBTimestamp(vector<uint8_t> timestamp);
00053
00057 virtual ~IrigBTimestamp();
00058
00064 virtual int getYear() const;
00065
00071 virtual int getDayOfYear() const;
00072
00078 virtual int getSBS() const;
00079
00085 virtual int getSecondOfDay() const;
00086
00092 virtual long getMicrosecond() const;
00093
00099 virtual int getHourOfDay() const;
00100
00106 virtual int getMinuteOfHour() const;
00107
00113 virtual int getSecondOfMinute() const;
00114
00121 virtual int getControlFunctions() const;
00122
00128 virtual string getFormattedControlFunctions() const;
00129
00135 virtual string getExtendedFormatTime() const;
00136
00144 virtual vector<uint8_t> getTimestampBytes() const;
00145
00146 private:
00150 const vector<uint8_t> timestamp;
00151 };
00152
00153 }
00154
00155
00156
00157 #endif