blob: cad2916f2c52c32b44ab76035a1df1eacea2f4eb [file] [log] [blame]
Patrick Venturef085d912019-03-15 08:50:00 -07001#pragma once
2
3#include <cstdint>
4#include <string>
5#include <tuple>
6
7namespace google
8{
9namespace ipmi
10{
11
12class HandlerInterface
13{
14 public:
15 virtual ~HandlerInterface() = default;
16
17 /**
18 * Return ethernet details (hard-coded).
19 *
20 * @return tuple of ethernet details (channel, if name).
21 */
22 virtual std::tuple<std::uint8_t, std::string> getEthDetails() const = 0;
23};
24
25class Handler : public HandlerInterface
26{
27 public:
28 Handler() = default;
29 ~Handler() = default;
30
31 std::tuple<std::uint8_t, std::string> getEthDetails() const override;
32};
33
34extern Handler handlerImpl;
35
36} // namespace ipmi
37} // namespace google