cec: added SendKeypress()/cec_send_keypress() and SendKeyRelease()/cec_send_key_release()
[deb_libcec.git] / src / lib / CECProcessor.cpp
index 8315cd297b1f66ba6d204b924351f939b7bdd6df..021e4317d7812e6d303e5a0737fa104dc498ef44 100644 (file)
@@ -492,6 +492,33 @@ bool CCECProcessor::PollDevice(cec_logical_address iAddress)
   return false;
 }
 
+uint8_t CCECProcessor::VolumeUp(bool bWait /* = true */)
+{
+  uint8_t status = 0;
+  if (IsActiveDevice(CECDEVICE_AUDIOSYSTEM))
+    status = ((CCECAudioSystem *)m_busDevices[CECDEVICE_AUDIOSYSTEM])->VolumeUp(bWait);
+
+  return status;
+}
+
+uint8_t CCECProcessor::VolumeDown(bool bWait /* = true */)
+{
+  uint8_t status = 0;
+  if (IsActiveDevice(CECDEVICE_AUDIOSYSTEM))
+    status = ((CCECAudioSystem *)m_busDevices[CECDEVICE_AUDIOSYSTEM])->VolumeDown(bWait);
+
+  return status;
+}
+
+uint8_t CCECProcessor::MuteAudio(bool bWait /* = true */)
+{
+  uint8_t status = 0;
+  if (IsActiveDevice(CECDEVICE_AUDIOSYSTEM))
+    status = ((CCECAudioSystem *)m_busDevices[CECDEVICE_AUDIOSYSTEM])->MuteAudio(bWait);
+
+  return status;
+}
+
 CCECBusDevice *CCECProcessor::GetDeviceByPhysicalAddress(uint16_t iPhysicalAddress, bool bRefresh /* = false */) const
 {
   if (m_busDevices[m_logicalAddresses.primary]->GetPhysicalAddress(false) == iPhysicalAddress)
@@ -786,3 +813,13 @@ bool CCECProcessor::SetAckMask(uint16_t iMask)
 
   return bReturn;
 }
+
+bool CCECProcessor::SendKeypress(cec_logical_address iDestination, cec_user_control_code key, bool bWait /* = false */)
+{
+  return m_busDevices[iDestination]->SendKeypress(key, bWait);
+}
+
+bool CCECProcessor::SendKeyRelease(cec_logical_address iDestination, bool bWait /* = false */)
+{
+  return m_busDevices[iDestination]->SendKeyRelease(bWait);
+}