cec: added logical address autodetection and let libcec handle multiple types simulta...
[deb_libcec.git] / src / lib / LibCEC.h
index 1862a6e707eb359fc942c0a999ea431648016f4f..69c5b1890f78488c5838de3ad0711c85feaeb2db 100644 (file)
@@ -47,6 +47,7 @@ namespace CEC
      * ICECAdapter implementation
      */
     //@{
+      CLibCEC(const char *strDeviceName, cec_device_type_list types);
       CLibCEC(const char *strDeviceName, cec_logical_address iLogicalAddress = CECDEVICE_PLAYBACKDEVICE1, uint16_t iPhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS);
       virtual ~CLibCEC(void);
 
@@ -56,8 +57,9 @@ namespace CEC
       virtual bool PingAdapter(void);
       virtual bool StartBootloader(void);
 
-      virtual int8_t GetMinVersion(void);
-      virtual int8_t GetLibVersion(void);
+      virtual int8_t GetMinLibVersion(void) const{ return CEC_MIN_LIB_VERSION; };
+      virtual int8_t GetLibVersionMajor(void) const { return CEC_LIB_VERSION_MAJOR; };
+      virtual int8_t GetLibVersionMinor(void) const { return CEC_LIB_VERSION_MINOR; };
 
       virtual bool GetNextLogMessage(cec_log_message *message);
       virtual bool GetNextKeypress(cec_keypress *key);
@@ -75,10 +77,14 @@ namespace CEC
       virtual bool SwitchMonitoring(bool bEnable);
       virtual cec_version GetDeviceCecVersion(cec_logical_address iAddress);
       virtual bool GetDeviceMenuLanguage(cec_logical_address iAddress, cec_menu_language *language);
+      virtual uint64_t GetDeviceVendorId(cec_logical_address iAddress);
+      virtual cec_power_status GetDevicePowerStatus(cec_logical_address iAddress);
+      virtual bool PollDevice(cec_logical_address iAddress);
     //@}
 
       virtual void AddLog(cec_log_level level, const std::string &strMessage);
       virtual void AddKey(void);
+      virtual void AddKey(cec_keypress &key);
       virtual void AddCommand(const cec_command &command);
       virtual void CheckKeypressTimeout(void);
       virtual void SetCurrentButton(cec_user_control_code iButtonCode);