blob: f167dbaed5596d43df375037c3067f07065c848c [file] [log] [blame]
/*
* Copyright (C) 2021 CESNET, https://photonics.cesnet.cz/
*
* Written by Tomáš Pecka <tomas.pecka@fit.cvut.cz>
*
*/
#pragma once
#include <filesystem>
#include <sdbus-c++/sdbus-c++.h>
#include <sysrepo-cpp/Session.hpp>
#include "utils/log-fwd.h"
namespace velia::system {
class IETFSystem {
public:
IETFSystem(::sysrepo::Session srSession, const std::filesystem::path& osRelease, sdbus::IConnection& dbusConnection, const std::string& dbusName);
private:
void initStaticProperties(const std::filesystem::path& osRelease);
void initSystemRestart();
void initHostname();
void initDummies();
void initClock();
void initDNS(sdbus::IConnection& connection, const std::string& dbusName);
::sysrepo::Session m_srSession;
std::optional<::sysrepo::Subscription> m_srSubscribe;
velia::Log m_log;
};
}