cec: make sure that a device is really powered on
[deb_libcec.git] / src / lib / CECProcessor.h
index 08a21a6e77a9d9b47c734363b132e308b8d04843..d167b59217da3207e336a6dc7822c6003e6f9691 100644 (file)
@@ -78,8 +78,8 @@ namespace CEC
       virtual bool SetActiveSource(cec_logical_address iAddress);
       virtual bool SetDeckControlMode(cec_deck_control_mode mode, bool bSendUpdate = true);
       virtual bool SetDeckInfo(cec_deck_info info, bool bSendUpdate = true);
-      virtual bool SetHDMIPort(uint8_t iPort);
-      virtual bool SetInactiveView(void);
+      virtual bool SetHDMIPort(uint8_t iPort, bool bForce = false);
+      virtual bool TransmitInactiveSource(void);
       virtual bool SetLogicalAddress(cec_logical_address iLogicalAddress);
       virtual bool SetMenuState(cec_menu_state state, bool bSendUpdate = true);
       virtual bool SetPhysicalAddress(uint16_t iPhysicalAddress);
@@ -92,6 +92,17 @@ namespace CEC
       virtual bool SendKeypress(cec_logical_address iDestination, cec_user_control_code key, bool bWait = false);
       virtual bool SendKeyRelease(cec_logical_address iDestination, bool bWait = false);
 
+      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);
+
       virtual bool Transmit(const cec_command &data);
       virtual bool Transmit(CCECAdapterMessage *output);
       virtual void TransmitAbort(cec_logical_address address, cec_opcode opcode, cec_abort_reason reason = CEC_ABORT_REASON_UNRECOGNIZED_OPCODE);
@@ -134,5 +145,17 @@ namespace CEC
       bool                   m_bMonitor;
       CecBuffer<cec_command> m_commandBuffer;
       cec_keypress           m_previousKey;
+      CThread *              m_busScan;
+  };
+
+  class CCECBusScan : public CThread
+  {
+  public:
+    CCECBusScan(CCECProcessor *processor) { m_processor = processor; }
+    virtual ~CCECBusScan(void) {}
+    virtual void *Process(void);
+
+  private:
+    CCECProcessor *m_processor;
   };
 };