メインページ   モジュール   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ  

TSoftwareClockModule.hh

解説を見る。
00001 // =====================================================================
00002 //  $Id: TSoftwareClockModule.hh,v 1.3 2003/07/30 16:19:11 goiwai Exp $
00003 //  $Name: CLDAQ-1-07-00 $
00004 //
00005 //  $Log: TSoftwareClockModule.hh,v $
00006 //  Revision 1.3  2003/07/30 16:19:11  goiwai
00007 //  ファイルにコミットログをつけることにしました.
00008 //
00009 // =====================================================================
00010 #ifndef __TSOFTWARECLOCKMODULE_HH
00011 #define __TSOFTWARECLOCKMODULE_HH
00012 
00013 #include "Tglobals.h"
00014 #include "TSoftwareModule.hh"
00015 #include "TSystemClock.hh"
00016 
00017 class TDataElement;
00018 class TSystemClock;
00019 
00020 class TSoftwareClockModule
00021   : public TSoftwareModule
00022 {
00023   public:
00024     enum { 
00025       tStringTime,
00026       tIntegerTime,
00027       tElapsedTimeOfLastInitialize,
00028       tElapsedTimeOfLastUpdate,
00029       tYear,
00030       tMonth,
00031       tDay,
00032       tHour,
00033       tMinute,
00034       tSecond,
00035       tNumberOfChannels
00036     };
00037 
00038   private:
00039     TSystemClock theSystemClock;
00040 
00041   public:
00042     TSoftwareClockModule( Tint nchannel = tNumberOfChannels );
00043     TSoftwareClockModule( const TSoftwareClockModule& right );
00044     ~TSoftwareClockModule();
00045 
00046   public:
00047     const TSoftwareClockModule& operator=( const TSoftwareClockModule& right );
00048     Tbool operator==( const TSoftwareClockModule& right ) const;
00049     Tbool operator!=( const TSoftwareClockModule& right ) const;
00050 
00051   public:
00052     Tint Clear();
00053     Tint Update();
00054     Tint Initialize();
00055     Tvoid FillData( TDataElement& element, Tint channel );
00056 
00057   public:
00058     const TSystemClock& GetSystemClock() const;
00059     TSystemClock& GetSystemClock();
00060     Tvoid SetSystemClock( const TSystemClock& clock );
00061 
00062   public:
00063     Tstring GetStringTime();
00064     Tint GetIntegerTime();
00065     Tstring WhatTimeIsItNow();
00066     Tstring WhatTimeIsIt( Tint second = -1 );
00067     Tint GetElapsedTimeOfLastInitialize( const Tstring& unit = Tsec );
00068     Tint GetElapsedTimeOfLastUpdate( const Tstring& unit = Tsec );
00069     Tint GetYear();
00070     Tint GetMonth();
00071     Tint GetDay();
00072     Tint GetHour();
00073     Tint GetMinute();
00074     Tint GetSecond();
00075 
00076 };
00077 
00078 inline const TSystemClock& TSoftwareClockModule::GetSystemClock() const
00079 {
00080   return( theSystemClock );
00081 }
00082 
00083 inline TSystemClock& TSoftwareClockModule::GetSystemClock()
00084 {
00085   return( theSystemClock );
00086 }
00087 
00088 inline Tvoid TSoftwareClockModule::SetSystemClock( const TSystemClock& clock )
00089 {
00090   theSystemClock = clock;
00091   return;
00092 }
00093 
00094 inline Tstring TSoftwareClockModule::GetStringTime()
00095 {
00096   return( theSystemClock.WhatTimeIsItNow() );
00097 }
00098 
00099 inline Tint TSoftwareClockModule::GetIntegerTime()
00100 {
00101   theSystemClock.Update();
00102   return( theSystemClock.GetTime() );
00103 }
00104 
00105 inline Tstring TSoftwareClockModule::WhatTimeIsItNow()
00106 {
00107   return( theSystemClock.WhatTimeIsItNow() );
00108 }
00109 
00110 inline Tstring TSoftwareClockModule::WhatTimeIsIt( Tint second )
00111 {
00112   return( theSystemClock.WhatTimeIsIt( second ) );
00113 }
00114 
00115 inline Tint TSoftwareClockModule::GetYear()
00116 {
00117   return( theSystemClock.GetYear() );
00118 }
00119 
00120 inline Tint TSoftwareClockModule::GetMonth()
00121 {
00122   return( theSystemClock.GetMonth() );
00123 }
00124 
00125 inline Tint TSoftwareClockModule::GetDay()
00126 {
00127   return( theSystemClock.GetDay() );
00128 }
00129 
00130 inline Tint TSoftwareClockModule::GetHour()
00131 {
00132   return( theSystemClock.GetHour() );
00133 }
00134 
00135 inline Tint TSoftwareClockModule::GetMinute()
00136 {
00137   return( theSystemClock.GetMinute() );
00138 }
00139 
00140 inline Tint TSoftwareClockModule::GetSecond()
00141 {
00142   return( theSystemClock.GetSecond() );
00143 }
00144 
00145 inline Tint TSoftwareClockModule::GetElapsedTimeOfLastInitialize( const Tstring& unit )
00146 {
00147   return( theSystemClock.GetElapsedTime( unit ) );
00148 }
00149 
00150 inline Tint TSoftwareClockModule::GetElapsedTimeOfLastUpdate( const Tstring& unit )
00151 {
00152   return( theSystemClock.GetElapsedTimeOfLastUpdate( unit ) );
00153 }
00154 
00155 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.7.0)
Go IWAI <goiwai@users.sourceforge.jp>