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 7*a076487aSPatrick Venture namespace pid_control 8*a076487aSPatrick Venture { 9*a076487aSPatrick Venture 10863b9246SPatrick Venture class ReadOnly : public WriteInterface 11863b9246SPatrick Venture { 12863b9246SPatrick Venture public: 13da4a5dd1SPatrick Venture ReadOnly() : WriteInterface(0, 0) 14a83a3eccSPatrick Venture {} 15863b9246SPatrick Venture 16863b9246SPatrick Venture void write(double value) override; 17863b9246SPatrick Venture }; 18863b9246SPatrick Venture 19863b9246SPatrick Venture class ReadOnlyNoExcept : public WriteInterface 20863b9246SPatrick Venture { 21863b9246SPatrick Venture public: 22da4a5dd1SPatrick Venture ReadOnlyNoExcept() : WriteInterface(0, 0) 23a83a3eccSPatrick Venture {} 24863b9246SPatrick Venture 25863b9246SPatrick Venture void write(double value) override; 26863b9246SPatrick Venture }; 27*a076487aSPatrick Venture 28*a076487aSPatrick Venture } // namespace pid_control 29