00001 /**** 00002 * \file mi32/filetext.h 00003 * \brief Definitions for FILE_TEXT class. 00004 * 00005 * \if NODOC 00006 * $Id: filetext.h_v 1.9 2011/10/13 12:44:20 mju Exp $ 00007 * 00008 * $Log: filetext.h_v $ 00009 * Revision 1.9 2011/10/13 12:44:20 mju 00010 * Remove redundant hdrs. 00011 * 00012 * Revision 1.8 2007/01/12 16:45:00 dwilliss 00013 * Changed default encoding to UTF8, not ASCII 00014 * 00015 * Revision 1.6 2005/03/04 23:35:53 dfriberg 00016 * Detect new line type if possible 00017 * 00018 * Revision 1.1 2004/10/18 16:29:17 dfriberg 00019 * Initial revision 00020 * 00021 * \endif 00022 ****/ 00023 00024 #ifndef INC_MI32_FILETEXT_H 00025 #define INC_MI32_FILETEXT_H 00026 00027 #ifndef INC_MI32_GENRCRWTXT_H 00028 #include <mi32/genrcrwtxt.h> 00029 #endif 00030 00031 #ifdef MISYSTEMDLL 00032 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT 00033 #else 00034 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT 00035 #endif 00036 00037 #ifndef GENERATING_DOXYGEN_OUTPUT 00038 class FILEPATH; 00039 class MISTRING; 00040 class STRUTF8; 00041 #endif 00042 00053 class CLASSLIBEXPORT FILE_TEXT : public GENERICRW_TEXT { 00054 public: 00055 00056 #ifndef GENERATING_DOXYGEN_OUTPUT 00057 class PRIV; 00058 #endif 00059 00061 FILE_TEXT ( 00062 ); 00063 00065 virtual ~FILE_TEXT ( 00066 ); 00067 00069 void Close ( 00070 ); 00071 00073 INT64 GetApproxFilePos() const; 00074 00076 bool IsOpen ( 00077 ) const; 00078 00081 ERRVALUE Open ( 00082 const FILEPATH& filepath, 00083 FILE_ACCESS access = FILE_ACCESS_Read, 00084 CHAR_ENCODING encoding = CHAR_ENCODING_UTF8 00085 ); 00086 00087 private: 00088 00089 #ifndef GENERATING_DOXYGEN_OUTPUT 00090 PRIV *m_pPriv; 00091 #endif 00092 00094 virtual INT64 v_GetSize() const; 00095 00097 virtual INT64 v_Read(void *buf, INT32 numbytes, bool AllowPartial); 00098 00100 virtual ERRVALUE v_Write(const void *buffer, INT32 numbytes); 00101 00103 virtual INT64 v_Seek( 00104 INT64 offset, 00105 GENERICRW::SEEKFROM from = GENERICRW::SEEKFROM_Beginning); 00106 00108 virtual INT64 v_Tell() const; 00109 00111 virtual GENERICRW_TEXT::CAPABILITIES v_GetCapabilities(); 00112 00113 FILE_TEXT (const FILE_TEXT&); 00114 FILE_TEXT& operator= (const FILE_TEXT&); 00115 }; 00116 00117 #endif // INC_MI32_FILETEXT_H 00118
1.6.1