// // ConfigurationTarget.h // Clock Signal // // Created by Thomas Harte on 08/09/2016. // Copyright © 2016 Thomas Harte. All rights reserved. // #ifndef ConfigurationTarget_hpp #define ConfigurationTarget_hpp #include "../StaticAnalyser/StaticAnalyser.hpp" namespace ConfigurationTarget { /*! A ConfigurationTarget::Machine is anything that can accept a StaticAnalyser::Target and configure itself appropriately, or accept a list of media subsequently to insert. */ class Machine { public: /// Instructs the machine to configure itself as described by @c target and insert the included media. virtual void configure_as_target(const StaticAnalyser::Target &target) = 0; /*! Requests that the machine insert @c media as a modification to current state @returns @c true if any media was inserted; @c false otherwise. */ virtual bool insert_media(const StaticAnalyser::Media &media) = 0; }; } #endif /* ConfigurationTarget_h */