// // Created by robin on 8/8/15. // #ifndef PDNS_SLAVE_HOSTSCONFIG_H #define PDNS_SLAVE_HOSTSCONFIG_H # include # include "DBO/Result.h" # include "DBO/Actions/Action.h" class HostsConfig { public: HostsConfig(const std::string& filePath); Result readConfig(); private: Json::Value readValue(const Json::Value &value, const Json::Value &defaults, const std::string& name) const; std::shared_ptr readAddHost(const Json::Value &act, const Json::Value &defaults, int i, Result& res) const; std::shared_ptr readDelHost(const Json::Value &act, const Json::Value &defaults, int i, Result& res) const; std::shared_ptr readAddDomain(const Json::Value &act, const Json::Value &defaults, int i, Result& res) const; std::shared_ptr readDelDomain(const Json::Value &act, const Json::Value &defaults, int i, Result& res) const; std::string _filePath; }; #endif //PDNS_SLAVE_HOSTSCONFIG_H