Play-/Source/iop/Iop_Module.h

31 lines
653 B
C
Raw Permalink Normal View History

2016-01-12 00:29:04 -05:00
#pragma once
#include <string>
#include <memory>
#include "../MIPS.h"
namespace Framework
{
class CZipArchiveWriter;
class CZipArchiveReader;
};
namespace Iop
{
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;
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);
};
typedef std::shared_ptr<CModule> ModulePtr;
};