cec: added the firmware version to cec-client's -l / --list-devices command. bugzid...
[deb_libcec.git] / src / lib / LibCEC.h
index 2df5b63ec1973751f3c35428a2910bb40b90641d..2dca04019fad0f05d6fa65a03b1bf40cee61ec34 100644 (file)
@@ -48,7 +48,7 @@ namespace CEC
      */
     //@{
       CLibCEC(const char *strDeviceName, cec_device_type_list types, uint16_t iPhysicalAddress = 0);
-      CLibCEC(const libcec_configuration *configuration);
+      CLibCEC(libcec_configuration *configuration);
       virtual ~CLibCEC(void);
 
       virtual bool Open(const char *strPort, uint32_t iTimeout = 10000);
@@ -58,7 +58,7 @@ namespace CEC
       virtual bool PingAdapter(void);
       virtual bool StartBootloader(void);
 
-      virtual int8_t GetMinLibVersion(void) const{ return CEC_MIN_LIB_VERSION; };
+      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; };
 
@@ -106,6 +106,8 @@ namespace CEC
       virtual bool SetConfiguration(const libcec_configuration *configuration);
       virtual bool CanPersistConfiguration(void);
       virtual bool PersistConfiguration(libcec_configuration *configuration);
+      virtual void RescanActiveDevices(void);
+      virtual bool IsLibCECActiveSource(void);
 
       const char *ToString(const cec_menu_state state);
       const char *ToString(const cec_version version);
@@ -118,6 +120,13 @@ namespace CEC
       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);
+
+      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);
+
+      virtual bool GetDeviceInformation(const char *strPort, libcec_configuration *config, uint32_t iTimeoutMs = 10000);
     //@}
 
       static void AddLog(const cec_log_level level, const char *strFormat, ...);
@@ -131,11 +140,11 @@ namespace CEC
       static CLibCEC *GetInstance(void);
       static void SetInstance(CLibCEC *instance);
 
+      CCECProcessor *                         m_cec;
     protected:
       int64_t                                 m_iStartTime;
       cec_user_control_code                   m_iCurrentButton;
       int64_t                                 m_buttontime;
-      CCECProcessor *                         m_cec;
       PLATFORM::SyncedBuffer<cec_log_message> m_logBuffer;
       PLATFORM::SyncedBuffer<cec_keypress>    m_keyBuffer;
       PLATFORM::SyncedBuffer<cec_command>     m_commandBuffer;