mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-18 17:06:15 +00:00
de9db724a7
Configurable::Device covers devices that have user-facing configuration options, listing them and accepting them.
39 lines
1021 B
C++
39 lines
1021 B
C++
//
|
|
// 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"
|
|
#include "../Configurable/Configurable.hpp"
|
|
|
|
#include <string>
|
|
|
|
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 */
|