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