cleanup
This commit is contained in:
@@ -18,19 +18,29 @@ struct RageFileObjMemFile
|
|||||||
|
|
||||||
class RageFileObjMem: public RageFileObj
|
class RageFileObjMem: public RageFileObj
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
RageFileObjMem( RageFileObjMemFile *pFile );
|
||||||
|
~RageFileObjMem();
|
||||||
|
|
||||||
|
int ReadInternal( void *buffer, size_t bytes );
|
||||||
|
int WriteInternal( const void *buffer, size_t bytes );
|
||||||
|
int SeekInternal( int offset );
|
||||||
|
int GetFileSize() const;
|
||||||
|
RageFileObj *Copy() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RageFileObjMemFile *m_pFile;
|
RageFileObjMemFile *m_pFile;
|
||||||
int m_iFilePos;
|
int m_iFilePos;
|
||||||
|
};
|
||||||
|
|
||||||
public:
|
RageFileObjMem::RageFileObjMem( RageFileObjMemFile *pFile )
|
||||||
RageFileObjMem( RageFileObjMemFile *pFile )
|
|
||||||
{
|
{
|
||||||
m_pFile = pFile;
|
m_pFile = pFile;
|
||||||
m_iFilePos = 0;
|
m_iFilePos = 0;
|
||||||
++m_pFile->m_iRefs;
|
++m_pFile->m_iRefs;
|
||||||
}
|
}
|
||||||
|
|
||||||
~RageFileObjMem()
|
RageFileObjMem::~RageFileObjMem()
|
||||||
{
|
{
|
||||||
m_pFile->m_Mutex.Lock();
|
m_pFile->m_Mutex.Lock();
|
||||||
const int iRefs = --m_pFile->m_iRefs;
|
const int iRefs = --m_pFile->m_iRefs;
|
||||||
@@ -44,7 +54,7 @@ public:
|
|||||||
delete m_pFile;
|
delete m_pFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ReadInternal( void *buffer, size_t bytes )
|
int RageFileObjMem::ReadInternal( void *buffer, size_t bytes )
|
||||||
{
|
{
|
||||||
m_pFile->m_Mutex.Lock();
|
m_pFile->m_Mutex.Lock();
|
||||||
|
|
||||||
@@ -57,7 +67,7 @@ public:
|
|||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
int WriteInternal( const void *buffer, size_t bytes )
|
int RageFileObjMem::WriteInternal( const void *buffer, size_t bytes )
|
||||||
{
|
{
|
||||||
m_pFile->m_Mutex.Lock();
|
m_pFile->m_Mutex.Lock();
|
||||||
m_pFile->m_sBuf.append( (const char *) buffer, bytes );
|
m_pFile->m_sBuf.append( (const char *) buffer, bytes );
|
||||||
@@ -67,19 +77,19 @@ public:
|
|||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SeekInternal( int offset )
|
int RageFileObjMem::SeekInternal( int offset )
|
||||||
{
|
{
|
||||||
m_iFilePos = clamp( offset, 0, GetFileSize() );
|
m_iFilePos = clamp( offset, 0, GetFileSize() );
|
||||||
return m_iFilePos;
|
return m_iFilePos;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetFileSize() const
|
int RageFileObjMem::GetFileSize() const
|
||||||
{
|
{
|
||||||
LockMut(m_pFile->m_Mutex);
|
LockMut(m_pFile->m_Mutex);
|
||||||
return m_pFile->m_sBuf.size();
|
return m_pFile->m_sBuf.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
RageFileObj *Copy() const
|
RageFileObj *RageFileObjMem::Copy() const
|
||||||
{
|
{
|
||||||
m_pFile->m_Mutex.Unlock();
|
m_pFile->m_Mutex.Unlock();
|
||||||
++m_pFile->m_iRefs;
|
++m_pFile->m_iRefs;
|
||||||
@@ -90,7 +100,6 @@ public:
|
|||||||
|
|
||||||
return pRet;
|
return pRet;
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
RageFileDriverMem::RageFileDriverMem():
|
RageFileDriverMem::RageFileDriverMem():
|
||||||
|
|||||||
Reference in New Issue
Block a user