// // MultiMediaTarget.hpp // Clock Signal // // Created by Thomas Harte on 29/01/2018. // Copyright 2018 Thomas Harte. All rights reserved. // #pragma once #include "../../../../Machines/MediaTarget.hpp" #include "../../../../Machines/DynamicMachine.hpp" #include #include namespace Analyser::Dynamic { /*! Provides a class that multiplexes the media target interface to multiple machines. Makes a static internal copy of the list of machines; makes no guarantees about the order of delivered messages. */ struct MultiMediaTarget: public MachineTypes::MediaTarget { public: MultiMediaTarget(const std::vector> &); // Below is the standard MediaTarget::Machine interface; see there for documentation. bool insert_media(const Analyser::Static::Media &) final; private: std::vector targets_; }; }