TimeSource.h

00001 /*-----------------------------------------------------------------------------
00002  * TimeSource declaration
00003  * Ionetrics 2006
00004  * John Williams
00005  * TimeSource.h
00006  *---------------------------------------------------------------------------*/
00007 
00008 #ifndef TIMESOURCE_H
00009 #define TIMESOURCE_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 
00028 class ANNCOMM_API TimeSource
00029 {
00030 public:
00031         static const TimeSource INTERNAL_CLOCK;
00032         static const TimeSource IRIG_A_AM;
00033         static const TimeSource IRIG_A_MANCHESTER;
00034         static const TimeSource IRIG_A_DC;
00035         static const TimeSource IRIG_B_AM;
00036         static const TimeSource IRIG_B_MANCHESTER;
00037         static const TimeSource IRIG_B_DC;
00038         static const TimeSource IRIG_D_AM;
00039         static const TimeSource IRIG_D_MANCHESTER;
00040         static const TimeSource IRIG_D_DC;
00041         static const TimeSource IRIG_E_AM;
00042         static const TimeSource IRIG_E_MANCHESTER;
00043         static const TimeSource IRIG_E_DC;
00044         static const TimeSource IRIG_G_AM;
00045         static const TimeSource IRIG_G_MANCHESTER;
00046         static const TimeSource IRIG_G_DC;
00047         static const TimeSource IRIG_H_AM;
00048         static const TimeSource IRIG_H_MANCHESTER;
00049         static const TimeSource IRIG_H_DC;
00050         static const TimeSource GPS;
00051         
00057         static vector<const TimeSource*> values();
00058 
00059 public:
00065         uint64_t getTimeSource() const;
00066         
00072         string toString() const;
00073 
00074 private:
00078         const uint64_t source;
00079         
00083         const string name;
00084         
00091         TimeSource(const uint64_t source, const string & name);
00092 };
00093 
00101 ANNCOMM_API ostream& operator<<(ostream& out, const TimeSource & source);
00102 
00103 }
00104 
00105 //-----------------------------------------------------------------------------
00106 
00107 #endif /* TIMESOURCE_H */

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