libweave: Move reading/writing commands and states files out of libweave
ConfigStore implementation will read and provide that data to libweave.
BUG=brillo:1257
TEST=`FEATURES=test emerge-gizmo libweave buffet`
Change-Id: I8c88e14712d9c5475e759439c222b76e01559a5e
Reviewed-on: https://chromium-review.googlesource.com/293951
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet_config.h b/buffet/buffet_config.h
index 6deb726..e5b4e67 100644
--- a/buffet/buffet_config.h
+++ b/buffet/buffet_config.h
@@ -5,6 +5,7 @@
#ifndef BUFFET_BUFFET_CONFIG_H_
#define BUFFET_BUFFET_CONFIG_H_
+#include <map>
#include <set>
#include <string>
#include <vector>
@@ -18,20 +19,33 @@
class StorageInterface;
+struct BuffetConfigPaths {
+ base::FilePath defaults;
+ base::FilePath settings;
+
+ base::FilePath definitions;
+ base::FilePath test_definitions;
+};
+
// Handles reading buffet config and state files.
class BuffetConfig final : public weave::ConfigStore {
public:
using OnChangedCallback = base::Callback<void(const weave::Settings&)>;
~BuffetConfig() override = default;
- BuffetConfig(const base::FilePath& defaults_path,
- const base::FilePath& settings_path);
+ explicit BuffetConfig(const BuffetConfigPaths& paths);
// Config overrides.
bool LoadDefaults(weave::Settings* settings) override;
std::string LoadSettings() override;
void SaveSettings(const std::string& settings) override;
void OnSettingsChanged(const weave::Settings& settings) override;
+ std::string LoadBaseCommandDefs() override;
+ std::map<std::string, std::string> LoadCommandDefs() override;
+ std::string LoadBaseStateDefs() override;
+ std::string LoadBaseStateDefaults() override;
+ std::map<std::string, std::string> LoadStateDefs() override;
+ std::vector<std::string> LoadStateDefaults() override;
void AddOnChangedCallback(const OnChangedCallback& callback);
@@ -39,8 +53,7 @@
weave::Settings* settings);
private:
- base::FilePath defaults_path_;
- base::FilePath settings_path_;
+ BuffetConfigPaths paths_;
std::vector<OnChangedCallback> on_changed_;