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/comm_module.cpp b/comm_module.cpp
index acc9089..7b6b496 100644
--- a/comm_module.cpp
+++ b/comm_module.cpp
@@ -6,7 +6,6 @@
#include "command/rakp34.hpp"
#include "command/session_cmds.hpp"
#include "command_table.hpp"
-#include "main.hpp"
#include "session.hpp"
#include <algorithm>
@@ -57,11 +56,10 @@
for (auto& iter : commands)
{
- std::get<command::Table&>(singletonPool)
- .registerCommand(iter.command,
- std::make_unique<command::NetIpmidEntry>(
- iter.command, iter.functor, iter.privilege,
- iter.sessionless));
+ command::Table::get().registerCommand(
+ iter.command,
+ std::make_unique<command::NetIpmidEntry>(
+ iter.command, iter.functor, iter.privilege, iter.sessionless));
}
}