*/
#include "CECCommandHandler.h"
-#include "../platform/util/timeutils.h"
namespace CEC
{
class CSLCommandHandler : public CCECCommandHandler
{
public:
- CSLCommandHandler(CCECBusDevice *busDevice);
+ CSLCommandHandler(CCECBusDevice *busDevice,
+ int32_t iTransmitTimeout = CEC_DEFAULT_TRANSMIT_TIMEOUT,
+ int32_t iTransmitWait = CEC_DEFAULT_TRANSMIT_WAIT,
+ int8_t iTransmitRetries = CEC_DEFAULT_TRANSMIT_RETRIES,
+ int64_t iActiveSourcePending = 0);
virtual ~CSLCommandHandler(void) {};
bool InitHandler(void);
- bool ActivateSource(void);
protected:
- bool HandleActiveSource(const cec_command &command);
- bool HandleDeviceVendorId(const cec_command &command);
- bool HandleVendorCommand(const cec_command &command);
+ int HandleActiveSource(const cec_command &command);
+ int HandleDeviceVendorId(const cec_command &command);
+ int HandleVendorCommand(const cec_command &command);
void HandleVendorCommand01(const cec_command &command);
void TransmitVendorCommand0205(const cec_logical_address iSource, const cec_logical_address iDestination);
void HandleVendorCommandSLConnect(const cec_command &command);
void TransmitVendorCommandSetDeviceMode(const cec_logical_address iSource, const cec_logical_address iDestination, const cec_device_type type);
- bool HandleGiveDevicePowerStatus(const cec_command &command);
- bool HandleGiveDeckStatus(const cec_command &command);
- bool HandleRequestActiveSource(const cec_command &command);
- bool HandleFeatureAbort(const cec_command &command);
- bool HandleStandby(const cec_command &command);
- bool TransmitMenuState(const cec_logical_address UNUSED(iInitiator), const cec_logical_address UNUSED(iDestination), cec_menu_state UNUSED(menuState)) { return true; }
+ int HandleGiveDevicePowerStatus(const cec_command &command);
+ int HandleGiveDeckStatus(const cec_command &command);
+ int HandleRequestActiveSource(const cec_command &command);
+ int HandleFeatureAbort(const cec_command &command);
+ int HandleStandby(const cec_command &command);
+ bool TransmitMenuState(const cec_logical_address UNUSED(iInitiator), const cec_logical_address UNUSED(iDestination), cec_menu_state UNUSED(menuState), bool UNUSED(bIsReply)) { return true; }
bool PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination);
void ResetSLState(void);