added methods to get the audiostatus and toggle the mute status
[deb_libcec.git] / src / lib / LibCEC.h
index 8ce02ab3043c87c91d2545c8a442aefb570635bf..f65b8186b9e843d2917fa95e98be62b891a1b2a5 100644 (file)
@@ -34,6 +34,7 @@
 #include <string>
 #include "cec.h"
 #include "platform/util/buffer.h"
+#include "CECTypeUtils.h"
 
 namespace CEC
 {
@@ -44,14 +45,9 @@ namespace CEC
   class CLibCEC : public ICECAdapter
   {
     public:
-      CLibCEC(const char *strDeviceName, cec_device_type_list types, uint16_t iPhysicalAddress = 0);
-      CLibCEC(libcec_configuration *configuration);
+      CLibCEC(void);
       virtual ~CLibCEC(void);
 
-    /*!
-     * ICECAdapter implementation
-     */
-    //@{
       bool Open(const char *strPort, uint32_t iTimeout = CEC_DEFAULT_CONNECT_TIMEOUT);
       void Close(void);
       bool EnableCallbacks(void *cbParam, ICECCallbacks *callbacks);
@@ -100,26 +96,27 @@ namespace CEC
       void RescanActiveDevices(void);
       bool IsLibCECActiveSource(void);
 
-      const char *ToString(const cec_menu_state state);
-      const char *ToString(const cec_version version);
-      const char *ToString(const cec_power_status status);
-      const char *ToString(const cec_logical_address address);
-      const char *ToString(const cec_deck_control_mode mode);
-      const char *ToString(const cec_deck_info status);
-      const char *ToString(const cec_opcode opcode);
-      const char *ToString(const cec_system_audio_status mode);
-      const char *ToString(const cec_audio_status status);
-      const char *ToString(const cec_vendor_id vendor);
-      const char *ToString(const cec_client_version version);
-      const char *ToString(const cec_server_version version);
-      const char *ToString(const cec_device_type type);
+      const char *ToString(const cec_menu_state state)         { return CCECTypeUtils::ToString(state); }
+      const char *ToString(const cec_version version)          { return CCECTypeUtils::ToString(version); }
+      const char *ToString(const cec_power_status status)      { return CCECTypeUtils::ToString(status); }
+      const char *ToString(const cec_logical_address address)  { return CCECTypeUtils::ToString(address); }
+      const char *ToString(const cec_deck_control_mode mode)   { return CCECTypeUtils::ToString(mode); }
+      const char *ToString(const cec_deck_info status)         { return CCECTypeUtils::ToString(status); }
+      const char *ToString(const cec_opcode opcode)            { return CCECTypeUtils::ToString(opcode); }
+      const char *ToString(const cec_system_audio_status mode) { return CCECTypeUtils::ToString(mode); }
+      const char *ToString(const cec_audio_status status)      { return CCECTypeUtils::ToString(status); }
+      const char *ToString(const cec_vendor_id vendor)         { return CCECTypeUtils::ToString(vendor); }
+      const char *ToString(const cec_client_version version)   { return CCECTypeUtils::ToString(version); }
+      const char *ToString(const cec_server_version version)   { return CCECTypeUtils::ToString(version); }
+      const char *ToString(const cec_device_type type)         { return CCECTypeUtils::ToString(type); }
+      const char *ToString(const cec_user_control_code key)    { return CCECTypeUtils::ToString(key); }
+      const char *ToString(const cec_adapter_type type)        { return CCECTypeUtils::ToString(type); }
 
       static cec_device_type GetType(cec_logical_address address);
       static uint16_t GetMaskForType(cec_logical_address address);
       static uint16_t GetMaskForType(cec_device_type type);
 
       bool GetDeviceInformation(const char *strPort, libcec_configuration *config, uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT);
-    //@}
 
       void AddLog(const cec_log_level level, const char *strFormat, ...);
       void AddCommand(const cec_command &command);
@@ -131,9 +128,14 @@ namespace CEC
       void UnregisterClients(void);
       std::vector<CCECClient *> GetClients(void) { return m_clients; };
       const char *GetLibInfo(void);
-      const char *ToString(const cec_user_control_code key);
       void InitVideoStandalone(void);
-      const char *ToString(const cec_adapter_type type);
+      uint16_t GetAdapterVendorId(void) const;
+      uint16_t GetAdapterProductId(void) const;
+
+      uint8_t AudioToggleMute(void);
+      uint8_t AudioMute(void);
+      uint8_t AudioUnmute(void);
+      uint8_t AudioStatus(void);
 
       CCECProcessor *           m_cec;