2016-03-19 12:02:28 -07:00
|
|
|
#pragma once
|
2007-12-17 04:08:46 +00:00
|
|
|
|
|
|
|
#include "zip/ZipFile.h"
|
|
|
|
#include "uint128.h"
|
|
|
|
#include <map>
|
|
|
|
|
2009-10-12 00:06:24 +00:00
|
|
|
class CRegisterStateFile : public Framework::CZipFile
|
2007-12-17 04:08:46 +00:00
|
|
|
{
|
|
|
|
public:
|
2018-04-30 21:01:23 +01:00
|
|
|
CRegisterStateFile(const char*);
|
|
|
|
CRegisterStateFile(Framework::CStream&);
|
|
|
|
virtual ~CRegisterStateFile();
|
2007-12-17 04:08:46 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
void SetRegister32(const char*, uint32);
|
|
|
|
void SetRegister64(const char*, uint64);
|
|
|
|
void SetRegister128(const char*, uint128);
|
2007-12-17 04:08:46 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
uint32 GetRegister32(const char*) const;
|
|
|
|
uint64 GetRegister64(const char*) const;
|
|
|
|
uint128 GetRegister128(const char*) const;
|
2007-12-17 04:08:46 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
void Read(Framework::CStream&);
|
|
|
|
void Write(Framework::CStream&) override;
|
2007-12-17 04:08:46 +00:00
|
|
|
|
|
|
|
private:
|
2012-09-04 23:53:34 +00:00
|
|
|
typedef std::pair<uint8, uint128> Register;
|
|
|
|
typedef std::map<std::string, Register> RegisterList;
|
2007-12-17 04:08:46 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
RegisterList m_registers;
|
2007-12-17 04:08:46 +00:00
|
|
|
};
|