mirror of
https://github.com/spiffcode/hostile-takeover.git
synced 2025-12-23 06:57:23 +00:00
42 lines
895 B
C++
42 lines
895 B
C++
#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__
|