00001 #ifndef gBSTREAM_ETC_X_H 00002 #define gBSTREAM_ETC_X_H 00003 00004 #include "gstring.h" 00005 //////////////////////////////////////////////////////////// 00006 struct sFileStreamCtrl { 00007 sFileStreamCtrl () ; 00008 sFileStreamCtrl (gString& aName) ; 00009 ~sFileStreamCtrl () ; 00010 00011 FILE* f; 00012 gString sAutoName; 00013 gString sName; 00014 00015 bool IsAutoNamed () { 00016 return sAutoName.IsEmpty()==false; 00017 } 00018 00019 bool IsOpened () { 00020 // Returns true if the stream (not stdXXX!) is opened 00021 return f!=nil && f!=stdout && f!=stderr; 00022 } 00023 00024 bool DoClose () { 00025 if ( IsOpened()==false ) return false; 00026 fclose( f ); 00027 f = nil; 00028 return true; 00029 } 00030 00031 bool DoRemove (gString& sName) { 00032 int error; 00033 if ( sName.IsEmpty() ) return false; 00034 error = remove( sName.Str() )!=0; 00035 DBGPRINT("DBG: Removed file: %s (%d)\n",sName.Str(),error); 00036 return error==0; 00037 } 00038 }; 00039 //////////////////////////////////////////////////////////// 00040 #endif //gBSTREAM_ETC_X_H 00041