wallet: Add WalletLocation utility class
This commit is contained in:
parent
613fc95ee4
commit
01a4c095c8
2 changed files with 31 additions and 0 deletions
|
@ -75,3 +75,14 @@ std::vector<fs::path> ListWalletDir()
|
||||||
|
|
||||||
return paths;
|
return paths;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -15,4 +15,24 @@ fs::path GetWalletDir();
|
||||||
//! Get wallets in wallet directory.
|
//! Get wallets in wallet directory.
|
||||||
std::vector<fs::path> ListWalletDir();
|
std::vector<fs::path> ListWalletDir();
|
||||||
|
|
||||||
|
//! 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
|
#endif // BITCOIN_WALLET_WALLETUTIL_H
|
||||||
|
|
Loading…
Reference in a new issue