00001 // Copyright CERN 2012 - Developed in collaboration with GSI 00002 00003 #ifndef _TIMING_CONTEXT_H_ 00004 #define _TIMING_CONTEXT_H_ 00005 00006 #include <fesa-core/Synchronization/MultiplexingContext.h> 00007 00008 #include <string> 00009 00010 namespace fesa 00011 { 00012 00018 class TimingContext : public MultiplexingContext 00019 { 00020 public: 00021 00026 TimingContext(const std::string& cycleName); 00027 00031 TimingContext(std::istream& stream); 00032 00039 virtual int64_t getInterruptTimeStamp(); 00040 00047 virtual uint32_t getCycleTime(); 00048 00052 virtual ~TimingContext(); 00053 00054 protected: 00055 00059 TimingContext(); 00060 00061 }; 00062 00063 } // fesa 00064 00065 #endif // _TIMING_CONTEXT_H_