#pragma once

#include <sdbusplus/message.hpp>

#include <map>
#include <string>
#include <variant>

namespace ipmi
{
namespace vpd
{

using Path = std::string;

using Property = std::string;
/// The Value type represents all types that are possible for a FRU info.
/// Most fields in a FRU info are boolean or string. There is also a
/// 3-byte timestamp that, being converted to unix time, fits well into
/// uint64_t.
///
/// However for multirecord area records, there may be other data types,
/// not all of which are directly listed in IPMI FRU specification.
///
/// Hence, this type lists all types possible for sbdusplus except for
/// unixfd, object_path, and signature.
using Value = std::variant<bool, uint8_t, uint16_t, int16_t, uint32_t, int32_t,
                           uint64_t, int64_t, double, std::string>;
using PropertyMap = std::map<Property, Value>;

using Interface = std::string;
using InterfaceMap = std::map<Interface, PropertyMap>;

using Object = sdbusplus::message::object_path;
using ObjectMap = std::map<Object, InterfaceMap>;

} // namespace vpd
} // namespace ipmi
