xref: /openbmc/ibm-logging/interfaces.hpp (revision 8123a713)
1e0017ebbSMatt Spinler #pragma once
2e0017ebbSMatt Spinler 
34a6ea6afSMatt Spinler #include <com/ibm/Logging/Policy/server.hpp>
423818bb0SMatt Spinler #include <xyz/openbmc_project/Common/ObjectPath/server.hpp>
523818bb0SMatt Spinler #include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
64a6ea6afSMatt Spinler 
7e0017ebbSMatt Spinler namespace ibm
8e0017ebbSMatt Spinler {
9e0017ebbSMatt Spinler namespace logging
10e0017ebbSMatt Spinler {
11e0017ebbSMatt Spinler 
124a6ea6afSMatt Spinler template <typename... T>
13*8123a713SPatrick Williams using ServerObject = typename sdbusplus::server::object_t<T...>;
144a6ea6afSMatt Spinler 
1523818bb0SMatt Spinler using ObjectPathInterface =
1623818bb0SMatt Spinler     sdbusplus::xyz::openbmc_project::Common::server::ObjectPath;
1723818bb0SMatt Spinler 
1823818bb0SMatt Spinler using CalloutInterface =
1923818bb0SMatt Spinler     sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset;
2023818bb0SMatt Spinler using CalloutObject = ServerObject<CalloutInterface, ObjectPathInterface>;
2123818bb0SMatt Spinler 
224a6ea6afSMatt Spinler using PolicyInterface = sdbusplus::com::ibm::Logging::server::Policy;
234a6ea6afSMatt Spinler using PolicyObject = ServerObject<PolicyInterface>;
244a6ea6afSMatt Spinler 
25e0017ebbSMatt Spinler enum class InterfaceType
26e0017ebbSMatt Spinler {
2723818bb0SMatt Spinler     CALLOUT,
289bea4eafSMatt Spinler     POLICY
29e0017ebbSMatt Spinler };
3066e07073SMatt Spinler } // namespace logging
3166e07073SMatt Spinler } // namespace ibm
32