blob: e194c94a987662eb41ed3aade5d4367d015383bd [file] [log] [blame]
Tom Josephb4268602020-04-17 17:20:45 +05301#pragma once
2
3#include <stdint.h>
4
5#include <set>
6#include <string>
7#include <variant>
8#include <vector>
9
10namespace pldm
11{
12
13namespace dbus
14{
15
16using ObjectPath = std::string;
17using Service = std::string;
18using Interface = std::string;
19using Interfaces = std::vector<std::string>;
20using Property = std::string;
21using PropertyType = std::string;
22using Value = std::variant<bool, uint8_t, int16_t, uint16_t, int32_t, uint32_t,
23 int64_t, uint64_t, double, std::string>;
24
25} // namespace dbus
26
27namespace pdr
28{
29
30using TerminusHandle = uint16_t;
31using TerminusID = uint16_t;
32using SensorID = uint16_t;
33using EntityType = uint16_t;
34using EntityInstance = uint16_t;
35using ContainerID = uint16_t;
36using CompositeCount = uint8_t;
37
38//!< Subset of the State Set that is supported by a effecter/sensor
39using PossibleStates = std::set<uint8_t>;
40//!< Subset of the State Set that is supported by each effecter/sensor in a
41//!< composite efffecter/sensor
42using CompositeSensorStates = std::vector<PossibleStates>;
43using EntityInfo = std::tuple<ContainerID, EntityType, EntityInstance>;
44using SensorInfo = std::tuple<EntityInfo, CompositeSensorStates>;
45
46} // namespace pdr
47
48} // namespace pldm