blob: 0ec0d0d1badcfc47fda88419bd7c800f6aa656d7 [file] [log] [blame]
Matthew Bartha227a162020-08-05 10:51:45 -05001/**
2 * Copyright © 2020 IBM Corporation
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#include "manager.hpp"
17
18#include "json_config.hpp"
19#include "json_parser.hpp"
20
21#include <sdbusplus/bus.hpp>
22
23#include <filesystem>
24
25namespace phosphor::fan::control::json
26{
27
28Manager::Manager(sdbusplus::bus::bus& bus)
29{
30 // Manager JSON config file is optional
31 auto confFile =
32 fan::JsonConfig::getConfFile(bus, confAppName, confFileName, true);
33 if (!confFile.empty())
34 {
35 _jsonObj = fan::JsonConfig::load(confFile);
36 }
37}
38
39unsigned int Manager::getPowerOnDelay()
40{
41 auto powerOnDelay = 0;
42
43 // Parse optional "power_on_delay" from JSON object
44 if (!_jsonObj.empty() && _jsonObj.contains("power_on_delay"))
45 {
46 powerOnDelay = _jsonObj["power_on_delay"].get<unsigned int>();
47 }
48
49 return powerOnDelay;
50}
51
52} // namespace phosphor::fan::control::json