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

TInputObjectFileOnline.hh

解説を見る。
00001 // =====================================================================
00042 // =====================================================================
00043 #ifndef CLDAQ__TINPUTOBJECTFILEONLINE_HH
00044 #define CLDAQ__TINPUTOBJECTFILEONLINE_HH
00045 
00046 #include "Tglobals.h"
00047 #include "TInputObjectFile.hh"
00048 
00049 class TStreamableObject;
00050 class TDataRecord;
00051 class TDataSection;
00052 class TDataSegment;
00053 class TDataElement;
00054 class TObjectFilter;
00055 class TInputObjectFilter;
00056 
00057 
00077 class TInputObjectFileOnline
00078   : public TInputObjectFile
00079 {
00080 
00081   private:
00082     enum { DEFAULT = 10 * 1000 };  // 10ms
00083 
00084   private:
00085     Tint theMicroSleepTime;
00086 
00087   public:
00088     TInputObjectFileOnline( const Tstring& filename, const Tstring& mode = "r", Tint utime = DEFAULT );
00089     TInputObjectFileOnline( TInputObjectFilter* filter, const Tstring& filename, const Tstring& mode = "r", Tint utime = DEFAULT );
00090     ~TInputObjectFileOnline();
00091 
00092   public:
00093     Tint Read( TStreamableObject& object );
00094 
00095   public:
00096     Tint GetMicroSleepTime() const;
00097     Tvoid SetMicroSleepTime( Tint utime );
00098     Tbool IsSleep() const;
00099     Tvoid MicroSleep() const;
00100 
00101 #ifdef __CLDAQ_ROOT_DLL
00102     ClassDef(TInputObjectFileOnline,0)
00103 #endif
00104 
00105 };
00106 
00107 inline Tint TInputObjectFileOnline::GetMicroSleepTime() const
00108 {
00109   return theMicroSleepTime;
00110 }
00111 
00112 inline Tvoid TInputObjectFileOnline::SetMicroSleepTime( Tint utime )
00113 {
00114   theMicroSleepTime = utime;
00115   return;
00116 }
00117 
00118 inline Tbool TInputObjectFileOnline::IsSleep() const
00119 {
00120   return ( theMicroSleepTime > 0 );
00121 }
00122 
00123 inline Tvoid TInputObjectFileOnline::MicroSleep() const
00124 {
00125   if ( IsSleep() ) {
00126     usleep( theMicroSleepTime );
00127   }
00128   return;
00129 }
00130 
00131 #endif

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