2016-01-12 00:29:04 -05:00
|
|
|
#pragma once
|
2008-01-15 20:27:44 +00:00
|
|
|
|
|
|
|
#include <string>
|
2016-01-13 22:18:10 -05:00
|
|
|
#include <memory>
|
2008-01-15 20:27:44 +00:00
|
|
|
#include "../MIPS.h"
|
|
|
|
|
2020-09-22 17:20:14 -04:00
|
|
|
namespace Framework
|
|
|
|
{
|
|
|
|
class CZipArchiveWriter;
|
|
|
|
class CZipArchiveReader;
|
|
|
|
};
|
|
|
|
|
2008-01-15 20:27:44 +00:00
|
|
|
namespace Iop
|
|
|
|
{
|
2013-02-24 05:09:00 +00:00
|
|
|
class CModule
|
|
|
|
{
|
|
|
|
public:
|
2018-04-30 21:01:23 +01:00
|
|
|
virtual ~CModule() = default;
|
|
|
|
virtual std::string GetId() const = 0;
|
|
|
|
virtual std::string GetFunctionName(unsigned int) const = 0;
|
|
|
|
virtual void Invoke(CMIPS&, unsigned int) = 0;
|
2008-01-15 20:27:44 +00:00
|
|
|
|
2020-09-22 17:20:14 -04:00
|
|
|
virtual void SaveState(Framework::CZipArchiveWriter&) const {};
|
|
|
|
virtual void LoadState(Framework::CZipArchiveReader&){};
|
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
static std::string PrintStringParameter(const uint8*, uint32);
|
2013-02-24 05:09:00 +00:00
|
|
|
};
|
2016-01-13 22:18:10 -05:00
|
|
|
|
|
|
|
typedef std::shared_ptr<CModule> ModulePtr;
|
2008-01-15 20:27:44 +00:00
|
|
|
};
|