Branch data Line data Source code
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> // IWYU pragma: associated
6 : :
7 : : #include <interfaces/ipc.h>
8 : :
9 : : #include <memory>
10 : :
11 : : namespace init {
12 : : namespace {
13 : : class BitcoinBasicInit : public interfaces::Init
14 : : {
15 : : public:
16 [ + - ]: 31 : BitcoinBasicInit(const char* exe_name, const char* process_argv0) : m_ipc(interfaces::MakeIpc(exe_name, process_argv0, *this)) {}
17 : 62 : interfaces::Ipc* ipc() override { return m_ipc.get(); }
18 : : private:
19 : : std::unique_ptr<interfaces::Ipc> m_ipc;
20 : : };
21 : : } // namespace
22 : : } // namespace init
23 : :
24 : : namespace interfaces {
25 : 31 : std::unique_ptr<Init> MakeBasicInit(const char* exe_name, const char* process_argv0)
26 : : {
27 : 31 : return std::make_unique<init::BitcoinBasicInit>(exe_name, process_argv0);
28 : : }
29 : : } // namespace interfaces
|