Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
DvdFileStream.h
Go to the documentation of this file.
1#ifndef NW4HBM_UT_DVD_FILE_STREAM_H
2#define NW4HBM_UT_DVD_FILE_STREAM_H
3
4#include "FileStream.h"
5
6#include <revolution/dvd.h>
7
8namespace nw4hbm {
9 namespace ut {
10
11 class DvdFileStream : public FileStream {
12 public:
13 explicit DvdFileStream(s32 entrynum);
14 DvdFileStream(const DVDFileInfo* info, bool close);
15
17 /* 0x0C */ virtual ~DvdFileStream();
18 /* 0x10 */ virtual void Close();
19 /* 0x14 */ virtual s32 Read(void* pDst, u32 size);
20 /* 0x18 */ virtual bool ReadAsync(void* pDst, u32 size, IOStreamCallback pCallback,
21 void* pCallbackArg);
22 /* 0x24 */ virtual bool IsBusy() const { return mIsBusy; }
23 /* 0x28 */ virtual bool CanAsync() const { return true; }
24 /* 0x2C */ virtual bool CanRead() const { return true; }
25 /* 0x30 */ virtual bool CanWrite() const { return false; }
26 /* 0x34 */ virtual u32 GetOffsetAlign() const { return 4; }
27 /* 0x38 */ virtual u32 GetSizeAlign() const { return 32; }
28 /* 0x3C */ virtual u32 GetBufferAlign() const { return 32; }
29 /* 0x40 */ virtual u32 GetSize() const { return mFilePosition.GetFileSize(); }
30 /* 0x44 */ virtual void Seek(s32 offset, u32 origin);
31 /* 0x48 */ virtual void Cancel();
32 /* 0x4C */ virtual bool CancelAsync(IOStreamCallback pCallback, void* pCallbackArg);
33 /* 0x50 */ virtual bool CanSeek() const { return true; }
34 /* 0x54 */ virtual bool CanCancel() const { return true; }
35 /* 0x58 */ virtual u32 Tell() const { return mFilePosition.Tell(); }
36 /* 0x5C */ virtual s32 Peek(void* pDst, u32 size);
37 /* 0x60 */ virtual bool PeekAsync(void* pDst, u32 size, IOStreamCallback pCallback,
38 void* pCallbackArg);
39
40 bool Open(s32 entrynum);
41 bool Open(const DVDFileInfo* info, bool close);
42 void SetPriority(s32 priority) { mPriority = priority; }
43
44 private:
49
50 private:
51 static void DvdAsyncCallback_(s32 result, DVDFileInfo* info);
52 static void DvdCBAsyncCallback_(s32 result, DVDCommandBlock* pBlock);
53
56
57 private:
58 /* 0x00 (base) */
61 /* 0x20 */ void* mCancelArg;
62 /* 0x24 */ volatile bool mIsCanceling;
64 /* 0x68 */ s32 mPriority;
65 /* 0x6C */ volatile bool mIsBusy;
66 /* 0x6D */ bool mCloseOnDestroyFlg;
67 /* 0x6E */ bool mCloseEnableFlg;
68 };
69
70 } // namespace ut
71} // namespace nw4hbm
72
73#endif
static s32 offset
Definition WUD.c:1669
Definition DvdFileStream.h:11
void SetPriority(s32 priority)
Definition DvdFileStream.h:42
virtual s32 Peek(void *pDst, u32 size)
virtual bool CanRead() const
Definition DvdFileStream.h:24
struct nw4hbm::ut::DvdFileStream::DvdFileStreamInfo DvdFileStreamInfo
FilePosition mFilePosition
Definition DvdFileStream.h:59
virtual bool PeekAsync(void *pDst, u32 size, IOStreamCallback pCallback, void *pCallbackArg)
void * mCancelArg
Definition DvdFileStream.h:61
virtual bool CanAsync() const
Definition DvdFileStream.h:23
virtual u32 Tell() const
Definition DvdFileStream.h:35
DvdFileStream(s32 entrynum)
virtual u32 GetSizeAlign() const
Definition DvdFileStream.h:27
virtual u32 GetSize() const
Definition DvdFileStream.h:29
volatile bool mIsBusy
Definition DvdFileStream.h:65
bool Open(const DVDFileInfo *info, bool close)
virtual u32 GetOffsetAlign() const
Definition DvdFileStream.h:26
DvdFileStreamInfo mFileInfo
Definition DvdFileStream.h:63
DvdFileStream(const DVDFileInfo *info, bool close)
bool Open(s32 entrynum)
static void DvdAsyncCallback_(s32 result, DVDFileInfo *info)
virtual bool CancelAsync(IOStreamCallback pCallback, void *pCallbackArg)
u32 AdjustReadLength_(u32 len)
s32 mPriority
Definition DvdFileStream.h:64
NW4HBM_UT_RUNTIME_TYPEINFO
Definition DvdFileStream.h:16
virtual bool CanSeek() const
Definition DvdFileStream.h:33
bool mCloseOnDestroyFlg
Definition DvdFileStream.h:66
virtual bool IsBusy() const
Definition DvdFileStream.h:22
static void DvdCBAsyncCallback_(s32 result, DVDCommandBlock *pBlock)
virtual s32 Read(void *pDst, u32 size)
volatile bool mIsCanceling
Definition DvdFileStream.h:62
IOStreamCallback mCancelCallback
Definition DvdFileStream.h:60
virtual bool CanWrite() const
Definition DvdFileStream.h:25
virtual bool CanCancel() const
Definition DvdFileStream.h:34
virtual bool ReadAsync(void *pDst, u32 size, IOStreamCallback pCallback, void *pCallbackArg)
virtual u32 GetBufferAlign() const
Definition DvdFileStream.h:28
bool mCloseEnableFlg
Definition DvdFileStream.h:67
virtual void Seek(s32 offset, u32 origin)
Definition FileStream.h:24
u32 Tell() const
Definition FileStream.h:31
u32 GetFileSize() const
Definition FileStream.h:28
Definition FileStream.h:9
void(*) IOStreamCallback(s32 result, IOStream *pStream, void *pCallbackArg)
Definition IOStream.h:13
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
Definition HBMAnmController.h:6
Definition dvd.h:88
Definition dvd.h:105
DVDFileInfo dvdInfo
Definition DvdFileStream.h:46
DvdFileStream * stream
Definition DvdFileStream.h:47