From: <man...@us...> - 2010-06-25 17:49:50
|
Revision: 11554 http://openmsx.svn.sourceforge.net/openmsx/?rev=11554&view=rev Author: manuelbi Date: 2010-06-25 17:49:44 +0000 (Fri, 25 Jun 2010) Log Message: ----------- Don't distribute ref to filePool via MSXMotherboard constructor. It can just as well directly asked from the owner, Reactor. Modified Paths: -------------- openmsx/trunk/src/MSXMotherBoard.cc openmsx/trunk/src/MSXMotherBoard.hh openmsx/trunk/src/Reactor.cc openmsx/trunk/src/Reactor.hh openmsx/trunk/src/ReverseManager.cc openmsx/trunk/src/memory/Rom.cc Modified: openmsx/trunk/src/MSXMotherBoard.cc =================================================================== --- openmsx/trunk/src/MSXMotherBoard.cc 2010-06-25 17:49:20 UTC (rev 11553) +++ openmsx/trunk/src/MSXMotherBoard.cc 2010-06-25 17:49:44 UTC (rev 11554) @@ -69,8 +69,7 @@ class MSXMotherBoardImpl : private Observer<Setting>, private noncopyable { public: - MSXMotherBoardImpl(MSXMotherBoard& self, - Reactor& reactor, FilePool& filePool); + MSXMotherBoardImpl(MSXMotherBoard& self, Reactor& reactor); virtual ~MSXMotherBoardImpl(); const string& getMachineID(); @@ -120,7 +119,6 @@ LedStatus& getLedStatus(); ReverseManager& getReverseManager(); Reactor& getReactor(); - FilePool& getFilePool(); CommandController& getCommandController(); InfoCommand& getMachineInfoCommand(); EmuTime::param getCurrentTime(); @@ -152,7 +150,6 @@ MSXMotherBoard& self; Reactor& reactor; - FilePool& filePool; string machineID; string machineName; @@ -321,10 +318,9 @@ static unsigned machineIDCounter = 0; MSXMotherBoardImpl::MSXMotherBoardImpl( - MSXMotherBoard& self_, Reactor& reactor_, FilePool& filePool_) + MSXMotherBoard& self_, Reactor& reactor_) : self(self_) , reactor(reactor_) - , filePool(filePool_) , machineID(StringOp::Builder() << "machine" << ++machineIDCounter) , mapperIOCounter(0) , machineConfig(NULL) @@ -659,11 +655,6 @@ return reactor; } -FilePool& MSXMotherBoardImpl::getFilePool() -{ - return filePool; -} - CommandController& MSXMotherBoardImpl::getCommandController() { return *msxCommandController; @@ -1277,9 +1268,9 @@ // MSXMotherBoard -MSXMotherBoard::MSXMotherBoard(Reactor& reactor, FilePool& filePool) +MSXMotherBoard::MSXMotherBoard(Reactor& reactor) { - new MSXMotherBoardImpl(*this, reactor, filePool); + new MSXMotherBoardImpl(*this, reactor); } MSXMotherBoard::~MSXMotherBoard() { @@ -1434,10 +1425,6 @@ { return pimple->getReactor(); } -FilePool& MSXMotherBoard::getFilePool() -{ - return pimple->getFilePool(); -} CommandController& MSXMotherBoard::getCommandController() { return pimple->getCommandController(); Modified: openmsx/trunk/src/MSXMotherBoard.hh =================================================================== --- openmsx/trunk/src/MSXMotherBoard.hh 2010-06-25 17:49:20 UTC (rev 11553) +++ openmsx/trunk/src/MSXMotherBoard.hh 2010-06-25 17:49:44 UTC (rev 11554) @@ -36,7 +36,6 @@ class ReverseManager; class Display; class DiskManipulator; -class FilePool; class GlobalSettings; class CommandController; class InfoCommand; @@ -46,7 +45,7 @@ class MSXMotherBoard : private noncopyable { public: - explicit MSXMotherBoard(Reactor& reactor, FilePool& filePool); + explicit MSXMotherBoard(Reactor& reactor); ~MSXMotherBoard(); const std::string& getMachineID(); @@ -110,8 +109,6 @@ ReverseManager& getReverseManager(); Reactor& getReactor(); - FilePool& getFilePool(); - // convenience methods CommandController& getCommandController(); InfoCommand& getMachineInfoCommand(); Modified: openmsx/trunk/src/Reactor.cc =================================================================== --- openmsx/trunk/src/Reactor.cc 2010-06-25 17:49:20 UTC (rev 11553) +++ openmsx/trunk/src/Reactor.cc 2010-06-25 17:49:44 UTC (rev 11554) @@ -283,6 +283,11 @@ return *diskFactory; } +FilePool& Reactor::getFilePool() +{ + return *filePool; +} + DiskManipulator& Reactor::getDiskManipulator() { return *diskManipulator; @@ -379,7 +384,7 @@ Reactor::Board Reactor::createEmptyMotherBoard() { - return Board(new MSXMotherBoard(*this, *filePool)); + return Board(new MSXMotherBoard(*this)); } void Reactor::replaceActiveBoard(Board newBoard) @@ -691,7 +696,7 @@ throw SyntaxError(); } try { - MSXMotherBoard mb(reactor, *reactor.filePool); + MSXMotherBoard mb(reactor); mb.loadMachine(tokens[1]); return ""; // success } catch (MSXException& e) { Modified: openmsx/trunk/src/Reactor.hh =================================================================== --- openmsx/trunk/src/Reactor.hh 2010-06-25 17:49:20 UTC (rev 11553) +++ openmsx/trunk/src/Reactor.hh 2010-06-25 17:49:44 UTC (rev 11554) @@ -82,6 +82,7 @@ DiskManipulator& getDiskManipulator(); EnumSetting<int>& getMachineSetting(); RomDatabase& getSoftwareDatabase(); + FilePool& getFilePool(); void switchMachine(const std::string& machine); MSXMotherBoard* getMotherBoard() const; Modified: openmsx/trunk/src/ReverseManager.cc =================================================================== --- openmsx/trunk/src/ReverseManager.cc 2010-06-25 17:49:20 UTC (rev 11553) +++ openmsx/trunk/src/ReverseManager.cc 2010-06-25 17:49:44 UTC (rev 11554) @@ -43,12 +43,11 @@ struct Replay { - Replay(Reactor& reactor_, FilePool& filePool_): reactor(reactor_), filePool(filePool_) {} + Replay(Reactor& reactor_): reactor(reactor_) {} typedef std::vector<Reactor::Board> MotherBoards; Reactor& reactor; - FilePool& filePool; ReverseManager::Events* events; MotherBoards motherBoards; @@ -61,7 +60,7 @@ ar.serialize("snapshot", *newBoard); motherBoards.push_back(newBoard); } else { - ar.serializeWithID("snapshots", motherBoards, ref(reactor), ref(filePool)); + ar.serializeWithID("snapshots", motherBoards, ref(reactor)); } ar.serialize("events", *events); } @@ -430,7 +429,7 @@ } XmlOutputArchive out(fileName); - Replay replay(reactor, newBoard->getFilePool()); + Replay replay(reactor); replay.events = &history.events; replay.motherBoards.push_back(newBoard); out.serialize("replay", replay); @@ -463,7 +462,7 @@ // restore replay Reactor& reactor = motherBoard.getReactor(); Reactor::Board newBoard = reactor.createEmptyMotherBoard(); - Replay replay(reactor, newBoard->getFilePool()); + Replay replay(reactor); Events events; replay.events = &events; try { Modified: openmsx/trunk/src/memory/Rom.cc =================================================================== --- openmsx/trunk/src/memory/Rom.cc 2010-06-25 17:49:20 UTC (rev 11553) +++ openmsx/trunk/src/memory/Rom.cc 2010-06-25 17:49:44 UTC (rev 11554) @@ -88,7 +88,7 @@ for (XMLElement::Children::const_iterator it = sums.begin(); it != sums.end(); ++it) { const string& sha1 = (*it)->getData(); - file = motherBoard.getFilePool().getFile(sha1); + file = motherBoard.getReactor().getFilePool().getFile(sha1); if (file.get()) { // avoid recalculating same sha1 later originalSha1 = sha1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |