MCPcopy Create free account
hub / github.com/Pulse-Eight/libcec / HandleCommand

Method HandleCommand

src/libcec/implementations/CECCommandHandler.cpp:71–208  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71bool 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);

Callers

nothing calls this directly

Calls 3

CommandHandlerCBMethod · 0.80
SignalOpcodeMethod · 0.80
AddCommandMethod · 0.45

Tested by

no test coverage detected