2016-01-12 22:31:50 -05:00
|
|
|
#pragma once
|
2008-01-15 20:27:44 +00:00
|
|
|
|
|
|
|
#include "Iop_Module.h"
|
|
|
|
|
|
|
|
namespace Iop
|
|
|
|
{
|
2012-04-07 20:38:41 +00:00
|
|
|
class CDynamic : public CModule
|
|
|
|
{
|
|
|
|
public:
|
2024-07-22 12:54:35 -04:00
|
|
|
CDynamic(const uint32*);
|
2021-01-25 20:50:57 -05:00
|
|
|
virtual ~CDynamic() = default;
|
|
|
|
|
2024-07-22 12:54:35 -04:00
|
|
|
static std::string GetDynamicModuleName(const uint32*);
|
|
|
|
static uint32 GetDynamicModuleExportCount(const uint32*);
|
2008-01-15 20:27:44 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
std::string GetId() const override;
|
|
|
|
std::string GetFunctionName(unsigned int) const override;
|
|
|
|
void Invoke(CMIPS&, unsigned int) override;
|
2008-01-15 20:27:44 +00:00
|
|
|
|
2024-07-22 12:54:35 -04:00
|
|
|
const uint32* GetExportTable() const;
|
2021-02-19 17:28:10 -05:00
|
|
|
|
2012-04-07 20:38:41 +00:00
|
|
|
private:
|
2024-07-22 12:54:35 -04:00
|
|
|
const uint32* m_exportTable;
|
2018-04-30 21:01:23 +01:00
|
|
|
std::string m_name;
|
2024-07-22 12:54:35 -04:00
|
|
|
uint32 m_functionCount = 0;
|
2012-04-07 20:38:41 +00:00
|
|
|
};
|
2018-04-30 21:01:23 +01:00
|
|
|
|
2016-01-13 22:18:10 -05:00
|
|
|
typedef std::shared_ptr<CDynamic> DynamicPtr;
|
2008-01-15 20:27:44 +00:00
|
|
|
}
|