cec: send a feature abort again for all unhandled commands, removed statics, refactor...
[deb_libcec.git] / src / lib / devices / CECAudioSystem.h
index 82718f973b11078a47e9421ecdfc3f532d47fef8..e2e3cd219030f0aa2c85ffa587321f499062fa58 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * This file is part of the libCEC(R) library.
  *
- * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited.  All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited.  All rights reserved.
  * libCEC(R) is an original work, containing original code.
  *
  * libCEC(R) is a trademark of Pulse-Eight Limited.
@@ -38,15 +38,23 @@ namespace CEC
   class CCECAudioSystem : public CCECBusDevice
   {
   public:
-    CCECAudioSystem(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = 0);
+    CCECAudioSystem(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = CEC_INVALID_PHYSICAL_ADDRESS);
     virtual ~CCECAudioSystem(void) {};
 
-    virtual bool SetSystemAudioMode(const cec_command &command);
-    virtual bool TransmitAudioStatus(cec_logical_address dest);
-    virtual bool TransmitSystemAudioModeStatus(cec_logical_address dest);
+    bool SetAudioStatus(uint8_t status);
+    bool SetSystemAudioModeStatus(const cec_system_audio_status mode);
+    bool TransmitAudioStatus(cec_logical_address dest);
+    bool TransmitSetSystemAudioMode(cec_logical_address dest);
+    bool TransmitSystemAudioModeStatus(cec_logical_address dest);
+
+    uint8_t VolumeUp(const cec_logical_address source, bool bSendRelease = true);
+    uint8_t VolumeDown(const cec_logical_address source, bool bSendRelease = true);
+    uint8_t MuteAudio(const cec_logical_address source);
+
+    bool TransmitActiveSource(void) { return false; }
 
   protected:
     cec_system_audio_status m_systemAudioStatus;
-    cec_audio_status        m_audioStatus;
+    uint8_t                 m_audioStatus;
   };
 }