replace tuple-based singleton with individual singletons
The tuple-based singletons did not actually enforce singleton behavior
and the requirement of the accessor mechanism to include all of the
member types at once was starting to cause a header prerequisite
tangle. This removes the cross-dependencies and enforces actual
singletons by making a single way to access the class.
Tested: Run ipmitool to show that behavior has not changed
Change-Id: Ie966e1142363d279365b1095066380c8383e9f9b
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/main.hpp b/main.hpp
index 7c78554..fa7584b 100644
--- a/main.hpp
+++ b/main.hpp
@@ -1,18 +1,9 @@
#pragma once
-#include "command/guid.hpp"
-#include "sd_event_loop.hpp"
-#include "sol/sol_manager.hpp"
-
-#include <command_table.hpp>
+#include <boost/asio/io_context.hpp>
#include <cstddef>
+#include <memory>
#include <sdbusplus/asio/connection.hpp>
-#include <sessions_manager.hpp>
-#include <tuple>
-
-extern std::tuple<session::Manager&, command::Table&, eventloop::EventLoop&,
- sol::Manager&>
- singletonPool;
// Select call timeout is set arbitrarily set to 30 sec
static constexpr size_t SELECT_CALL_TIMEOUT = 30;
@@ -21,3 +12,4 @@
extern sd_bus* bus;
std::shared_ptr<sdbusplus::asio::connection> getSdBus();
+std::shared_ptr<boost::asio::io_context> getIo();