blob: bdfc6d1f54b9883fdd9fdac9707f55e9bcfd0a56 [file] [log] [blame]
#pragma once
#include "config.h"
#include "version.hpp"
#include <string>
namespace phosphor
{
namespace software
{
namespace updater
{
using VersionPurpose =
sdbusplus::server::xyz::openbmc_project::software::Version::VersionPurpose;
/** @brief Serialization function - stores priority information to file
* @param[in] flashId - The flash id of the version for which to store
* information.
* @param[in] priority - RedundancyPriority value for that version.
**/
void storePriority(const std::string& flashId, uint8_t priority);
/** @brief Serialization function - stores purpose information to file
* @param[in] flashId - The flash id of the version for which to store
* information.
* @param[in] purpose - VersionPurpose value for that version.
**/
void storePurpose(const std::string& flashId, VersionPurpose purpose);
/** @brief Serialization function - restores priority information from file
* @param[in] flashId - The flash id of the version for which to retrieve
* information.
* @param[in] priority - RedundancyPriority reference for that version.
* @return true if restore was successful, false if not
**/
bool restorePriority(const std::string& flashId, uint8_t& priority);
/** @brief Serialization function - restores purpose information from file
* @param[in] flashId - The flash id of the version for which to retrieve
* information.
* @param[in] purpose - VersionPurpose reference for that version.
* @return true if restore was successful, false if not
**/
bool restorePurpose(const std::string& flashId, VersionPurpose& purpose);
/** @brief Removes the serial directory for a given version.
* @param[in] flash Id - The flash id of the version for which to remove a
* file, if it exists.
**/
void removePersistDataDirectory(const std::string& flashId);
} // namespace updater
} // namespace software
} // namespace phosphor