libcryfs/src/config/CryConfigFile.h

32 lines
800 B
C
Raw Normal View History

#pragma once
#ifndef MESSMER_CRYFS_SRC_CONFIG_CRYCONFIGFILE_H
#define MESSMER_CRYFS_SRC_CONFIG_CRYCONFIGFILE_H
2015-10-19 02:46:47 +02:00
#include <boost/optional.hpp>
#include <boost/filesystem/path.hpp>
#include "CryConfig.h"
namespace cryfs {
class CryConfigFile final {
public:
CryConfigFile(CryConfigFile &&rhs);
2015-10-23 00:04:03 +02:00
~CryConfigFile();
2015-10-19 02:46:47 +02:00
static CryConfigFile create(const boost::filesystem::path &path, CryConfig config);
static boost::optional<CryConfigFile> load(const boost::filesystem::path &path);
void save() const;
CryConfig *config();
private:
CryConfigFile(const boost::filesystem::path &path, CryConfig config);
boost::filesystem::path _path;
CryConfig _config;
DISALLOW_COPY_AND_ASSIGN(CryConfigFile);
};
}
#endif