mirror of https://github.com/zeldaret/tp.git
55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
#ifndef JSUINPUTSTREAM_H
|
|
#define JSUINPUTSTREAM_H
|
|
|
|
#include "JSystem/JSupport/JSUIosBase.h"
|
|
#include "dolphin/types.h"
|
|
|
|
enum JSUStreamSeekFrom {
|
|
JSUStreamSeekFrom_SET = 0, // absolute
|
|
JSUStreamSeekFrom_CUR = 1, // relative
|
|
JSUStreamSeekFrom_END = 2, // relative to end
|
|
};
|
|
|
|
class JSUInputStream : public JSUIosBase {
|
|
public:
|
|
JSUInputStream() {}
|
|
virtual ~JSUInputStream();
|
|
|
|
/* vt[3] */ virtual s32 getAvailable() const = 0;
|
|
/* vt[4] */ virtual s32 skip(s32);
|
|
/* vt[5] */ virtual u32 readData(void*, s32) = 0;
|
|
|
|
u32 read32b() {
|
|
u32 val;
|
|
this->read(&val, sizeof(val));
|
|
return val;
|
|
}
|
|
|
|
s16 readS16() {
|
|
s16 val;
|
|
this->read(&val, sizeof(val));
|
|
return val;
|
|
}
|
|
|
|
u16 readU16() {
|
|
u16 val;
|
|
this->read(&val, sizeof(val));
|
|
return val;
|
|
}
|
|
|
|
u8 readU8() {
|
|
u8 val;
|
|
this->read(&val, sizeof(val));
|
|
return val;
|
|
}
|
|
|
|
// TODO: return value probably wrong
|
|
/* 802DC298 */ s32 read(void*, s32);
|
|
}; // Size = 0x8
|
|
|
|
// move?
|
|
template <typename T>
|
|
T* JSUConvertOffsetToPtr(const void*, const void*);
|
|
|
|
#endif /* JSUINPUTSTREAM_H */
|