My Project
MemReadFile.h
1 #pragma once
2 #include "IFile.h"
3 
4 namespace ParaEngine
5 {
6  class CMemReadFile :
7  public IReadFile
8  {
9  public:
10  CMemReadFile(void);
11  CMemReadFile(const char * filename);
12  CMemReadFile(IReadFile* pFile, DWORD nSize);
13  /* zip buffer
14  * @param buffer:
15  * @param nSize: size in byte of the buffer
16  * @param bDeleteBuffer: true if the zip file will take the ownership of the buffer and will delete it on exit.
17  */
18  CMemReadFile(byte* buffer, DWORD nSize, bool bDeleteBuffer=true);
19 
20  virtual ~CMemReadFile(void);
21 
23  virtual DWORD read(void* buffer, DWORD sizeToRead);
24 
28  virtual bool seek(DWORD finalPos, bool relativeMovement = false);
29 
31  virtual DWORD getSize(){return m_CacheEndPos - m_CacheStartPos;};
32 
34  virtual bool isOpen(){return m_CacheData!=0;};
35 
37  virtual DWORD getPos(){return m_curPos;};
38 
40  virtual const char* getFileName(){return "MemReadFile";};
41 
43  virtual void Release(){delete this;};
44 
46  byte* getBuffer();
47  private:
48  DWORD m_CacheStartPos;
49  DWORD m_CacheEndPos;
50  DWORD m_curPos;
51  byte* m_CacheData;
52  bool m_bOwnBuffer;
53 
54  void Unload();
55  };
56 
57 }
58 
virtual void Release()
delete this
Definition: MemReadFile.h:43
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual DWORD read(void *buffer, DWORD sizeToRead)
returns how much was read
Definition: MemReadFile.cpp:79
virtual DWORD getPos()
returns where in the file we are.
Definition: MemReadFile.h:37
virtual DWORD getSize()
returns size of file
Definition: MemReadFile.h:31
virtual bool seek(DWORD finalPos, bool relativeMovement=false)
changes position in file, returns true if successful if relativeMovement==true, the pos is changed re...
Definition: MemReadFile.cpp:104
virtual const char * getFileName()
returns name of file
Definition: MemReadFile.h:40
virtual bool isOpen()
returns if file is open
Definition: MemReadFile.h:34
byte * getBuffer()
get the buffer at current location
Definition: MemReadFile.cpp:93
Definition: MemReadFile.h:6
Interface for read access to a file.
Definition: IFile.h:8