cec: add GetDevicePhysicalAddress()/cec_get_device_physical_address()
[deb_libcec.git] / src / lib / LibCECC.cpp
index 6c8d141c85ba5274ceca6450b52633b6a785a760..ffa8f5561dfc7fd3c4755c1ac1bf652a5148c0a5 100644 (file)
@@ -186,6 +186,19 @@ int cec_set_active_source(cec_device_type type)
   return -1;
 }
 
+int cec_set_deck_control_mode(cec_deck_control_mode mode, int bSendUpdate) {
+  if (cec_parser)
+    return cec_parser->SetDeckControlMode(mode, bSendUpdate == 1) ? 1 : 0;
+  return -1;
+}
+
+int cec_set_deck_info(cec_deck_info info, int bSendUpdate) {
+  if (cec_parser)
+    return cec_parser->SetDeckInfo(info, bSendUpdate == 1) ? 1 : 0;
+  return -1;
+
+}
+
 int cec_set_inactive_view(void)
 {
   if (cec_parser)
@@ -193,6 +206,12 @@ int cec_set_inactive_view(void)
   return -1;
 }
 
+int cec_set_menu_state(cec_menu_state state, int bSendUpdate) {
+  if (cec_parser)
+    return cec_parser->SetMenuState(state, bSendUpdate == 1) ? 1 : 0;
+  return -1;
+}
+
 int cec_set_osd_string(cec_logical_address iLogicalAddress, cec_display_control duration, const char *strMessage)
 {
   if (cec_parser)
@@ -228,6 +247,13 @@ uint64_t cec_get_device_vendor_id(cec_logical_address iLogicalAddress)
   return 0;
 }
 
+uint16_t cec_get_device_physical_address(cec_logical_address iLogicalAddress)
+{
+  if (cec_parser)
+    return cec_parser->GetDevicePhysicalAddress(iLogicalAddress);
+  return 0;
+}
+
 cec_power_status cec_get_device_power_status(cec_logical_address iLogicalAddress)
 {
   if (cec_parser)
@@ -319,4 +345,9 @@ cec_osd_name cec_get_osd_name(cec_logical_address iAddress)
   return retVal;
 }
 
+int cec_enable_physical_address_detection(void)
+{
+  return cec_parser ? (cec_parser->EnablePhysicalAddressDetection() ? 1 : 0) : -1;
+}
+
 //@}