OpenBarnyard
 
Loading...
Searching...
No Matches
TFileStream.h
Go to the documentation of this file.
1
5
6#pragma once
7#include "Toshi/TFifo.h"
8#include "Thread/TThread.h"
9#include "File/TTRB.h"
10
12
14{
15public:
16 friend class TFileStream;
17
18public:
20 : m_pSemaphore( semaphore ), m_bIsProcessed( TTRUE ) {}
21
22 virtual ~TFileStreamJob() = default;
23 virtual void Process() = 0;
24
25 TBOOL IsProcessed() const { return m_bIsProcessed; }
26
27protected:
30};
31
32class TFileStream : public TThread
33{
34public:
36
37 // This method will be executed by the thread
38 virtual void Main() override;
39
40 virtual ~TFileStream();
41
42 // Adds job to the FIFO
43 void AddStream( TFileStreamJob* job );
44
45private:
47};
48
50{
51public:
53 virtual ~TTRBStreamJob();
54
55 virtual void Process();
56
57 void Init( TTRB* trb, const TCHAR* fileName );
58
59 TTRB* GetTRB() const;
60 const TCHAR* GetFileName() const;
61
62public:
65};
66
TRB (Toshi Relocatable Binary) resource system for the Toshi engine.
Threading system for the Toshi engine.
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
char TCHAR
Definition Typedefs.h:20
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
TBOOL m_bIsProcessed
Definition TFileStream.h:29
TFileStreamJob(TSemaphore *semaphore)
Definition TFileStream.h:19
TBOOL IsProcessed() const
Definition TFileStream.h:25
TSemaphore * m_pSemaphore
Definition TFileStream.h:28
virtual void Process()=0
virtual ~TFileStreamJob()=default
friend class TFileStream
Definition TFileStream.h:16
virtual ~TFileStream()
virtual void Main() override
void AddStream(TFileStreamJob *job)
const TCHAR * GetFileName() const
void Init(TTRB *trb, const TCHAR *fileName)
virtual ~TTRBStreamJob()
TTRB * GetTRB() const
virtual void Process()
TCHAR m_fileName[64]
Definition TFileStream.h:64
Definition TTRB.h:253
Definition TFifo.h:45