summaryrefslogtreecommitdiffstats
path: root/manager.cpp
diff options
context:
space:
mode:
authorKun Yi <kunyi731@gmail.com>2019-11-14 11:38:44 -0800
committerKun Yi <kunyi731@gmail.com>2019-11-21 10:06:48 -0800
commitfea1d8115bace4bedae2523a9d9389a990adb09f (patch)
tree527085518596fcd100d4d20e599489a5809e2dbe /manager.cpp
parent9ce834822ed625512913e14b83c50487d4b2c12b (diff)
downloadphosphor-ipmi-blobs-fea1d8115bace4bedae2523a9d9389a990adb09f.tar.gz
phosphor-ipmi-blobs-fea1d8115bace4bedae2523a9d9389a990adb09f.zip
cleanup: Use scoped initializers; move implementation to source file
Simplify code and address comments from http://gerrit.openbmc-project.xyz/c/openbmc/phosphor-ipmi-blobs/+/27399: * Use C++17 syntax of intializers in conditionals to simplify code. * Move getActionHandle() implementation to .cpp * return false explicitly Tested: Unit tests still pass. Signed-off-by: Kun Yi <kunyi731@gmail.com> Change-Id: I08a78125206f284d8c748822912e11828fb39968
Diffstat (limited to 'manager.cpp')
-rw-r--r--manager.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/manager.cpp b/manager.cpp
index 15ff083..0eec6f2 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -170,15 +170,26 @@ GenericBlobInterface* BlobManager::getHandler(const std::string& path)
return nullptr;
}
+GenericBlobInterface* BlobManager::getActionHandle(uint16_t session,
+ uint16_t requiredFlags)
+{
+ if (auto item = sessions.find(session);
+ item != sessions.end() && (item->second.flags & requiredFlags))
+ {
+ item->second.lastActionTime = std::chrono::steady_clock::now();
+ return item->second.handler;
+ }
+ return nullptr;
+}
+
std::string BlobManager::getPath(uint16_t session) const
{
- auto item = sessions.find(session);
- if (item == sessions.end())
+ if (auto item = sessions.find(session); item != sessions.end())
{
- return "";
+ return item->second.blobId;
}
- return item->second.blobId;
+ return "";
}
bool BlobManager::stat(const std::string& path, BlobMeta* meta)
@@ -259,7 +270,7 @@ bool BlobManager::write(uint16_t session, uint32_t offset,
{
return handler->write(session, offset, data);
}
- return {};
+ return false;
}
bool BlobManager::deleteBlob(const std::string& path)
OpenPOWER on IntegriCloud