blob: a61cae770f9646249d5e080d21c05287d6597086 [file] [log] [blame]
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -05001#pragma once
2
Lei YU3afad182023-07-18 13:41:30 +08003#include "config.h"
4
George Liudc746c02022-09-02 11:10:55 +08005#include "utils.hpp"
6
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -05007#include <sdbusplus/bus.hpp>
George Liuc6d33972020-06-22 10:35:29 +08008
Gunnar Millsab4cc6a2018-09-14 14:42:39 -05009#include <string>
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -050010
11namespace settings
12{
13
George Liudc746c02022-09-02 11:10:55 +080014using namespace phosphor::time::utils;
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -050015
16constexpr auto root = "/";
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -050017constexpr auto timeSyncIntf = "xyz.openbmc_project.Time.Synchronization";
18
19/** @class Objects
20 * @brief Fetch paths of settings D-bus objects of interest upon construction
21 */
22struct Objects
23{
Gunnar Millsab4cc6a2018-09-14 14:42:39 -050024 public:
25 /** @brief Constructor - fetch settings objects
26 *
27 * @param[in] bus - The D-bus bus object
28 */
Pavithra Barithaya864e1732023-04-11 04:30:23 -050029 explicit Objects(sdbusplus::bus_t& /*bus*/);
Brad Bishop4e845392018-12-18 18:13:12 -050030 Objects() = delete;
Brad Bishop4e845392018-12-18 18:13:12 -050031 Objects(const Objects&) = delete;
32 Objects& operator=(const Objects&) = delete;
Gunnar Millsab4cc6a2018-09-14 14:42:39 -050033 Objects(Objects&&) = default;
Pavithra Barithaya864e1732023-04-11 04:30:23 -050034 Objects& operator=(Objects&&) = delete;
Gunnar Millsab4cc6a2018-09-14 14:42:39 -050035 ~Objects() = default;
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -050036
Gunnar Millsab4cc6a2018-09-14 14:42:39 -050037 /** @brief time sync method settings object */
Lei YU3afad182023-07-18 13:41:30 +080038 Path timeSyncMethod = DEFAULT_TIME_SYNC_OBJECT_PATH;
Deepak Kodihalli20ed79e2017-07-25 05:48:58 -050039};
40
41} // namespace settings