diff options
Diffstat (limited to 'phosphor-rsyslog-config/server-conf.cpp')
-rw-r--r-- | phosphor-rsyslog-config/server-conf.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/phosphor-rsyslog-config/server-conf.cpp b/phosphor-rsyslog-config/server-conf.cpp index 1b46965..0b5bc62 100644 --- a/phosphor-rsyslog-config/server-conf.cpp +++ b/phosphor-rsyslog-config/server-conf.cpp @@ -2,7 +2,6 @@ #include "utils.hpp" #include "xyz/openbmc_project/Common/error.hpp" #include <fstream> -#include <phosphor-logging/log.hpp> #include <phosphor-logging/elog.hpp> #if __has_include("../../usr/include/phosphor-logging/elog-errors.hpp") #include "../../usr/include/phosphor-logging/elog-errors.hpp" @@ -128,5 +127,28 @@ bool Server::addressValid(const std::string& address) return true; } +void Server::restore(const char* filePath) +{ + std::fstream stream(filePath, std::fstream::in); + std::string line; + + getline(stream, line); + + // Ignore if line is commented + if ('#' != line.at(0)) + { + auto pos = line.find(':'); + if (pos != std::string::npos) + { + //"*.* @@<address>:<port>" + constexpr auto start = 6; // Skip "*.* @@" + auto serverAddress = line.substr(start, pos - start); + auto serverPort = line.substr(pos + 1); + NetworkClient::address(std::move(serverAddress)); + NetworkClient::port(std::stoul(serverPort)); + } + } +} + } // namespace rsyslog_config } // namespace phosphor |