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