00001 // ===================================================================== 00002 // $Id: TOutputHtmlFileStream.hh,v 1.3 2003/07/30 16:21:21 goiwai Exp $ 00003 // $Name: CLDAQ-1-08-01 $ 00004 // 00005 // $Log: TOutputHtmlFileStream.hh,v $ 00006 // Revision 1.3 2003/07/30 16:21:21 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TOUTPUTHTMLFILESTREAM_HH 00011 #define __TOUTPUTHTMLFILESTREAM_HH 00012 00013 #include "Tglobals.h" 00014 00015 class TOutputHtmlFileStream 00016 : public Tofstream 00017 { 00018 00019 public: 00020 enum { 00021 fopen = 0x01, 00022 fclose = 0x02, 00023 otable = 0x04, 00024 ctable = 0x08, 00025 wheader = 0x10, 00026 wfooter = 0x20, 00027 title = 0x40 00028 }; 00029 00030 protected: 00031 Tint theStatus; 00032 Tstring theTitle; 00033 Tstring theFileName; 00034 00035 public: 00036 TOutputHtmlFileStream(); 00037 TOutputHtmlFileStream( const Tstring& filename ); 00038 TOutputHtmlFileStream( const Tstring& filename, const Tstring& title ); 00039 ~TOutputHtmlFileStream(); 00040 00041 public: 00042 virtual TOutputHtmlFileStream& WriteHeader(); 00043 virtual TOutputHtmlFileStream& WriteFooter(); 00044 virtual TOutputHtmlFileStream& OpenTable(); 00045 virtual TOutputHtmlFileStream& CloseTable(); 00046 00047 public: 00048 Tbool IsOpen() const; 00049 Tbool IsClose() const; 00050 Tbool IsOpenTable() const; 00051 Tbool IsCloseTable() const; 00052 Tbool IsWrittenHeader() const; 00053 Tbool IsWrittenFooter() const; 00054 Tbool HasTitle() const; 00055 00056 public: 00057 const Tstring& GetTitle() const; 00058 Tint GetStatus() const; 00059 const Tstring& GetFileName() const; 00060 Tvoid SetTitle( const Tstring& title ); 00061 Tvoid SetStatus( Tint status ); 00062 00063 public: 00064 Tvoid Open( const Tstring& filename ); 00065 Tvoid Open( const Tstring& filename, const Tstring& title ); 00066 Tvoid Close(); 00067 00068 protected: 00069 Tint setStatusBit( Tint status ); 00070 Tint clearStatusBit( Tint status ); 00071 00072 }; 00073 00074 inline const Tstring& TOutputHtmlFileStream::GetTitle() const 00075 { 00076 return( theTitle ); 00077 } 00078 00079 inline Tint TOutputHtmlFileStream::GetStatus() const 00080 { 00081 return( theStatus ); 00082 } 00083 00084 inline const Tstring& TOutputHtmlFileStream::GetFileName() const 00085 { 00086 return( theFileName ); 00087 } 00088 00089 inline Tvoid TOutputHtmlFileStream::SetTitle( const Tstring& title ) 00090 { 00091 theTitle = title; 00092 setStatusBit( TOutputHtmlFileStream::title ); 00093 return; 00094 } 00095 00096 inline Tvoid TOutputHtmlFileStream::SetStatus( Tint status ) 00097 { 00098 theStatus = status; 00099 return; 00100 } 00101 00102 inline Tint TOutputHtmlFileStream::setStatusBit( Tint status ) 00103 { 00104 return( theStatus |= status ); 00105 } 00106 00107 inline Tint TOutputHtmlFileStream::clearStatusBit( Tint status ) 00108 { 00109 return( theStatus &= ~status ); 00110 } 00111 00112 inline Tbool TOutputHtmlFileStream::IsOpen() const 00113 { 00114 return( (Tbool)( theStatus & TOutputHtmlFileStream::fopen ) ); 00115 } 00116 00117 inline Tbool TOutputHtmlFileStream::IsClose() const 00118 { 00119 return( (Tbool)( theStatus & TOutputHtmlFileStream::fclose ) ); 00120 } 00121 00122 inline Tbool TOutputHtmlFileStream::IsOpenTable() const 00123 { 00124 return( (Tbool)( theStatus & TOutputHtmlFileStream::otable ) ); 00125 } 00126 00127 inline Tbool TOutputHtmlFileStream::IsCloseTable() const 00128 { 00129 return( (Tbool)( theStatus & TOutputHtmlFileStream::ctable ) ); 00130 } 00131 00132 inline Tbool TOutputHtmlFileStream::IsWrittenHeader() const 00133 { 00134 return( (Tbool)( theStatus & TOutputHtmlFileStream::wheader ) ); 00135 } 00136 00137 inline Tbool TOutputHtmlFileStream::IsWrittenFooter() const 00138 { 00139 return( (Tbool)( theStatus & TOutputHtmlFileStream::wfooter ) ); 00140 } 00141 00142 inline Tbool TOutputHtmlFileStream::HasTitle() const 00143 { 00144 return( (Tbool)( theStatus & TOutputHtmlFileStream::title ) ); 00145 } 00146 00147 #endif