- cec_opcode opCode = (cec_opcode) frame.data[1];
- if (destination == (uint16_t) m_iLogicalAddress)
- {
- switch(opCode)
- {
- case CEC_OPCODE_GIVE_PHYSICAL_ADDRESS:
- ReportPhysicalAddress();
- break;
- case CEC_OPCODE_GIVE_OSD_NAME:
- ReportOSDName((cec_logical_address)initiator);
- break;
- case CEC_OPCODE_GIVE_DEVICE_VENDOR_ID:
- ReportVendorID((cec_logical_address)initiator);
- break;
- case CEC_OPCODE_VENDOR_COMMAND_WITH_ID:
- frame.shift(2);
- ParseVendorId((cec_logical_address)initiator, frame);
- TransmitAbort((cec_logical_address)initiator, CEC_OPCODE_VENDOR_COMMAND_WITH_ID);
- break;
- case CEC_OPCODE_GIVE_DECK_STATUS:
- // need to support opcodes play and deck control before doing anything with this
- TransmitAbort((cec_logical_address)initiator, CEC_OPCODE_GIVE_DECK_STATUS);
- break;
- case CEC_OPCODE_MENU_REQUEST:
- ReportMenuState((cec_logical_address)initiator);
- break;
- case CEC_OPCODE_GIVE_DEVICE_POWER_STATUS:
- ReportPowerState((cec_logical_address)initiator);
- SetActiveView();
- break;
- case CEC_OPCODE_GET_CEC_VERSION:
- ReportCECVersion((cec_logical_address)initiator);
- break;
- case CEC_OPCODE_USER_CONTROL_PRESSED:
- if (frame.size > 2)
- {
- m_controller->AddKey();