mirror of
https://github.com/zeldaret/tp
synced 2026-08-08 10:34:08 -04:00
Types and functions for JKRThread, JKRFile, JKRDvdFile, JKRFileCache... (#17)
* Added JSUListIterator and decompiled JKRHeap::dispose_subroutine * JKRDisposer! * only 4 functions not OK in JKRHeap * JKRThread asm functions * more JKRThread * JKRThreadSwitch * JKRThread::JKRThread * More JKRTHread functions and vtable * fixed bad merge * update JKRThread and JKRThreadSwitch to use new virtual inheritance * save before asmsplit.py script * JKRFile * JKRDvdFile * JKRFileCache * JKRFileFinder * JKRFileLoader * JKRAssertHeap * JKRExpHeap * JKRSolidHeap * fixed type and functions definitions * JKRArchive (Pub) * missed file * JKRArchive * forgot obj_files.mk * fixed merge error and class members * class members * removed unused asm files * added names to global variables * class members for JKRHeap, JKRExpHeap, JKRSolidHeap, and JKRFileCache.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#ifndef __JKRFILELOADER_H__
|
||||
#define __JKRFILELOADER_H__
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
|
||||
|
||||
class JKRFileLoader : public JKRDisposer {
|
||||
public:
|
||||
JKRFileLoader(void);
|
||||
virtual ~JKRFileLoader();
|
||||
|
||||
virtual void unmount(void);
|
||||
virtual void becomeCurrent(char const*) = 0;
|
||||
virtual void getResource(char const*) = 0;
|
||||
virtual void getResource(u32, char const*) = 0;
|
||||
virtual void readResource(void*, u32, char const*) = 0;
|
||||
virtual void readResource(void*, u32, u32, char const*) = 0;
|
||||
virtual void removeResourceAll(void) = 0;
|
||||
virtual void removeResource(void*) = 0;
|
||||
virtual void detachResource(void*) = 0;
|
||||
virtual void getResSize(void const*) const = 0;
|
||||
virtual void countFile(char const*) const = 0;
|
||||
virtual void getFirstFile(char const*) const = 0;
|
||||
|
||||
bool isMounted() {
|
||||
return this->mIsMounted;
|
||||
}
|
||||
|
||||
u32 getVolumeType() {
|
||||
return this->mVolumeType;
|
||||
}
|
||||
|
||||
static void* getGlbResource(char const*);
|
||||
static void* getGlbResource(char const*, JKRFileLoader*);
|
||||
static bool removeResource(void*, JKRFileLoader*);
|
||||
static bool detachResource(void*, JKRFileLoader*);
|
||||
static JKRFileLoader* findVolume(char const**);
|
||||
static char* fetchVolumeName(char*, long, char const*);
|
||||
|
||||
private:
|
||||
JSULink<JKRFileLoader> mFileLoaderLink;
|
||||
char* mVolumeName;
|
||||
u32 mVolumeType;
|
||||
bool mIsMounted;
|
||||
u8 padding_0x31[3];
|
||||
int mMountCount;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user