return m_processor->Transmit(command);
}
-bool CCECBusDevice::TransmitDeckStatus(cec_logical_address dest)
-{
- // need to support opcodes play and deck control before doing anything with this
- CStdString strLog;
- strLog.Format("<< %s (%X) -> %s (%X): deck status feature abort", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest);
- AddLog(CEC_LOG_NOTICE, strLog);
-
- m_processor->TransmitAbort(dest, CEC_OPCODE_GIVE_DECK_STATUS);
- return false;
-}
-
bool CCECBusDevice::TransmitInactiveView(void)
{
CStdString strLog;
virtual bool TransmitActiveSource(void);
virtual bool TransmitActiveView(void);
virtual bool TransmitCECVersion(cec_logical_address dest);
- virtual bool TransmitDeckStatus(cec_logical_address dest);
virtual bool TransmitInactiveView(void);
virtual bool TransmitMenuState(cec_logical_address dest);
virtual bool TransmitOSDName(cec_logical_address dest);
*/
#include "CECPlaybackDevice.h"
+#include "../implementations/CECCommandHandler.h"
+#include "../CECProcessor.h"
using namespace CEC;
CCECPlaybackDevice::CCECPlaybackDevice(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress /* = 0 */) :
CCECBusDevice(processor, address, iPhysicalAddress)
{
- m_type = CEC_DEVICE_TYPE_PLAYBACK_DEVICE;
+ m_type = CEC_DEVICE_TYPE_PLAYBACK_DEVICE;
+}
+
+bool CCECPlaybackDevice::TransmitDeckStatus(cec_logical_address dest)
+{
+ // need to support opcodes play and deck control before doing anything with this
+ CStdString strLog;
+ strLog.Format("<< %s (%X) -> %s (%X): deck status feature abort", GetLogicalAddressName(), m_iLogicalAddress, CCECCommandHandler::ToString(dest), dest);
+ AddLog(CEC_LOG_NOTICE, strLog);
+
+ m_processor->TransmitAbort(dest, CEC_OPCODE_GIVE_DECK_STATUS);
+ return false;
}
public:
CCECPlaybackDevice(CCECProcessor *processor, cec_logical_address address, uint16_t iPhysicalAddress = 0);
virtual ~CCECPlaybackDevice(void) {};
+
+ virtual bool TransmitDeckStatus(cec_logical_address dest);
};
}
#include "CECCommandHandler.h"
#include "../devices/CECBusDevice.h"
#include "../devices/CECAudioSystem.h"
+#include "../devices/CECPlaybackDevice.h"
#include "../CECProcessor.h"
using namespace CEC;
bool CCECCommandHandler::HandleGiveDeckStatus(const cec_command &command)
{
CCECBusDevice *device = GetDevice(command.destination);
- if (device)
- return device->TransmitDeckStatus(command.initiator);
+ if (device && device->GetType() == CEC_DEVICE_TYPE_PLAYBACK_DEVICE)
+ return ((CCECPlaybackDevice *) device)->TransmitDeckStatus(command.initiator);
return false;
}