From e64e00d6c6f5e60e8c9c725002c1515413c854cd Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 19 May 2005 23:39:41 +0000 Subject: [PATCH] allow initializing a RageFileSource with a RageFileBasic* --- stepmania/src/CryptHelpers.cpp | 12 +++++++++++- stepmania/src/CryptHelpers.h | 5 +++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/stepmania/src/CryptHelpers.cpp b/stepmania/src/CryptHelpers.cpp index eb2e0319bb..ce06b0f056 100644 --- a/stepmania/src/CryptHelpers.cpp +++ b/stepmania/src/CryptHelpers.cpp @@ -1,6 +1,7 @@ #include "global.h" #include "CryptHelpers.h" #include "RageFile.h" +#include "RageLog.h" // crypt headers #include "crypto51/files.h" @@ -13,6 +14,13 @@ RageFileStore::ReadErr::ReadErr( const RageFileBasic &f ): RageFileStore::RageFileStore() { m_pFile = NULL; + m_waiting = false; +} + +RageFileStore::RageFileStore( RageFileBasic *pFile ) +{ + m_pFile = pFile; + m_waiting = false; } RageFileStore::~RageFileStore() @@ -41,12 +49,14 @@ void RageFileStore::StoreInitialize(const NameValuePairs ¶meters) { RageFile *pFile = new RageFile; m_pFile = pFile; + LOG->Trace( "XXX: not using pFile" ); if( !pFile->Open(fileName, RageFile::READ) ) throw OpenErr( fileName ); } else { - ASSERT(0); + ASSERT( m_pFile != NULL ); + LOG->Trace( "XXX: using pFile" ); } m_waiting = false; } diff --git a/stepmania/src/CryptHelpers.h b/stepmania/src/CryptHelpers.h index e3a14f70d7..2e8845e287 100644 --- a/stepmania/src/CryptHelpers.h +++ b/stepmania/src/CryptHelpers.h @@ -9,7 +9,6 @@ using namespace CryptoPP; class RageFileBasic; -//! . class RageFileStore : public Store, private FilterPutSpaceHelper { public: @@ -22,6 +21,7 @@ public: struct ReadErr : public Err { ReadErr( const RageFileBasic &f ); }; RageFileStore(); + RageFileStore( RageFileBasic *pFile ); /* pFile will be deleted */ ~RageFileStore(); RageFileStore( const RageFileStore &cpy ); RageFileStore(const char *filename) @@ -40,7 +40,6 @@ private: bool m_waiting; }; -//! . class RageFileSource : public SourceTemplate { public: @@ -48,6 +47,8 @@ public: typedef FileStore::OpenErr OpenErr; typedef FileStore::ReadErr ReadErr; + RageFileSource( RageFileBasic *pFile, bool pumpAll, BufferedTransformation *attachment = NULL, bool binary=true ) + : SourceTemplate(attachment,RageFileStore(pFile)) {SourceInitialize(pumpAll, MakeParameters("InputBinaryMode", binary));} RageFileSource(const char *filename, bool pumpAll, BufferedTransformation *attachment = NULL, bool binary=true) : SourceTemplate(attachment) {SourceInitialize(pumpAll, MakeParameters("InputFileName", filename)("InputBinaryMode", binary));} };