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: ~Echo()16 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 27