add copy ctor, GetString

This commit is contained in:
Glenn Maynard
2004-12-10 09:27:11 +00:00
parent 2607397fde
commit 57c218dd6e
2 changed files with 16 additions and 3 deletions
+12 -3
View File
@@ -83,14 +83,23 @@ int RageFileObjMem::GetFileSize() const
return m_pFile->m_sBuf.size();
}
RageFileObjMem::RageFileObjMem( const RageFileObjMem &cpy )
{
m_pFile = cpy.m_pFile;
m_iFilePos = cpy.m_iFilePos;
RageFileObjMemFile::AddReference( m_pFile );
}
RageFileObj *RageFileObjMem::Copy() const
{
RageFileObjMem *pRet = new RageFileObjMem( m_pFile );
pRet->m_iFilePos = m_iFilePos;
RageFileObjMem *pRet = new RageFileObjMem( *this );
return pRet;
}
const CString &RageFileObjMem::GetString() const
{
return m_pFile->m_sBuf;
}
RageFileDriverMem::RageFileDriverMem():
RageFileDriver( new NullFilenameDB ),
+4
View File
@@ -11,6 +11,7 @@ class RageFileObjMem: public RageFileObj
{
public:
RageFileObjMem( RageFileObjMemFile *pFile = NULL );
RageFileObjMem( const RageFileObjMem &cpy );
~RageFileObjMem();
int ReadInternal( void *buffer, size_t bytes );
@@ -19,6 +20,9 @@ public:
int GetFileSize() const;
RageFileObj *Copy() const;
/* Retrieve the contents of this file. */
const CString &GetString() const;
private:
RageFileObjMemFile *m_pFile;
int m_iFilePos;