2016-09-08 09:32:17 +00:00
|
|
|
//
|
|
|
|
// 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
|
|
|
|
|
2018-01-25 02:48:44 +00:00
|
|
|
#include "../Analyser/Static/StaticAnalyser.hpp"
|
2017-11-18 04:02:00 +00:00
|
|
|
#include "../Configurable/Configurable.hpp"
|
|
|
|
|
|
|
|
#include <string>
|
2016-09-08 09:32:17 +00:00
|
|
|
|
|
|
|
namespace ConfigurationTarget {
|
|
|
|
|
|
|
|
/*!
|
2018-01-25 02:48:44 +00:00
|
|
|
A ConfigurationTarget::Machine is anything that can accept a Analyser::Static::Target
|
2017-08-17 14:48:29 +00:00
|
|
|
and configure itself appropriately, or accept a list of media subsequently to insert.
|
2016-09-08 09:32:17 +00:00
|
|
|
*/
|
|
|
|
class Machine {
|
|
|
|
public:
|
2017-08-17 14:48:29 +00:00
|
|
|
/// Instructs the machine to configure itself as described by @c target and insert the included media.
|
2018-01-25 02:48:44 +00:00
|
|
|
virtual void configure_as_target(const Analyser::Static::Target &target) = 0;
|
2017-08-17 14:48:29 +00:00
|
|
|
|
|
|
|
/*!
|
|
|
|
Requests that the machine insert @c media as a modification to current state
|
|
|
|
|
|
|
|
@returns @c true if any media was inserted; @c false otherwise.
|
|
|
|
*/
|
2018-01-25 02:48:44 +00:00
|
|
|
virtual bool insert_media(const Analyser::Static::Media &media) = 0;
|
2016-09-08 09:32:17 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* ConfigurationTarget_h */
|