2014-12-07 22:26:16 +01:00
|
|
|
#include <cryfs_lib/CryConfig.h>
|
|
|
|
|
|
|
|
#include <boost/filesystem.hpp>
|
|
|
|
#include <boost/property_tree/ptree.hpp>
|
|
|
|
#include <boost/property_tree/json_parser.hpp>
|
|
|
|
|
|
|
|
namespace bf = boost::filesystem;
|
|
|
|
|
|
|
|
using boost::property_tree::ptree;
|
|
|
|
|
|
|
|
namespace cryfs {
|
|
|
|
|
|
|
|
CryConfig::CryConfig(const bf::path &configfile)
|
2014-12-09 17:19:59 +01:00
|
|
|
:_configfile(configfile), _root_block("") {
|
2014-12-07 22:26:16 +01:00
|
|
|
if (bf::exists(_configfile)) {
|
|
|
|
load();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void CryConfig::load() {
|
|
|
|
ptree pt;
|
|
|
|
read_json(_configfile.native(), pt);
|
|
|
|
|
2014-12-09 17:19:59 +01:00
|
|
|
_root_block = pt.get("cryfs.rootblock", "");
|
2014-12-07 22:26:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void CryConfig::save() const {
|
|
|
|
ptree pt;
|
|
|
|
|
2014-12-09 17:19:59 +01:00
|
|
|
pt.put("cryfs.rootblock", _root_block);
|
2014-12-07 22:26:16 +01:00
|
|
|
|
|
|
|
write_json(_configfile.native(), pt);
|
|
|
|
}
|
|
|
|
|
2014-12-09 17:19:59 +01:00
|
|
|
const std::string &CryConfig::RootBlock() const {
|
|
|
|
return _root_block;
|
2014-12-07 22:26:16 +01:00
|
|
|
}
|
|
|
|
|
2014-12-09 17:19:59 +01:00
|
|
|
void CryConfig::SetRootBlock(const std::string &value) {
|
|
|
|
_root_block = value;
|
2014-12-07 22:26:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
CryConfig::~CryConfig() {
|
|
|
|
save();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|