File.h 812 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef FILE_H
  2. #define FILE_H
  3. #include <OgreString.h>
  4. #include "common/TypeDefine.h"
  5. class File
  6. {
  7. public:
  8. File( const Ogre::String& file );
  9. File( const File* pFile );
  10. File( const File* pFile, u32 offset, u32 length );
  11. File( const u8* pBuffer, u32 offset, u32 length );
  12. virtual ~File();
  13. void WriteFile( const Ogre::String& file ) const;
  14. const Ogre::String& GetFileName() const;
  15. u32 GetFileSize() const;
  16. void GetFileBuffer( u8* pBuffer, const u32 &start, const u32 &length ) const;
  17. u8 GetU8( u32 offset ) const;
  18. u16 GetU16LE( u32 offset ) const;
  19. u32 GetU32LE( u32 offset ) const;
  20. u8 readU8();
  21. u16 readU16LE();
  22. u32 readU32LE();
  23. protected:
  24. Ogre::String m_FileName;
  25. u32 m_offset;
  26. u8* m_Buffer;
  27. u32 m_BufferSize;
  28. };
  29. #endif // FILE_H