SonarFileRecordFactory.h

Go to the documentation of this file.
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