diff options
Diffstat (limited to 'host_state_serialize.cpp')
-rw-r--r-- | host_state_serialize.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/host_state_serialize.cpp b/host_state_serialize.cpp deleted file mode 100644 index d5a3a98..0000000 --- a/host_state_serialize.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include <cereal/types/string.hpp> -#include <cereal/types/vector.hpp> -#include <cereal/types/tuple.hpp> -#include <cereal/archives/json.hpp> -#include <fstream> -#include "host_state_serialize.hpp" -#include "host_state_manager.hpp" - -namespace phosphor -{ -namespace state -{ -namespace manager -{ -/** @brief Function required by Cereal to perform serialization. - * @tparam Archive - Cereal archive type (binary in our case). - * @param[in] archive - reference to Cereal archive. - * @param[in] host - const reference to host. - */ -template<class Archive> -void save(Archive& archive, const Host& host) -{ - archive(convertForMessage(host.sdbusplus::xyz::openbmc_project:: - State::server::Host::requestedHostTransition())); -} - -/** @brief Function required by Cereal to perform deserialization. - * @tparam Archive - Cereal archive type (binary in our case). - * @param[in] archive - reference to Cereal archive. - * @param[in] host - reference to host. - */ -template<class Archive> -void load(Archive& archive, Host& host) -{ - using namespace - sdbusplus::xyz::openbmc_project::State::server; - - Host::Transition requestedHostTransition{}; - - std::string str; - archive(str); - requestedHostTransition = Host::convertTransitionFromString( - str); - host.requestedHostTransition(requestedHostTransition); -} - -fs::path serialize(const Host& host, const fs::path& dir) -{ - std::ofstream os(dir.c_str(), std::ios::binary); - cereal::JSONOutputArchive oarchive(os); - oarchive(host); - return dir; -} - -bool deserialize(const fs::path& path, Host& host) -{ - if (fs::exists(path)) - { - std::ifstream is(path.c_str(), std::ios::in | std::ios::binary); - cereal::JSONInputArchive iarchive(is); - iarchive(host); - return true; - } - return false; -} -} //namespace manager -} // namespace state -} // namespace phosphor |