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