handler: move static object to main
Move the static object from the handler to main and drop the default
parameter such that one can build against this nicely in another build
environment.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I33347172907473977c52d30994f97a1685985b69
diff --git a/ethstats.hpp b/ethstats.hpp
index 984d46d..520ed15 100644
--- a/ethstats.hpp
+++ b/ethstats.hpp
@@ -65,7 +65,7 @@
*/
ipmi_ret_t handleEthStatCommand(const std::uint8_t* reqBuf,
std::uint8_t* replyCmdBuf, size_t* dataLen,
- const EthStatsInterface* handler = &handler);
+ const EthStatsInterface* handler);
/**
* Given an ethernet if_name and a field, build the full path.
diff --git a/handler.cpp b/handler.cpp
index d34b7fc..6b36b7b 100644
--- a/handler.cpp
+++ b/handler.cpp
@@ -53,6 +53,4 @@
return value;
}
-EthStats handler;
-
} // namespace ethstats
diff --git a/handler.hpp b/handler.hpp
index 77ad55c..757126d 100644
--- a/handler.hpp
+++ b/handler.hpp
@@ -36,6 +36,4 @@
std::uint64_t readStatistic(const std::string& path) const override;
};
-extern EthStats handler;
-
} // namespace ethstats
diff --git a/main.cpp b/main.cpp
index 9020809..e45d878 100644
--- a/main.cpp
+++ b/main.cpp
@@ -26,11 +26,13 @@
namespace ethstats
{
+EthStats handler;
+
static ipmi_ret_t ethStatCommand(ipmi_cmd_t cmd __attribute__((unused)),
const uint8_t* reqBuf, uint8_t* replyCmdBuf,
size_t* dataLen)
{
- return handleEthStatCommand(reqBuf, replyCmdBuf, dataLen);
+ return handleEthStatCommand(reqBuf, replyCmdBuf, dataLen, &handler);
}
} // namespace ethstats