#ifndef __NCPDBREADER_H__ #define __NCPDBREADER_H__ #include "inc/basictypes.h" #include "mpshared/pdbreader.h" #include "mpshared/decompress.h" #include "mpshared/packfile.h" namespace wi { // // Reads pdbs from memory // class NoCachePdbReader : public PdbReader { public: NoCachePdbReader(); ~NoCachePdbReader(); bool Open(const char *pszFn); virtual void Close(); virtual bool GetRecordSize(word nRec, word *pcb); virtual bool ReadRecord(word nRec, word n, word cb, void *pv); virtual byte *MapRecord(word nRec, void **ppvCookie, word *pcb = NULL); virtual void UnmapRecord(word nRec, void *pvCookie); private: bool GetRecordEntry(word nRec, int cRec, RecordEntryType *prece, dword *pcb); dword GetCompressionHeader(word nRec, CompressionHeader *pcoh); dword m_cb; byte *m_pb; word m_cRecs; word m_cMapped; }; } // namespace wi #endif // __NCPDBREADER_H__