// ============================================================================ // $Id$ // $Name$ // ============================================================================ #ifndef __TSOFTWARECLOCKMODULE_HH #define __TSOFTWARECLOCKMODULE_HH #include "TGlobals.hh" #include "TSoftwareModule.hh" class TDataSegment; class TDataElement; class TSoftwareClockModule : public TSoftwareModule { public: enum { tPastTimeSice1970, tCompleteTime, tCompleteTimeFormat, tLocalYear, tLocalMonth, tLocalDate, tLocalDay, tLocalHour, tLocalMinute, tLocalSecond, tLocalTimeZone, tNumberOfChannels }; private: enum { tMaxStringLength = 256 }; private: Tint thePastTimeSice1970; Tstring theCompleteTime; static Tstring theCompleteTimeFormat; Tstring theLocalYear; Tstring theLocalMonth; Tstring theLocalDate; Tstring theLocalDay; Tstring theLocalHour; Tstring theLocalMinute; Tstring theLocalSecond; Tstring theLocalTimeZone; public: TSoftwareClockModule( Tint nchannel = tNumberOfChannels, Tint id = tIDunknown ); ~TSoftwareClockModule(); public: Tint Clear(); Tint Update(); Tint Initialize(); Tvoid FillData( TDataSegment* seg ); Tvoid FillData( TDataElement* ele ); Tvoid Print( Tostream& tos = Tstd::Tcout ) const; public: inline Tint GetPastTimeSice1970() const; inline const Tstring& GetCompleteTime() const; inline const Tstring& GetLocalYear() const; inline const Tstring& GetLocalMonth() const; inline const Tstring& GetLocalDate() const; inline const Tstring& GetLocalDay() const; inline const Tstring& GetLocalHour() const; inline const Tstring& GetLocalMinute() const; inline const Tstring& GetLocalSecond() const; inline const Tstring& GetLocalTimeZone() const; inline Tvoid SetPastTimeSice1970( Tint pasttime ); inline Tvoid SetCompleteTime( const Tstring& time ); inline Tvoid SetLocalYear( const Tstring& year ); inline Tvoid SetLocalMonth( const Tstring& month ); inline Tvoid SetLocalDate( const Tstring& date ); inline Tvoid SetLocalDay( const Tstring& day ); inline Tvoid SetLocalHour( const Tstring& hour ); inline Tvoid SetLocalMinute( const Tstring& minute ); inline Tvoid SetLocalSecond( const Tstring& second ); inline Tvoid SetLocalTimeZone( const Tstring& zone ); public: inline static const Tstring& GetCompleteTimeFormat(); inline static Tvoid SetCompleteTimeFormat( const Tstring& format ); private: Tvoid setCurrentTime(); const Tstring& getStringData( Tint channel ) const; }; inline const Tstring& TSoftwareClockModule::GetCompleteTimeFormat() { return( TSoftwareClockModule::theCompleteTimeFormat ); } inline Tvoid TSoftwareClockModule::SetCompleteTimeFormat( const Tstring& format ) { TSoftwareClockModule::theCompleteTimeFormat = format; return; } inline Tint TSoftwareClockModule::GetPastTimeSice1970() const { return( thePastTimeSice1970 ); } inline const Tstring& TSoftwareClockModule::GetCompleteTime() const { return( theCompleteTime ); } inline const Tstring& TSoftwareClockModule::GetLocalYear() const { return( theLocalYear ); } inline const Tstring& TSoftwareClockModule::GetLocalMonth() const { return( theLocalMonth ); } inline const Tstring& TSoftwareClockModule::GetLocalDate() const { return( theLocalDate ); } inline const Tstring& TSoftwareClockModule::GetLocalDay() const { return( theLocalDay ); } inline const Tstring& TSoftwareClockModule::GetLocalHour() const { return( theLocalHour ); } inline const Tstring& TSoftwareClockModule::GetLocalMinute() const { return( theLocalMinute ); } inline const Tstring& TSoftwareClockModule::GetLocalSecond() const { return( theLocalSecond ); } inline const Tstring& TSoftwareClockModule::GetLocalTimeZone() const { return( theLocalTimeZone ); } inline Tvoid TSoftwareClockModule::SetPastTimeSice1970( Tint pasttime ) { thePastTimeSice1970 = pasttime; return; } inline Tvoid TSoftwareClockModule::SetCompleteTime( const Tstring& time ) { theCompleteTime = time; return; } inline Tvoid TSoftwareClockModule::SetLocalYear( const Tstring& year ) { theLocalYear = year; return; } inline Tvoid TSoftwareClockModule::SetLocalMonth( const Tstring& month ) { theLocalMonth = month; return; } inline Tvoid TSoftwareClockModule::SetLocalDate( const Tstring& date ) { theLocalDate = date; return; } inline Tvoid TSoftwareClockModule::SetLocalDay( const Tstring& day ) { theLocalDay = day; return; } inline Tvoid TSoftwareClockModule::SetLocalHour( const Tstring& hour ) { theLocalHour = hour; return; } inline Tvoid TSoftwareClockModule::SetLocalMinute( const Tstring& minute ) { theLocalMinute = minute; return; } inline Tvoid TSoftwareClockModule::SetLocalSecond( const Tstring& second ) { theLocalSecond = second; return; } inline Tvoid TSoftwareClockModule::SetLocalTimeZone( const Tstring& zone ) { theLocalTimeZone = zone; return; } #endif