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