basic.cpp raw

   1  // Copyright (c) 2025 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  #include <interfaces/init.h>
   6  #include <interfaces/ipc.h>
   7  
   8  namespace init {
   9  namespace {
  10  class BitcoinBasicInit : public interfaces::Init
  11  {
  12  public:
  13      BitcoinBasicInit(const char* exe_name, const char* process_argv0) : m_ipc(interfaces::MakeIpc(exe_name, process_argv0, *this)) {}
  14      interfaces::Ipc* ipc() override { return m_ipc.get(); }
  15  private:
  16      std::unique_ptr<interfaces::Ipc> m_ipc;
  17  };
  18  } // namespace
  19  } // namespace init
  20  
  21  namespace interfaces {
  22  std::unique_ptr<Init> MakeBasicInit(const char* exe_name, const char* process_argv0)
  23  {
  24      return std::make_unique<init::BitcoinBasicInit>(exe_name, process_argv0);
  25  }
  26  } // namespace interfaces
  27