cec: show the power status as string instead of int
authorLars Op den Kamp <lars@opdenkamp.eu>
Thu, 10 Nov 2011 17:30:00 +0000 (18:30 +0100)
committerLars Op den Kamp <lars@opdenkamp.eu>
Thu, 10 Nov 2011 18:00:41 +0000 (19:00 +0100)
src/lib/devices/CECBusDevice.cpp
src/lib/implementations/CECCommandHandler.cpp
src/lib/implementations/CECCommandHandler.h

index 49ca7db7ce64592db298735d361d040f08b23149..00a6bcdb95e8ed150811378de45eea1d426a2ef2 100644 (file)
@@ -315,7 +315,7 @@ void CCECBusDevice::SetPowerStatus(const cec_power_status powerStatus)
   if (m_powerStatus != powerStatus)
   {
     CStdString strLog;
-    strLog.Format(">> %s (%X): power status changed from %2x to %2x", GetLogicalAddressName(), m_iLogicalAddress, m_powerStatus, powerStatus);
+    strLog.Format(">> %s (%X): power status changed from '%s' to '%s'", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(m_powerStatus), CCECCommandHandler::ToString(powerStatus));
     m_processor->AddLog(CEC_LOG_DEBUG, strLog);
     m_powerStatus = powerStatus;
   }
@@ -524,31 +524,9 @@ bool CCECBusDevice::TransmitPoll(cec_logical_address dest)
 bool CCECBusDevice::TransmitPowerState(cec_logical_address dest)
 {
   CStdString strLog;
-  strLog.Format("<< %s (%X) -> %s (%X): ", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest);
-
-  switch (m_powerStatus)
-  {
-  case CEC_POWER_STATUS_ON:
-    strLog.append("powered on");
-    break;
-  case CEC_POWER_STATUS_STANDBY:
-    strLog.append("in standby mode");
-    break;
-  case CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY:
-    strLog.append("in transition from on to standby");
-    break;
-  case CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON:
-    strLog.append("in transition from standby to on");
-    break;
-  default:
-    strLog.append("power state unknown");
-    break;
-  }
+  strLog.Format("<< %s (%X) -> %s (%X): %s", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest, CCECCommandHandler::ToString(m_powerStatus));
   AddLog(CEC_LOG_NOTICE, strLog.c_str());
 
-  strLog.Format("<< reporting power status '%d'", m_powerStatus);
-  AddLog(CEC_LOG_NOTICE, strLog);
-
   cec_command command;
   cec_command::format(command, m_iLogicalAddress, dest, CEC_OPCODE_REPORT_POWER_STATUS);
   command.parameters.push_back((uint8_t) m_powerStatus);
index c37f7a2343ffcba1e2b832a9d8a02478d0b5cae8..94aaeaa9fcfd941a6116ef1abb139bf1033dcd45 100644 (file)
@@ -465,6 +465,23 @@ void CCECCommandHandler::SetVendorId(const cec_command &command)
     device->SetVendorId(iVendorId, command.parameters.size > 3 ? command.parameters[3] : 0);
 }
 
+const char *CCECCommandHandler::ToString(const cec_power_status status)
+{
+  switch (status)
+  {
+  case CEC_POWER_STATUS_ON:
+    return "on";
+  case CEC_POWER_STATUS_STANDBY:
+    return "standby";
+  case CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY:
+    return "in transition from on to standby";
+  case CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON:
+    return "in transition from standby to on";
+  default:
+    return "unknown";
+  }
+}
+
 const char *CCECCommandHandler::ToString(const cec_logical_address address)
 {
   switch(address)
index 843aa63802a0b2fc8dca37598a3c1aad51b78d2d..a29076449ceea8c349ec9feb02bf2d0b72067672 100644 (file)
@@ -47,6 +47,7 @@ namespace CEC
     virtual bool HandleCommand(const cec_command &command);
     virtual cec_vendor_id GetVendorId(void) { return CEC_VENDOR_UNKNOWN; };
 
+    static const char *ToString(const cec_power_status status);
     static const char *ToString(const cec_deck_info status);
     static const char* ToString(const cec_logical_address address);
     static const char* ToString(const cec_opcode opcode);