Branch data Line data Source code
1 : : // Copyright (c) 2021 The Bitcoin Core developers 2 : : // Distributed under the MIT software license, see the accompanying 3 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 : : 5 : : #ifndef BITCOIN_INTERFACES_ECHO_H 6 : : #define BITCOIN_INTERFACES_ECHO_H 7 : : 8 : : #include <memory> 9 : : #include <string> 10 : : 11 : : namespace interfaces { 12 : : //! Simple string echoing interface for testing. 13 : : class Echo 14 : : { 15 : : public: 16 : 0 : virtual ~Echo() {} 17 : : 18 : : //! Echo provided string. 19 : : virtual std::string echo(const std::string& echo) = 0; 20 : : }; 21 : : 22 : : //! Return implementation of Echo interface. 23 : : std::unique_ptr<Echo> MakeEcho(); 24 : : } // namespace interfaces 25 : : 26 : : #endif // BITCOIN_INTERFACES_ECHO_H