1863b9246SPatrick Venture #pragma once
2863b9246SPatrick Venture 
3863b9246SPatrick Venture /* Interface that implements an exception throwing read method. */
4863b9246SPatrick Venture 
5863b9246SPatrick Venture #include "interfaces.hpp"
6863b9246SPatrick Venture 
7a076487aSPatrick Venture namespace pid_control
8a076487aSPatrick Venture {
9a076487aSPatrick Venture 
10863b9246SPatrick Venture class ReadOnly : public WriteInterface
11863b9246SPatrick Venture {
12863b9246SPatrick Venture   public:
ReadOnly()13*8c051121SPatrick Williams     ReadOnly() : WriteInterface(0, 0) {}
14863b9246SPatrick Venture 
15863b9246SPatrick Venture     void write(double value) override;
16863b9246SPatrick Venture };
17863b9246SPatrick Venture 
18863b9246SPatrick Venture class ReadOnlyNoExcept : public WriteInterface
19863b9246SPatrick Venture {
20863b9246SPatrick Venture   public:
ReadOnlyNoExcept()21*8c051121SPatrick Williams     ReadOnlyNoExcept() : WriteInterface(0, 0) {}
22863b9246SPatrick Venture 
23863b9246SPatrick Venture     void write(double value) override;
24863b9246SPatrick Venture };
25a076487aSPatrick Venture 
26a076487aSPatrick Venture } // namespace pid_control
27