From 9c69cfe4c54e38edd2f54303be2f8a53dcf5bad8 Mon Sep 17 00:00:00 2001 From: Russell Yanofsky Date: Sun, 28 Apr 2019 19:08:26 -0400 Subject: Add /settings.json persistent settings storage. Persistent settings are used in followup PRs #15936 to unify gui settings between bitcoin-qt and bitcoind, and #15937 to add a load_on_startup flag to the loadwallet RPC and maintain a dynamic list of wallets that should be loaded on startup that also can be shared between bitcoind and bitcoin-qt. --- src/interfaces/node.cpp | 1 + src/interfaces/node.h | 5 +++++ 2 files changed, 6 insertions(+) (limited to 'src/interfaces') diff --git a/src/interfaces/node.cpp b/src/interfaces/node.cpp index 834a16ecf5..33f0dac263 100644 --- a/src/interfaces/node.cpp +++ b/src/interfaces/node.cpp @@ -66,6 +66,7 @@ public: bool softSetArg(const std::string& arg, const std::string& value) override { return gArgs.SoftSetArg(arg, value); } bool softSetBoolArg(const std::string& arg, bool value) override { return gArgs.SoftSetBoolArg(arg, value); } void selectParams(const std::string& network) override { SelectParams(network); } + bool initSettings(std::string& error) override { return gArgs.InitSettings(error); } uint64_t getAssumedBlockchainSize() override { return Params().AssumedBlockchainSize(); } uint64_t getAssumedChainStateSize() override { return Params().AssumedChainStateSize(); } std::string getNetwork() override { return Params().NetworkIDString(); } diff --git a/src/interfaces/node.h b/src/interfaces/node.h index b88b5bc14e..a9680c42b5 100644 --- a/src/interfaces/node.h +++ b/src/interfaces/node.h @@ -66,6 +66,11 @@ public: //! Choose network parameters. virtual void selectParams(const std::string& network) = 0; + //! Read and update /settings.json file with saved settings. This + //! needs to be called after selectParams() because the settings file + //! location is network-specific. + virtual bool initSettings(std::string& error) = 0; + //! Get the (assumed) blockchain size. virtual uint64_t getAssumedBlockchainSize() = 0; -- cgit v1.2.3