summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorCzarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski@intel.com>2019-12-20 16:06:30 +0300
committerCzarnowski, Przemyslaw <przemyslaw.hawrylewicz.czarnowski@intel.com>2020-01-17 11:51:09 +0300
commit4356bc7e028534877aa9aad5a8b7102020acf261 (patch)
tree1059574566c95cccfd72bc8b0f9a3e43d131800b /src/main.cpp
parentc8127eabdbc3ba26ae107709e424d62f88c8c566 (diff)
downloadvirtual-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.cpp14
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();