mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 15:01:33 -04:00
JASHeapCtrl
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#ifndef JASHEAPCTRL_H
|
||||
#define JASHEAPCTRL_H
|
||||
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "dolphin/os/OSMutex.h"
|
||||
|
||||
namespace JASystem {
|
||||
namespace Kernel {
|
||||
class TDisposer {
|
||||
public:
|
||||
virtual void onDispose() {}
|
||||
};
|
||||
|
||||
class THeap {
|
||||
public:
|
||||
enum Type {
|
||||
Type0,
|
||||
Type1,
|
||||
};
|
||||
|
||||
THeap(TDisposer*);
|
||||
void initRootHeap(void*, u32, Type);
|
||||
bool alloc(THeap*, u32);
|
||||
bool free();
|
||||
void insertChild(THeap* param_1, THeap* param_2, void* param_3, u32 param_4, bool param_5);
|
||||
JASystem::Kernel::THeap* getTailHeap();
|
||||
u32 getTailOffset();
|
||||
u32 getCurOffset();
|
||||
|
||||
bool isAllocated() { return mBase; }
|
||||
|
||||
/* 0x00 */ JSUTree<THeap> mTree;
|
||||
/* 0x1C */ OSMutex mMutex;
|
||||
/* 0x34 */ TDisposer* mDisposer;
|
||||
/* 0x38 */ Type mType;
|
||||
/* 0x3C */ u8* mBase;
|
||||
/* 0x40 */ u32 mSize;
|
||||
/* 0x44 */ THeap* field_0x44;
|
||||
};
|
||||
|
||||
class TSolidHeap {
|
||||
public:
|
||||
TSolidHeap();
|
||||
~TSolidHeap() {}
|
||||
int alloc(long param_1);
|
||||
void freeAll();
|
||||
void init(u8* param_1, long param_2);
|
||||
int getRemain();
|
||||
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x08 */ int field_0x8;
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x10 */ int field_0x10;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* JASHEAPCTRL_H */
|
||||
@@ -212,7 +212,7 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
T& operator*() { return *this->getObject(); }
|
||||
T* operator*() { return this->getObject(); }
|
||||
|
||||
T* operator->() { return this->getObject(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user