| 69 | } |
| 70 | |
| 71 | bool CCECCommandHandler::HandleCommand(const cec_command &command) |
| 72 | { |
| 73 | if (command.opcode_set == 0) |
| 74 | return HandlePoll(command); |
| 75 | |
| 76 | int iHandled(CEC_ABORT_REASON_UNRECOGNIZED_OPCODE); |
| 77 | |
| 78 | LIB_CEC->AddCommand(command); |
| 79 | |
| 80 | if (LIB_CEC->CommandHandlerCB(command)) |
| 81 | return true; |
| 82 | |
| 83 | switch(command.opcode) |
| 84 | { |
| 85 | case CEC_OPCODE_REPORT_POWER_STATUS: |
| 86 | iHandled = HandleReportPowerStatus(command); |
| 87 | break; |
| 88 | case CEC_OPCODE_CEC_VERSION: |
| 89 | iHandled = HandleDeviceCecVersion(command); |
| 90 | break; |
| 91 | case CEC_OPCODE_SET_MENU_LANGUAGE: |
| 92 | iHandled = HandleSetMenuLanguage(command); |
| 93 | break; |
| 94 | case CEC_OPCODE_GIVE_PHYSICAL_ADDRESS: |
| 95 | iHandled = HandleGivePhysicalAddress(command); |
| 96 | break; |
| 97 | case CEC_OPCODE_GET_MENU_LANGUAGE: |
| 98 | iHandled = HandleGiveMenuLanguage(command); |
| 99 | break; |
| 100 | case CEC_OPCODE_GIVE_OSD_NAME: |
| 101 | iHandled = HandleGiveOSDName(command); |
| 102 | break; |
| 103 | case CEC_OPCODE_GIVE_DEVICE_VENDOR_ID: |
| 104 | iHandled = HandleGiveDeviceVendorId(command); |
| 105 | break; |
| 106 | case CEC_OPCODE_DEVICE_VENDOR_ID: |
| 107 | iHandled = HandleDeviceVendorId(command); |
| 108 | break; |
| 109 | case CEC_OPCODE_VENDOR_COMMAND_WITH_ID: |
| 110 | iHandled = HandleDeviceVendorCommandWithId(command); |
| 111 | break; |
| 112 | case CEC_OPCODE_GIVE_DECK_STATUS: |
| 113 | iHandled = HandleGiveDeckStatus(command); |
| 114 | break; |
| 115 | case CEC_OPCODE_DECK_CONTROL: |
| 116 | iHandled = HandleDeckControl(command); |
| 117 | break; |
| 118 | case CEC_OPCODE_MENU_REQUEST: |
| 119 | iHandled = HandleMenuRequest(command); |
| 120 | break; |
| 121 | case CEC_OPCODE_GIVE_DEVICE_POWER_STATUS: |
| 122 | iHandled = HandleGiveDevicePowerStatus(command); |
| 123 | break; |
| 124 | case CEC_OPCODE_GET_CEC_VERSION: |
| 125 | iHandled = HandleGetCecVersion(command); |
| 126 | break; |
| 127 | case CEC_OPCODE_USER_CONTROL_PRESSED: |
| 128 | iHandled = HandleUserControlPressed(command); |
nothing calls this directly
no test coverage detected