00001 #ifndef _SonarFileRecordFactory_h 00002 #define _SonarFileRecordFactory_h 00003 //============================================================================== 00004 // $Id: SonarFileRecordFactory.h,v 1.5 2003/02/26 06:47:49 pfb Exp $ 00005 //============================================================================== 00006 00007 #include <Common/File/SystemRecord.h> 00008 #include <Common/Utility/Misc/Go.h> 00009 #include <Common/Utility/SmartPointer/SmartPointer.h> 00010 00011 #include <ace/ACE.h> 00012 #include <ace/FILE_IO.h> 00013 #include <ace/FILE_Connector.h> 00014 00028 class SonarFileRecordFactory : public Go 00029 { 00030 //============================================================================ 00031 public: 00032 00037 SonarFileRecordFactory::SonarFileRecordFactory(const LPCTSTR &fqfn); 00038 00042 ~SonarFileRecordFactory(); 00043 00050 virtual SmartPointer<SystemRecord> record() = 0; 00051 00058 virtual bool operator++() = 0; 00059 00064 bool eof() const; 00065 00070 LPCTSTR fileName() const; 00071 00072 //============================================================================ 00073 protected: 00074 00075 ACE_FILE_IO _file; 00076 off_t _record_position; 00077 bool _eof; 00078 00079 //============================================================================ 00080 private: 00081 00085 SonarFileRecordFactory::SonarFileRecordFactory(const SonarFileRecordFactory&); 00086 SonarFileRecordFactory& operator=(const SonarFileRecordFactory&); 00087 00088 LPCTSTR _filename; 00089 00090 }; 00091 00092 //============================================================================== 00093 // 00094 // $Log: SonarFileRecordFactory.h,v $ 00095 // Revision 1.5 2003/02/26 06:47:49 pfb 00096 // Work over of the guard defines. 00097 // 00098 // Revision 1.4 2000/05/08 06:09:02 pfb 00099 // Changed return type of the record() member function from SystemRecord& to 00100 // SmartPointer<SystemRecord>. 00101 // 00102 // Revision 1.3 2000/05/01 05:43:57 pfb 00103 // Fixed short comment. 00104 // 00105 // Revision 1.2 2000/04/25 05:31:15 pfb 00106 // Added fileName() member function. 00107 // 00108 // Revision 1.1 2000/04/18 06:51:22 pfb 00109 // Moved file to new category 00110 // 00111 // Revision 1.4 2000/03/26 12:17:50 pfb 00112 // Changed lov of Go.h 00113 // 00114 // Revision 1.3 2000/03/18 12:25:09 pfb 00115 // Correct ctor comment. 00116 // 00117 // Revision 1.2 2000/03/18 10:03:49 pfb 00118 // Corrected spelling in comment. 00119 // 00120 // Revision 1.1 2000/03/16 11:16:03 pfb 00121 // Initial revision 00122 // 00123 // 00124 //============================================================================== 00125 00126 #endif