transporthandler: LanParam enum -> enum class
We should be using enum classes instead of enums to avoid poluting the
global scope.
Tested:
Built and run through unit tests.
Change-Id: Iec72f04b5cbf91814d0055c670bcc509eb30a821
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/transporthandler.cpp b/transporthandler.cpp
index c6a4031..88938b1 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -82,9 +82,9 @@
try
{
- switch (lan_param)
+ switch (static_cast<LanParam>(lan_param))
{
- case LAN_PARM_IP:
+ case LanParam::IP:
{
std::string ipaddress;
if (channelConf->lan_set_in_progress == SET_COMPLETE)
@@ -119,7 +119,7 @@
}
break;
- case LAN_PARM_IPSRC:
+ case LanParam::IPSRC:
{
std::string networkInterfacePath;
@@ -189,7 +189,7 @@
}
break;
- case LAN_PARM_SUBNET:
+ case LanParam::SUBNET:
{
unsigned long mask{};
if (channelConf->lan_set_in_progress == SET_COMPLETE)
@@ -226,7 +226,7 @@
}
break;
- case LAN_PARM_GATEWAY:
+ case LanParam::GATEWAY:
{
std::string gateway;
@@ -262,7 +262,7 @@
}
break;
- case LAN_PARM_MAC:
+ case LanParam::MAC:
{
std::string macAddress;
if (channelConf->lan_set_in_progress == SET_COMPLETE)
@@ -288,7 +288,7 @@
}
break;
- case LAN_PARM_VLAN:
+ case LanParam::VLAN:
{
uint16_t vlanID{};
if (channelConf->lan_set_in_progress == SET_COMPLETE)
@@ -423,9 +423,9 @@
}
auto channelConf = getChannelConfig(channel);
- switch (reqptr->parameter)
+ switch (static_cast<LanParam>(reqptr->parameter))
{
- case LAN_PARM_IP:
+ case LanParam::IP:
{
std::snprintf(ipaddr, INET_ADDRSTRLEN,
ipmi::network::IP_ADDRESS_FORMAT, reqptr->data[0],
@@ -435,7 +435,7 @@
}
break;
- case LAN_PARM_IPSRC:
+ case LanParam::IPSRC:
{
uint8_t ipsrc{};
std::memcpy(&ipsrc, reqptr->data, ipmi::network::IPSRC_SIZE_BYTE);
@@ -443,7 +443,7 @@
}
break;
- case LAN_PARM_MAC:
+ case LanParam::MAC:
{
char mac[SIZE_MAC];
@@ -463,7 +463,7 @@
}
break;
- case LAN_PARM_SUBNET:
+ case LanParam::SUBNET:
{
std::snprintf(netmask, INET_ADDRSTRLEN,
ipmi::network::IP_ADDRESS_FORMAT, reqptr->data[0],
@@ -472,7 +472,7 @@
}
break;
- case LAN_PARM_GATEWAY:
+ case LanParam::GATEWAY:
{
std::snprintf(gateway, INET_ADDRSTRLEN,
ipmi::network::IP_ADDRESS_FORMAT, reqptr->data[0],
@@ -481,7 +481,7 @@
}
break;
- case LAN_PARM_VLAN:
+ case LanParam::VLAN:
{
uint16_t vlan{};
std::memcpy(&vlan, reqptr->data, ipmi::network::VLAN_SIZE_BYTE);
@@ -493,7 +493,7 @@
}
break;
- case LAN_PARM_INPROGRESS:
+ case LanParam::INPROGRESS:
{
if (reqptr->data[0] == SET_COMPLETE)
{
@@ -585,9 +585,10 @@
}
auto channelConf = getChannelConfig(channel);
- switch (reqptr->parameter)
+ LanParam param = static_cast<LanParam>(reqptr->parameter);
+ switch (param)
{
- case LAN_PARM_INPROGRESS:
+ case LanParam::INPROGRESS:
{
uint8_t buf[] = {current_revision,
channelConf->lan_set_in_progress};
@@ -595,24 +596,24 @@
std::memcpy(response, &buf, *data_len);
break;
}
- case LAN_PARM_AUTHSUPPORT:
+ case LanParam::AUTHSUPPORT:
{
uint8_t buf[] = {current_revision, 0x04};
*data_len = sizeof(buf);
std::memcpy(response, &buf, *data_len);
break;
}
- case LAN_PARM_AUTHENABLES:
+ case LanParam::AUTHENABLES:
{
uint8_t buf[] = {current_revision, 0x04, 0x04, 0x04, 0x04, 0x04};
*data_len = sizeof(buf);
std::memcpy(response, &buf, *data_len);
break;
}
- case LAN_PARM_IP:
- case LAN_PARM_SUBNET:
- case LAN_PARM_GATEWAY:
- case LAN_PARM_MAC:
+ case LanParam::IP:
+ case LanParam::SUBNET:
+ case LanParam::GATEWAY:
+ case LanParam::MAC:
{
uint8_t buf[ipmi::network::MAC_ADDRESS_SIZE_BYTE + 1] = {};
@@ -622,7 +623,7 @@
if (getNetworkData(reqptr->parameter, &buf[1], channel) ==
IPMI_CC_OK)
{
- if (reqptr->parameter == LAN_PARM_MAC)
+ if (param == LanParam::MAC)
{
*data_len = sizeof(buf);
}
@@ -638,7 +639,7 @@
}
break;
}
- case LAN_PARM_VLAN:
+ case LanParam::VLAN:
{
uint8_t buf[ipmi::network::VLAN_SIZE_BYTE + 1] = {};
@@ -652,7 +653,7 @@
}
break;
}
- case LAN_PARM_IPSRC:
+ case LanParam::IPSRC:
{
uint8_t buff[ipmi::network::IPSRC_SIZE_BYTE + 1] = {};
*data_len = sizeof(current_revision);
@@ -665,7 +666,7 @@
}
break;
}
- case CIPHER_SUITE_COUNT:
+ case LanParam::CIPHER_SUITE_COUNT:
{
*(static_cast<uint8_t*>(response)) = current_revision;
// Byte 1 is reserved byte and does not indicate a cipher suite ID,
@@ -676,7 +677,7 @@
*data_len = sizeof(current_revision) + sizeof(count);
break;
}
- case CIPHER_SUITE_ENTRIES:
+ case LanParam::CIPHER_SUITE_ENTRIES:
{
*(static_cast<uint8_t*>(response)) = current_revision;
// Byte 1 is reserved
diff --git a/transporthandler.hpp b/transporthandler.hpp
index d08fef2..f27355f 100644
--- a/transporthandler.hpp
+++ b/transporthandler.hpp
@@ -18,17 +18,17 @@
};
// Parameters
-enum LanParam : uint8_t
+enum class LanParam : uint8_t
{
- LAN_PARM_INPROGRESS = 0,
- LAN_PARM_AUTHSUPPORT = 1,
- LAN_PARM_AUTHENABLES = 2,
- LAN_PARM_IP = 3,
- LAN_PARM_IPSRC = 4,
- LAN_PARM_MAC = 5,
- LAN_PARM_SUBNET = 6,
- LAN_PARM_GATEWAY = 12,
- LAN_PARM_VLAN = 20,
+ INPROGRESS = 0,
+ AUTHSUPPORT = 1,
+ AUTHENABLES = 2,
+ IP = 3,
+ IPSRC = 4,
+ MAC = 5,
+ SUBNET = 6,
+ GATEWAY = 12,
+ VLAN = 20,
CIPHER_SUITE_COUNT = 22,
CIPHER_SUITE_ENTRIES = 23,
};