diff options
author | Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski@intel.com> | 2019-12-20 16:06:30 +0300 |
---|---|---|
committer | Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski@intel.com> | 2020-01-17 11:51:09 +0300 |
commit | 4356bc7e028534877aa9aad5a8b7102020acf261 (patch) | |
tree | 1059574566c95cccfd72bc8b0f9a3e43d131800b /src/main.cpp | |
parent | c8127eabdbc3ba26ae107709e424d62f88c8c566 (diff) | |
download | virtual-media-4356bc7e028534877aa9aad5a8b7102020acf261.tar.xz |
Add configuration class
Configuration class is used to read configration from file and validate
entries.
Also exposes API to serve stored data.
Change-Id: Id4989ff45ff4a5cf7af7acf76a89b1c5838862f4
Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>
Signed-off-by: Czarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski@intel.com>
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp index 666c3a6..792cdf2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,3 +1,4 @@ +#include "configuration.hpp" #include "logger.hpp" #include "system.hpp" @@ -20,8 +21,10 @@ class App { public: - App(boost::asio::io_context& ioc, sd_bus* custom_bus = nullptr) : - ioc(ioc), devMonitor(ioc) + App(boost::asio::io_context& ioc, const Configuration& config, + sd_bus* custom_bus = nullptr) : + ioc(ioc), + devMonitor(ioc), config(config) { if (!custom_bus) { @@ -48,10 +51,15 @@ class App std::shared_ptr<sdbusplus::asio::object_server> objServer; std::shared_ptr<sdbusplus::server::manager::manager> objManager; DeviceMonitor devMonitor; + const Configuration& config; }; int main() { + Configuration config("/etc/virtual-media.json"); + if (!config.valid) + return -1; + boost::asio::io_context ioc; boost::asio::signal_set signals(ioc, SIGINT, SIGTERM); signals.async_wait( @@ -66,7 +74,7 @@ int main() sd_bus_start(b); #endif sd_bus_default_system(&b); - App app(ioc, b); + App app(ioc, config, b); ioc.run(); |