blob: fca2a33641e759bafbbeb5bd58b10cc82e3cf345 [file] [log] [blame]
Chris Sides2ab73412024-10-15 16:04:11 -05001/*
2// Copyright (c) 2024 Hewlett Packard Enterprise
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15*/
16
17#pragma once
18
19#include <sdbusplus/async.hpp>
20#include <xyz/openbmc_project/Inventory/Decorator/Asset/aserver.hpp>
21
22class MachineContext :
23 public sdbusplus::aserver::xyz::openbmc_project::inventory::decorator::
24 Asset<MachineContext>
25{
26 public:
27 explicit MachineContext(sdbusplus::async::context& ctx, auto path) :
28 sdbusplus::aserver::xyz::openbmc_project::inventory::decorator::Asset<
29 MachineContext>(ctx, path) {};
30
31 void populateFromDeviceTree();
32
33 static bool keyNodeExists();
34
35 private:
36 static constexpr auto nodeBasePath = "/proc/device-tree/";
37};