#pragma once #include #include #include #include #include "tupleref.hpp" namespace any_ns = std::experimental; namespace phosphor { namespace dbus { namespace monitoring { class Monitor; /** @brief The possible item value types */ using Value = int64_t; /** @brief A list of what constructs a unique item and its value */ using Group = std::vector>; /** @brief A conditional function type for item(s) conditions */ using Condition = std::function; /** @brief A void function type for actions based condition(s) */ using Action = std::function; /** @brief A map with references as keys. */ template using RefKeyMap = std::map, Value, std::less>; /** @brief A map with a tuple of references as keys. */ template using TupleRefMap = std::map, Value, TupleOfRefsLess>; /** @brief A vector of references. */ template using RefVector = std::vector>; /** @brief * * The mapper has a defect such that it provides strings * rather than object paths. Use an alias for easy refactoring * when the mapper is fixed. */ using MapperPath = std::string; /** @brief ObjectManager.InterfacesAdded signal signature alias. */ template using InterfacesAdded = std::map < std::string, std::map < std::string, sdbusplus::message::variant>>; /** @brief ObjectMapper.GetObject response signature alias. */ using GetObject = std::map>; /** @brief Properties.GetAll response signature alias. */ template using PropertiesChanged = std::map < std::string, sdbusplus::message::variant>; } // namespace monitoring } // namespace dbus } // namespace phosphor