LibCecSharp: fixed - set the primary LA in CecLogicalAddresses
[deb_libcec.git] / src / lib / devices / CECPlaybackDevice.h
index 1af94855843406fc9bda28de9ba63fb980490d95..d12c15053878ce4ff927d8bceb1e3e7f4c16dc41 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * This file is part of the libCEC(R) library.
  *
- * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited.  All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited.  All rights reserved.
  * libCEC(R) is an original work, containing original code.
  *
  * libCEC(R) is a trademark of Pulse-Eight Limited.
@@ -38,9 +38,21 @@ namespace CEC
   class CCECPlaybackDevice : public CCECBusDevice
   {
   public:
-    CCECPlaybackDevice(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = 0);
+    CCECPlaybackDevice(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = CEC_INVALID_PHYSICAL_ADDRESS);
     virtual ~CCECPlaybackDevice(void) {};
 
-    virtual bool TransmitDeckStatus(cec_logical_address dest);
+    cec_deck_info GetDeckStatus(const cec_logical_address initiator);
+    cec_deck_control_mode GetDeckControlMode(const cec_logical_address initiator);
+
+    void SetDeckStatus(cec_deck_info deckStatus);
+    void SetDeckControlMode(cec_deck_control_mode mode);
+
+    bool TransmitDeckStatus(cec_logical_address dest, bool bIsReply);
+
+    virtual void ResetDeviceStatus(void);
+
+  protected:
+    cec_deck_info         m_deckStatus;
+    cec_deck_control_mode m_deckControlMode;
   };
 }