blob: 318dc7ec419b4ae2faa98d15d78d3999b5a5f0b2 [file] [log] [blame]
Patrick Williams70a47ba2021-09-02 09:53:31 -05001#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
13using Request = std::vector<uint8_t>;
14using Response = std::vector<uint8_t>;
15
16namespace dbus
17{
18
19using ObjectPath = std::string;
20using Service = std::string;
21using Interface = std::string;
22using Interfaces = std::vector<std::string>;
23using Property = std::string;
24using PropertyType = std::string;
25using Value = std::variant<bool, uint8_t, int16_t, uint16_t, int32_t, uint32_t,
26 int64_t, uint64_t, double, std::string>;
27
28} // namespace dbus
29
30namespace pdr
31{
32
33using EID = uint8_t;
34using TerminusHandle = uint16_t;
35using TerminusID = uint8_t;
36using SensorID = uint16_t;
37using EntityType = uint16_t;
38using EntityInstance = uint16_t;
39using ContainerID = uint16_t;
40using StateSetId = uint16_t;
41using CompositeCount = uint8_t;
42using SensorOffset = uint8_t;
43using EventState = uint8_t;
44
45//!< Subset of the State Set that is supported by a effecter/sensor
46using PossibleStates = std::set<uint8_t>;
47//!< Subset of the State Set that is supported by each effecter/sensor in a
48//!< composite efffecter/sensor
49using CompositeSensorStates = std::vector<PossibleStates>;
50using EntityInfo = std::tuple<ContainerID, EntityType, EntityInstance>;
51using SensorInfo = std::tuple<EntityInfo, CompositeSensorStates>;
52
53} // namespace pdr
54
55} // namespace pldm