diff options
author | Patrick Venture <venture@google.com> | 2018-10-01 18:37:34 -0700 |
---|---|---|
committer | Patrick Venture <venture@google.com> | 2018-10-04 13:57:21 +0000 |
commit | 73eb687a46cab0d3d9d679e1af8a7a13353bcd11 (patch) | |
tree | ec7e7819a2dfe0a044d0ecd2f6b0009be6126e9d | |
parent | 7210b3109d3c93dd95eec0f74ab0635cba55fe2b (diff) | |
download | phosphor-ipmi-blobs-73eb687a46cab0d3d9d679e1af8a7a13353bcd11.tar.gz phosphor-ipmi-blobs-73eb687a46cab0d3d9d679e1af8a7a13353bcd11.zip |
manager: return abstract base type
Unit-tests later required knowing the vtable for a BlobManager, and this
should avoid that needless complication.
Change-Id: I7a208d08c2065b7383fd5095e00d17c1ab3b0cf5
Signed-off-by: Patrick Venture <venture@google.com>
-rw-r--r-- | blobs-ipmid/manager.hpp | 2 | ||||
-rw-r--r-- | example/example.cpp | 2 | ||||
-rw-r--r-- | main.cpp | 5 | ||||
-rw-r--r-- | manager.cpp | 2 |
4 files changed, 5 insertions, 6 deletions
diff --git a/blobs-ipmid/manager.hpp b/blobs-ipmid/manager.hpp index 14c8b98..884271c 100644 --- a/blobs-ipmid/manager.hpp +++ b/blobs-ipmid/manager.hpp @@ -256,6 +256,6 @@ class BlobManager : public ManagerInterface * * @return a pointer to the BlobManager instance. */ -BlobManager* getBlobManager(); +ManagerInterface* getBlobManager(); } // namespace blobs diff --git a/example/example.cpp b/example/example.cpp index 9209798..c17d71d 100644 --- a/example/example.cpp +++ b/example/example.cpp @@ -174,7 +174,7 @@ void setupExampleHandler() __attribute__((constructor)); void setupExampleHandler() { - BlobManager* manager = getBlobManager(); + auto* manager = getBlobManager(); if (!manager->registerHandler(std::make_unique<ExampleBlobHandler>())) { log<level::ERR>("Failed to register Example Handler"); @@ -55,9 +55,8 @@ static ipmi_ret_t handleBlobCommand(ipmi_cmd_t cmd, const uint8_t* reqBuf, return IPMI_CC_INVALID; } - BlobManager* manager = getBlobManager(); - return processBlobCommand(command, manager, &crc, reqBuf, replyCmdBuf, - dataLen); + return processBlobCommand(command, getBlobManager(), &crc, reqBuf, + replyCmdBuf, dataLen); } /* TODO: this should come from the makefile or recipe... */ diff --git a/manager.cpp b/manager.cpp index 5ab7eb3..6a94c1a 100644 --- a/manager.cpp +++ b/manager.cpp @@ -347,7 +347,7 @@ bool BlobManager::getSession(uint16_t* sess) static std::unique_ptr<BlobManager> manager; -BlobManager* getBlobManager() +ManagerInterface* getBlobManager() { if (manager == nullptr) { |