Files
tp/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h
T
Jonathan Wase fb1217e3f9 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.
2020-12-05 12:45:10 -05:00

50 lines
1.6 KiB
C++

#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