cec: added logical address autodetection and let libcec handle multiple types simulta...
[deb_libcec.git] / include / cec.h
index 68652b16feb83c5fc17013d30546e43fb01aea88..582bf24be77a6b4537965e637fc39ef16eddbb09 100644 (file)
@@ -71,14 +71,19 @@ namespace CEC
     //@}
 
     /*!
-     * @see cec_get_min_version
+     * @see cec_get_min_lib_version
      */
-    virtual int8_t GetMinVersion(void) = 0;
+    virtual int8_t GetMinLibVersion(void) const = 0;
 
     /*!
-     * @see cec_get_lib_version
+     * @see cec_get_lib_version_major
      */
-    virtual int8_t GetLibVersion(void) = 0;
+    virtual int8_t GetLibVersionMajor(void) const = 0;
+
+    /*!
+     * @see cec_get_lib_version_minor
+     */
+    virtual int8_t GetLibVersionMinor(void) const = 0;
 
     /*!
      * @see cec_get_next_log_message
@@ -144,9 +149,30 @@ namespace CEC
      * @see cec_get_device_cec_version
      */
     virtual cec_version GetDeviceCecVersion(cec_logical_address iAddress) = 0;
+
+    /*!
+     * @see cec_get_device_menu_language
+     */
+    virtual bool GetDeviceMenuLanguage(cec_logical_address iAddress, cec_menu_language *language) = 0;
+
+    /*!
+     * @see cec_get_device_vendor_id
+     */
+    virtual uint64_t GetDeviceVendorId(cec_logical_address iAddress) = 0;
+
+    /*!
+     * @see cec_get_device_power_status
+     */
+    virtual cec_power_status GetDevicePowerStatus(cec_logical_address iAddress) = 0;
+
+    /*!
+     * @see cec_poll_device
+     */
+    virtual bool PollDevice(cec_logical_address iAddress) = 0;
   };
 };
 
+extern "C" DECLSPEC void * CECInit(const char *strDeviceName, CEC::cec_device_type_list devicesTypes);
 extern "C" DECLSPEC void * CECCreate(const char *strDeviceName, CEC::cec_logical_address iLogicalAddress = CEC::CECDEVICE_PLAYBACKDEVICE1, uint16_t iPhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS);
 extern "C" DECLSPEC void CECDestroy(CEC::ICECAdapter *instance);