Play-/Source/SifModuleAdapter.h

28 lines
622 B
C
Raw Normal View History

2014-10-15 03:22:14 -04:00
#pragma once
#include <functional>
#include "SifModule.h"
class CSifModuleAdapter : public CSifModule
{
public:
2018-04-30 21:01:23 +01:00
typedef std::function<bool(uint32, uint32*, uint32, uint32*, uint32, uint8*)> SifCommandHandler;
2024-02-22 08:43:21 -05:00
CSifModuleAdapter() = default;
2014-10-16 03:19:04 -04:00
CSifModuleAdapter(const SifCommandHandler& handler)
2018-04-30 21:01:23 +01:00
: m_handler(handler)
{
}
2018-04-30 21:01:23 +01:00
2024-02-22 08:43:21 -05:00
virtual ~CSifModuleAdapter() = default;
2024-02-22 08:43:21 -05:00
bool Invoke(uint32 method, uint32* args, uint32 argsSize, uint32* ret, uint32 retSize, uint8* ram) override
{
return m_handler(method, args, argsSize, ret, retSize, ram);
}
private:
SifCommandHandler m_handler;
};