echo.h raw
1 // Copyright (c) 2021-present 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 virtual ~Echo() = default;
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