From e599e6508735dd430573b3afaf942f7f5b624b6f Mon Sep 17 00:00:00 2001
From: Thomas Harte <thomas.harte@gmail.com>
Date: Sat, 14 Apr 2018 19:46:38 -0400
Subject: [PATCH] Switches to use of the `TargetList` typedef wherever
 possible.

---
 Analyser/Static/MSX/StaticAnalyser.cpp                        | 4 ++--
 Analyser/Static/ZX8081/StaticAnalyser.cpp                     | 2 +-
 Machines/Utility/MachineForTarget.hpp                         | 2 +-
 Machines/ZX8081/ZX8081.cpp                                    | 2 +-
 .../Machine/StaticAnalyser/CSStaticAnalyser+TargetVector.h    | 2 +-
 OSBindings/Mac/Clock SignalTests/AtariStaticAnalyserTests.mm  | 2 +-
 OSBindings/Mac/Clock SignalTests/MSXStaticAnalyserTests.mm    | 2 +-
 OSBindings/SDL/main.cpp                                       | 2 +-
 8 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/Analyser/Static/MSX/StaticAnalyser.cpp b/Analyser/Static/MSX/StaticAnalyser.cpp
index 82cdc8408..24385bea5 100644
--- a/Analyser/Static/MSX/StaticAnalyser.cpp
+++ b/Analyser/Static/MSX/StaticAnalyser.cpp
@@ -63,14 +63,14 @@ static std::unique_ptr<Analyser::Static::Target> CartridgeTarget(
 
 	(additional audio hardware is also sometimes included, but it's implied by the banking hardware)
 */
-static std::vector<std::unique_ptr<Analyser::Static::Target>> CartridgeTargetsFrom(
+static Analyser::Static::TargetList CartridgeTargetsFrom(
 	const std::vector<std::shared_ptr<Storage::Cartridge::Cartridge>> &cartridges) {
 	// No cartridges implies no targets.
 	if(cartridges.empty()) {
 		return {};
 	}
 
-	std::vector<std::unique_ptr<Analyser::Static::Target>> targets;
+	Analyser::Static::TargetList targets;
 	for(const auto &cartridge : cartridges) {
 		const auto &segments = cartridge->get_segments();
 
diff --git a/Analyser/Static/ZX8081/StaticAnalyser.cpp b/Analyser/Static/ZX8081/StaticAnalyser.cpp
index c9b24a165..f67f462b9 100644
--- a/Analyser/Static/ZX8081/StaticAnalyser.cpp
+++ b/Analyser/Static/ZX8081/StaticAnalyser.cpp
@@ -29,7 +29,7 @@ static std::vector<Storage::Data::ZX8081::File> GetFiles(const std::shared_ptr<S
 }
 
 Analyser::Static::TargetList Analyser::Static::ZX8081::GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms) {
-	std::vector<std::unique_ptr<Analyser::Static::Target>> destination;
+	TargetList destination;
 	if(!media.tapes.empty()) {
 		std::vector<Storage::Data::ZX8081::File> files = GetFiles(media.tapes.front());
 		media.tapes.front()->reset();
diff --git a/Machines/Utility/MachineForTarget.hpp b/Machines/Utility/MachineForTarget.hpp
index dfa00269e..87c089900 100644
--- a/Machines/Utility/MachineForTarget.hpp
+++ b/Machines/Utility/MachineForTarget.hpp
@@ -31,7 +31,7 @@ enum class Error {
 	receive the supplied static analyser result. The machine has been allocated
 	on the heap. It is the caller's responsibility to delete the class when finished.
 */
-DynamicMachine *MachineForTargets(const std::vector<std::unique_ptr<Analyser::Static::Target>> &targets, const ::ROMMachine::ROMFetcher &rom_fetcher, Error &error);
+DynamicMachine *MachineForTargets(const Analyser::Static::TargetList &targets, const ::ROMMachine::ROMFetcher &rom_fetcher, Error &error);
 
 /*!
 	Returns a short string name for the machine identified by the target,
diff --git a/Machines/ZX8081/ZX8081.cpp b/Machines/ZX8081/ZX8081.cpp
index 4c86641ea..9b9e52dfe 100644
--- a/Machines/ZX8081/ZX8081.cpp
+++ b/Machines/ZX8081/ZX8081.cpp
@@ -437,7 +437,7 @@ template<bool is_zx81> class ConcreteMachine:
 	private:
 		CPU::Z80::Processor<ConcreteMachine, false, is_zx81> z80_;
 
-		std::shared_ptr<Video> video_;
+		std::unique_ptr<Video> video_;
 		std::vector<uint8_t> zx81_rom_, zx80_rom_;
 
 		uint16_t tape_trap_address_, tape_return_address_;
diff --git a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser+TargetVector.h b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser+TargetVector.h
index 6d563c4b2..6607de2c1 100644
--- a/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser+TargetVector.h	
+++ b/OSBindings/Mac/Clock Signal/Machine/StaticAnalyser/CSStaticAnalyser+TargetVector.h	
@@ -10,6 +10,6 @@
 
 @interface CSStaticAnalyser (ResultVector)
 
-- (std::vector<std::unique_ptr<Analyser::Static::Target>> &)targets;
+- (Analyser::Static::TargetList &)targets;
 
 @end
diff --git a/OSBindings/Mac/Clock SignalTests/AtariStaticAnalyserTests.mm b/OSBindings/Mac/Clock SignalTests/AtariStaticAnalyserTests.mm
index 101181894..849c03fcf 100644
--- a/OSBindings/Mac/Clock SignalTests/AtariStaticAnalyserTests.mm	
+++ b/OSBindings/Mac/Clock SignalTests/AtariStaticAnalyserTests.mm	
@@ -594,7 +594,7 @@ static NSDictionary<NSString *, AtariROMRecord *> *romRecordsBySHA1 = @{
 		for(int c = 0; c < CC_SHA1_DIGEST_LENGTH; c++) [sha1 appendFormat:@"%02x", sha1Bytes[c]];
 
 		// get an analysis of the file
-		std::vector<std::unique_ptr<Analyser::Static::Target>> targets = Analyser::Static::GetTargets([fullPath UTF8String]);
+		TargetList targets = Analyser::Static::GetTargets([fullPath UTF8String]);
 
 		// grab the ROM record
 		AtariROMRecord *romRecord = romRecordsBySHA1[sha1];
diff --git a/OSBindings/Mac/Clock SignalTests/MSXStaticAnalyserTests.mm b/OSBindings/Mac/Clock SignalTests/MSXStaticAnalyserTests.mm
index bbcc4840c..bdf529e0f 100644
--- a/OSBindings/Mac/Clock SignalTests/MSXStaticAnalyserTests.mm	
+++ b/OSBindings/Mac/Clock SignalTests/MSXStaticAnalyserTests.mm	
@@ -212,7 +212,7 @@ static NSDictionary<NSString *, MSXROMRecord *> *romRecordsBySHA1 = @{
 		for(int c = 0; c < CC_SHA1_DIGEST_LENGTH; c++) [sha1 appendFormat:@"%02x", sha1Bytes[c]];
 
 		// get an analysis of the file
-		std::vector<std::unique_ptr<Analyser::Static::Target>> targets = Analyser::Static::GetTargets([fullPath UTF8String]);
+		TargetList targets = Analyser::Static::GetTargets([fullPath UTF8String]);
 
 		// grab the ROM record
 		MSXROMRecord *romRecord = romRecordsBySHA1[sha1];
diff --git a/OSBindings/SDL/main.cpp b/OSBindings/SDL/main.cpp
index 30656916b..cf9080127 100644
--- a/OSBindings/SDL/main.cpp
+++ b/OSBindings/SDL/main.cpp
@@ -239,7 +239,7 @@ int main(int argc, char *argv[]) {
 	}
 
 	// Determine the machine for the supplied file.
-	std::vector<std::unique_ptr<Analyser::Static::Target>> targets = Analyser::Static::GetTargets(arguments.file_name);
+	TargetList targets = Analyser::Static::GetTargets(arguments.file_name);
 	if(targets.empty()) {
 		std::cerr << "Cannot open " << arguments.file_name << "; no target machine found" << std::endl;
 		return -1;