Implement a factory for kernel objects.

Couldn't think of a better way to do this, maybe there's some fancy
one I don't know about.

Also finished up a couple left over kernel objects.

Maybe a quarter the way there?
This commit is contained in:
Unknown W. Brackets 2012-12-26 22:45:19 -08:00
parent d9efdf548b
commit 595759ef78
26 changed files with 304 additions and 17 deletions

View file

@ -117,13 +117,25 @@ public:
nm.entry_addr);
}
static u32 GetMissingErrorCode() { return SCE_KERNEL_ERROR_UNKNOWN_MODULE; }
int GetIDType() const { return 0; }
int GetIDType() const { return PPSSPP_KERNEL_TMID_Module; }
virtual void DoState(PointerWrap &p)
{
p.Do(nm);
p.Do(memoryBlockAddr);
p.DoMarker("Module");
}
NativeModule nm;
u32 memoryBlockAddr;
};
KernelObject *__KernelModuleObject()
{
return new Module;
}
//////////////////////////////////////////////////////////////////////////
// MODULES
//////////////////////////////////////////////////////////////////////////
@ -642,7 +654,7 @@ u32 sceKernelLoadModule(const char *name, u32 flags)
class AfterModuleEntryCall : public Action {
public:
AfterModuleEntryCall() {}
Module *module_;
SceUID moduleID_;
u32 retValAddr;
virtual void run();
};