firmware: move enum into class
This will protect the namespace from pollution, but also allow it to be
just a normal enum for arithmetic operations.
Change-Id: Ie4eab4040619b0c37ab0395b984437ebf3cf2101
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/firmware_handler.hpp b/firmware_handler.hpp
index 1a9e8b0..8f54d7d 100644
--- a/firmware_handler.hpp
+++ b/firmware_handler.hpp
@@ -11,19 +11,19 @@
namespace blobs
{
-enum class FirmwareUpdateFlags
-{
- bt = (1 << 8), /* Expect to send contents over IPMI BlockTransfer. */
- p2a = (1 << 9), /* Expect to send contents over P2A bridge. */
- lpc = (1 << 10), /* Expect to send contents over LPC bridge. */
-};
-
/**
* Register only one firmware blob handler that will manage all sessions.
*/
class FirmwareBlobHandler : public GenericBlobInterface
{
public:
+ enum FirmwareUpdateFlags : std::uint16_t
+ {
+ bt = (1 << 8), /* Expect to send contents over IPMI BlockTransfer. */
+ p2a = (1 << 9), /* Expect to send contents over P2A bridge. */
+ lpc = (1 << 10), /* Expect to send contents over LPC bridge. */
+ };
+
/**
* Create a FirmwareBlobHandler.
*
diff --git a/main.cpp b/main.cpp
index 1934c6f..28bb943 100644
--- a/main.cpp
+++ b/main.cpp
@@ -24,7 +24,7 @@
};
std::uint16_t supportedTransports =
- static_cast<std::uint16_t>(FirmwareUpdateFlags::bt);
+ FirmwareBlobHandler::FirmwareUpdateFlags::bt;
} // namespace
void setupFirmwareHandler() __attribute__((constructor));
@@ -32,10 +32,10 @@
void setupFirmwareHandler()
{
#ifdef ENABLE_PCI_BRIDGE
- supportedTransports |= static_cast<std::uint16_t>(FirmwareUpdateFlags::p2a);
+ supportedTransports |= FirmwareBlobHandler::FirmwareUpdateFlags::p2a;
#endif
#ifdef ENABLE_LPC_BRIDGE
- supportedTransports |= static_cast<std::uint16_t>(FirmwareUpdateFlags::lpc);
+ supportedTransports |= FirmwareBlobHandler::FirmwareUpdateFlags::lpc;
#endif
auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
diff --git a/test/firmware_canhandle_unittest.cpp b/test/firmware_canhandle_unittest.cpp
index b82ab6a..028d472 100644
--- a/test/firmware_canhandle_unittest.cpp
+++ b/test/firmware_canhandle_unittest.cpp
@@ -27,7 +27,7 @@
};
auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
- blobs, static_cast<uint16_t>(FirmwareUpdateFlags::bt));
+ blobs, FirmwareBlobHandler::FirmwareUpdateFlags::bt);
for (const auto& item : items)
{
diff --git a/test/firmware_stat_unittest.cpp b/test/firmware_stat_unittest.cpp
index 7d0961b..a00adf5 100644
--- a/test/firmware_stat_unittest.cpp
+++ b/test/firmware_stat_unittest.cpp
@@ -24,10 +24,10 @@
};
auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
- blobs, static_cast<uint16_t>(FirmwareUpdateFlags::bt));
+ blobs, FirmwareBlobHandler::FirmwareUpdateFlags::bt);
struct BlobMeta meta;
EXPECT_TRUE(handler->stat("asdf", &meta));
- EXPECT_EQ(static_cast<uint16_t>(FirmwareUpdateFlags::bt), meta.blobState);
+ EXPECT_EQ(FirmwareBlobHandler::FirmwareUpdateFlags::bt, meta.blobState);
}
} // namespace blobs