cec: display an alert message when the firmware of the adapter can be upgraded. bugzi...
[deb_libcec.git] / src / lib / CECProcessor.cpp
index 861a9ac6ca5ef380effa53cef73a8378ae330833..272723ed48e46567222e92d55ca6f7077167eb31 100644 (file)
@@ -203,6 +203,17 @@ bool CCECProcessor::OpenConnection(const char *strPort, uint16_t iBaudRate, uint
     CLibCEC::AddLog(CEC_LOG_NOTICE, strLog);
   }
 
+  if (!m_communication->IsRunningLatestFirmware())
+  {
+    const char *strUpgradeMessage = "The firmware of this adapter can be upgraded. Please visit http://blog.pulse-eight.com/ for more information.";
+    CLibCEC::AddLog(CEC_LOG_WARNING, strUpgradeMessage);
+    CLibCEC::Alert(CEC_ALERT_SERVICE_DEVICE, libcec_parameter(strUpgradeMessage));
+  }
+  else
+  {
+    CLibCEC::AddLog(CEC_LOG_DEBUG, "the adapter is using the latest (known) firmware version");
+  }
+
   if (m_configuration.bGetSettingsFromROM == 1)
   {
     libcec_configuration config;
@@ -1407,6 +1418,20 @@ const char *CCECProcessor::ToString(const cec_opcode opcode)
     return "system audio mode status";
   case CEC_OPCODE_SET_AUDIO_RATE:
     return "set audio rate";
+  case CEC_OPCODE_START_ARC:
+    return "start ARC";
+  case CEC_OPCODE_REPORT_ARC_STARTED:
+    return "report ARC started";
+  case CEC_OPCODE_REPORT_ARC_ENDED:
+    return "report ARC ended";
+  case CEC_OPCODE_REQUEST_ARC_START:
+    return "request ARC start";
+  case CEC_OPCODE_REQUEST_ARC_END:
+    return "request ARC end";
+  case CEC_OPCODE_END_ARC:
+    return "end ARC";
+  case CEC_OPCODE_CDC:
+    return "CDC";
   case CEC_OPCODE_NONE:
     return "poll";
   default: