00001 00024 #ifndef INC_SPATMOD_IMAGESOURCEFILE_H 00025 #define INC_SPATMOD_IMAGESOURCEFILE_H 00026 00027 #ifndef INC_SPATMOD_IMAGESOURCE_H 00028 #include <spatmod/imagesource.h> 00029 #endif 00030 00031 #ifndef INC_MI32_FILEPATH_H 00032 #include <mi32/filepath.h> 00033 #endif 00034 00035 namespace SPATMOD { 00036 namespace IMAGE { 00037 00038 //===================================================================================================================== 00039 00041 class SOURCE_FILE : public SOURCE { 00042 public: 00043 00045 const FILEPATH& GetFilePath ( 00046 ) const { return (m_FilePath); } 00047 00049 const SIMPLE_ARRAY<UINT8>& GetMemBuffer ( 00050 ) const { return (m_MemBuffer); } 00051 00054 bool ReadGeoreference (); 00055 00056 protected: 00057 00059 explicit SOURCE_FILE ( 00060 const FILEPATH& FilePath 00061 ); 00062 00065 explicit SOURCE_FILE ( 00066 SIMPLE_ARRAY<UINT8>& MemBuffer 00067 ); 00068 00071 SOURCE_FILE ( 00072 UINT8*& MemBuffer, 00073 UINT32 BufferSize 00074 ); 00075 00077 virtual ~SOURCE_FILE (); 00078 00081 SIMPLE_ARRAY<UINT8>& GetMemBuffer ( 00082 ) { return (m_MemBuffer); } 00083 00086 ERRVALUE SaveMemBufferToTempFile ( 00087 const char *extn = "tmp" 00088 ); 00089 00090 private: 00091 #ifndef GENERATING_DOXYGEN_OUTPUT 00092 FILEPATH m_FilePath; 00093 SIMPLE_ARRAY<UINT8> m_MemBuffer; 00094 bool m_DeleteFileOnClose; 00095 00096 // Unimplemented 00097 SOURCE_FILE (const SOURCE_FILE&); 00098 SOURCE_FILE& operator= (const SOURCE_FILE&); 00099 #endif // GENERATING_DOXYGEN_OUTPUT 00100 00101 }; 00102 00103 //===================================================================================================================== 00104 00105 } // End namespace IMAGE 00106 } // End namespace SPATMOD 00107 00108 #endif // INC_SPATMOD_IMAGESOURCEFILE_H 00109
1.6.1