Skip to content

Commit

Permalink
wallet: Add WalletLocation utility class
Browse files Browse the repository at this point in the history
Github-Pull: bitcoin#14350
Rebased-From: 01a4c09
  • Loading branch information
promag authored and uhliksk committed May 1, 2019
1 parent 89bd447 commit f7e5f6f
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/wallet/walletutil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,14 @@ fs::path GetWalletDir()

return path;
}

WalletLocation::WalletLocation(const std::string& name)
: m_name(name)
, m_path(fs::absolute(name, GetWalletDir()))
{
}

bool WalletLocation::Exists() const
{
return fs::symlink_status(m_path).type() != fs::file_not_found;
}
20 changes: 20 additions & 0 deletions src/wallet/walletutil.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,24 @@
//! Get the path of the wallet directory.
fs::path GetWalletDir();

//! The WalletLocation class provides wallet information.
class WalletLocation final
{
std::string m_name;
fs::path m_path;

public:
explicit WalletLocation() {}
explicit WalletLocation(const std::string& name);

//! Get wallet name.
const std::string& GetName() const { return m_name; }

//! Get wallet absolute path.
const fs::path& GetPath() const { return m_path; }

//! Return whether the wallet exists.
bool Exists() const;
};

#endif // BITCOIN_WALLET_WALLETUTIL_H

0 comments on commit f7e5f6f

Please sign in to comment.