Skip to content

Commit b742bf4

Browse files
[ONEM-40903] Update LEDControl and LEDControl.config
1 parent 2401fc4 commit b742bf4

File tree

2 files changed

+55
-111
lines changed

2 files changed

+55
-111
lines changed

LEDControl/LEDControl.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set (autostart false)
1+
set (autostart ${PLUGIN_LEDCONTROL_AUTOSTART})
22
set (preconditions Platform)
33
set (callsign "org.rdk.LEDControl")
44

LEDControl/LEDControl.cpp

Lines changed: 54 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -183,61 +183,32 @@ namespace WPEFramework
183183

184184
try
185185
{
186-
dsFPDLedState_t state;
186+
dsFPDLedState_t state;
187187
dsError_t err = dsFPGetLEDState (&state);
188188
if (!err) {
189189
success = true;
190-
switch (state) {
191-
case dsFPD_LED_DEVICE_NONE:
192-
response["state"] = FPD_LED_DEVICE_NONE;
193-
break;
194-
case dsFPD_LED_DEVICE_ACTIVE:
195-
response["state"] = FPD_LED_DEVICE_ACTIVE;
196-
break;
197-
case dsFPD_LED_DEVICE_STANDBY:
198-
response["state"] = FPD_LED_DEVICE_STANDBY;
199-
break;
200-
case dsFPD_LED_DEVICE_WPS_CONNECTING:
201-
response["state"] = FPD_LED_DEVICE_WPS_CONNECTING;
202-
break;
203-
case dsFPD_LED_DEVICE_WPS_CONNECTED:
204-
response["state"] = FPD_LED_DEVICE_WPS_CONNECTED;
205-
break;
206-
case dsFPD_LED_DEVICE_WPS_ERROR:
207-
response["state"] = FPD_LED_DEVICE_WPS_ERROR;
208-
break;
209-
case dsFPD_LED_DEVICE_FACTORY_RESET:
210-
response["state"] = FPD_LED_DEVICE_FACTORY_RESET;
211-
break;
212-
case dsFPD_LED_DEVICE_USB_UPGRADE:
213-
response["state"] = FPD_LED_DEVICE_USB_UPGRADE;
214-
break;
215-
case dsFPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR:
216-
response["state"] = FPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR;
217-
break;
218-
case dsFPD_LED_DEVICE_BOOT_IN_PROGRESS:
219-
response["state"] = FPD_LED_DEVICE_BOOT_IN_PROGRESS;
220-
break;
221-
case dsFPD_LED_DEVICE_COLDSTANDBY:
222-
response["state"] = FPD_LED_DEVICE_COLDSTANDBY;
223-
break;
224-
case dsFPD_LED_DEVICE_PSU_FAILURE:
225-
response["state"] = FPD_LED_DEVICE_PSU_FAILURE;
226-
break;
227-
case dsFPD_LED_DEVICE_WPS_SES_OVERLAP:
228-
response["state"] = FPD_LED_DEVICE_WPS_SES_OVERLAP;
229-
break;
230-
case dsFPD_LED_DEVICE_IP_ACQUIRED:
231-
response["state"] = FPD_LED_DEVICE_IP_ACQUIRED;
232-
break;
233-
case dsFPD_LED_DEVICE_NO_IP:
234-
response["state"] = FPD_LED_DEVICE_NO_IP;
235-
break;
236-
case dsFPD_LED_DEVICE_RCU_COMMAND:
237-
response["state"] = FPD_LED_DEVICE_RCU_COMMAND;
238-
break;
239-
240-
default :
190+
static const std::unordered_map<dsFPDLedState_t, const char*> stateToString = {
191+
{dsFPD_LED_DEVICE_NONE, FPD_LED_DEVICE_NONE},
192+
{dsFPD_LED_DEVICE_ACTIVE, FPD_LED_DEVICE_ACTIVE},
193+
{dsFPD_LED_DEVICE_STANDBY, FPD_LED_DEVICE_STANDBY},
194+
{dsFPD_LED_DEVICE_WPS_CONNECTING, FPD_LED_DEVICE_WPS_CONNECTING},
195+
{dsFPD_LED_DEVICE_WPS_CONNECTED, FPD_LED_DEVICE_WPS_CONNECTED},
196+
{dsFPD_LED_DEVICE_WPS_ERROR, FPD_LED_DEVICE_WPS_ERROR},
197+
{dsFPD_LED_DEVICE_FACTORY_RESET, FPD_LED_DEVICE_FACTORY_RESET},
198+
{dsFPD_LED_DEVICE_USB_UPGRADE, FPD_LED_DEVICE_USB_UPGRADE},
199+
{dsFPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR, FPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR},
200+
{dsFPD_LED_DEVICE_BOOT_IN_PROGRESS, FPD_LED_DEVICE_BOOT_IN_PROGRESS},
201+
{dsFPD_LED_DEVICE_COLDSTANDBY, FPD_LED_DEVICE_COLDSTANDBY},
202+
{dsFPD_LED_DEVICE_PSU_FAILURE, FPD_LED_DEVICE_PSU_FAILURE},
203+
{dsFPD_LED_DEVICE_WPS_SES_OVERLAP, FPD_LED_DEVICE_WPS_SES_OVERLAP},
204+
{dsFPD_LED_DEVICE_IP_ACQUIRED, FPD_LED_DEVICE_IP_ACQUIRED},
205+
{dsFPD_LED_DEVICE_NO_IP, FPD_LED_DEVICE_NO_IP},
206+
{dsFPD_LED_DEVICE_RCU_COMMAND, FPD_LED_DEVICE_RCU_COMMAND},
207+
};
208+
auto it = stateToString.find(state);
209+
if (it != stateToString.end()) {
210+
response["state"] = it->second;
211+
} else {
241212
LOGERR("Unsupported LEDState %d", state);
242213
LOGTRACEMETHODFIN();
243214
return WPEFramework::Core::ERROR_BAD_REQUEST;
@@ -273,69 +244,42 @@ namespace WPEFramework
273244
bool success = false;
274245
try
275246
{
276-
dsFPDLedState_t state = dsFPD_LED_DEVICE_NONE;
277-
if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_ACTIVE, strlen(FPD_LED_DEVICE_ACTIVE)) &&
278-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_ACTIVE)) ){
279-
state = dsFPD_LED_DEVICE_ACTIVE;
280-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_STANDBY, strlen(FPD_LED_DEVICE_STANDBY)) &&
281-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_STANDBY)) ){
282-
state = dsFPD_LED_DEVICE_STANDBY;
283-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_WPS_CONNECTING, strlen(FPD_LED_DEVICE_WPS_CONNECTING)) &&
284-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_WPS_CONNECTING))){
285-
state = dsFPD_LED_DEVICE_WPS_CONNECTING;
286-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_WPS_CONNECTED, strlen(FPD_LED_DEVICE_WPS_CONNECTED)) &&
287-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_WPS_CONNECTED)) ){
288-
state = dsFPD_LED_DEVICE_WPS_CONNECTED;
289-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_WPS_ERROR, strlen(FPD_LED_DEVICE_WPS_ERROR)) &&
290-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_WPS_ERROR)) ){
291-
state = dsFPD_LED_DEVICE_WPS_ERROR;
292-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_FACTORY_RESET, strlen(FPD_LED_DEVICE_FACTORY_RESET)) &&
293-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_FACTORY_RESET)) ){
294-
state = dsFPD_LED_DEVICE_FACTORY_RESET;
295-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_USB_UPGRADE, strlen(FPD_LED_DEVICE_USB_UPGRADE)) &&
296-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_USB_UPGRADE)) ){
297-
state = dsFPD_LED_DEVICE_USB_UPGRADE;
298-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR, strlen(FPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR)) &&
299-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR)) ){
300-
state = dsFPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR;
301-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_BOOT_IN_PROGRESS, strlen(FPD_LED_DEVICE_BOOT_IN_PROGRESS)) &&
302-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_BOOT_IN_PROGRESS)) ){
303-
state = dsFPD_LED_DEVICE_BOOT_IN_PROGRESS;
304-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_COLDSTANDBY, strlen(FPD_LED_DEVICE_COLDSTANDBY)) &&
305-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_COLDSTANDBY)) ){
306-
state = dsFPD_LED_DEVICE_COLDSTANDBY;
307-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_PSU_FAILURE, strlen(FPD_LED_DEVICE_PSU_FAILURE)) &&
308-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_PSU_FAILURE)) ){
309-
state = dsFPD_LED_DEVICE_PSU_FAILURE;
310-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_WPS_SES_OVERLAP, strlen(FPD_LED_DEVICE_WPS_SES_OVERLAP)) &&
311-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_WPS_SES_OVERLAP)) ){
312-
state = dsFPD_LED_DEVICE_WPS_SES_OVERLAP;
313-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_IP_ACQUIRED, strlen(FPD_LED_DEVICE_IP_ACQUIRED)) &&
314-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_IP_ACQUIRED)) ){
315-
state = dsFPD_LED_DEVICE_IP_ACQUIRED;
316-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_NO_IP, strlen(FPD_LED_DEVICE_NO_IP)) &&
317-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_NO_IP)) ){
318-
state = dsFPD_LED_DEVICE_NO_IP;
319-
} else if (0==strncmp(strLedState.c_str(), FPD_LED_DEVICE_RCU_COMMAND, strlen(FPD_LED_DEVICE_RCU_COMMAND)) &&
320-
(strlen(strLedState.c_str()) == strlen(FPD_LED_DEVICE_RCU_COMMAND)) ){
321-
state = dsFPD_LED_DEVICE_RCU_COMMAND;
322-
} else {
247+
static const std::unordered_map<std::string, dsFPDLedState_t> stateMap = {
248+
{FPD_LED_DEVICE_ACTIVE, dsFPD_LED_DEVICE_ACTIVE},
249+
{FPD_LED_DEVICE_STANDBY, dsFPD_LED_DEVICE_STANDBY},
250+
{FPD_LED_DEVICE_WPS_CONNECTING, dsFPD_LED_DEVICE_WPS_CONNECTING},
251+
{FPD_LED_DEVICE_WPS_CONNECTED, dsFPD_LED_DEVICE_WPS_CONNECTED},
252+
{FPD_LED_DEVICE_WPS_ERROR, dsFPD_LED_DEVICE_WPS_ERROR},
253+
{FPD_LED_DEVICE_FACTORY_RESET, dsFPD_LED_DEVICE_FACTORY_RESET},
254+
{FPD_LED_DEVICE_USB_UPGRADE, dsFPD_LED_DEVICE_USB_UPGRADE},
255+
{FPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR, dsFPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR},
256+
{FPD_LED_DEVICE_BOOT_IN_PROGRESS, dsFPD_LED_DEVICE_BOOT_IN_PROGRESS},
257+
{FPD_LED_DEVICE_COLDSTANDBY, dsFPD_LED_DEVICE_COLDSTANDBY},
258+
{FPD_LED_DEVICE_PSU_FAILURE, dsFPD_LED_DEVICE_PSU_FAILURE},
259+
{FPD_LED_DEVICE_WPS_SES_OVERLAP, dsFPD_LED_DEVICE_WPS_SES_OVERLAP},
260+
{FPD_LED_DEVICE_IP_ACQUIRED, dsFPD_LED_DEVICE_IP_ACQUIRED},
261+
{FPD_LED_DEVICE_NO_IP, dsFPD_LED_DEVICE_NO_IP},
262+
{FPD_LED_DEVICE_RCU_COMMAND, dsFPD_LED_DEVICE_RCU_COMMAND}
263+
};
264+
265+
auto it = stateMap.find(strLedState);
266+
if (it == stateMap.end()) {
323267
//Invalid parameter
324268
LOGERR("UNKNOWN state : %s", strLedState.c_str());
325269
LOGTRACEMETHODFIN();
326270
return WPEFramework::Core::ERROR_BAD_REQUEST;
327271
}
328-
if (dsFPD_LED_DEVICE_NONE!=state) {
329-
LOGINFO("dsFPSetLEDState state:%s state:%d", strLedState.c_str(), state);
330-
dsError_t err = dsFPSetLEDState (state);
331-
if (!err) {
332-
success = true;
333-
} else {
334-
LOGERR("dsFPSetLEDState returned error %d", err);
335-
LOGTRACEMETHODFIN();
336-
return WPEFramework::Core::ERROR_ILLEGAL_STATE;
337-
}
338-
}
272+
273+
dsFPDLedState_t state = it->second;
274+
LOGINFO("dsFPSetLEDState state:%s state:%d", strLedState.c_str(), state);
275+
dsError_t err = dsFPSetLEDState (state);
276+
if (err == dsERR_NONE) {
277+
success = true;
278+
} else {
279+
LOGERR("dsFPSetLEDState returned error %d", err);
280+
LOGTRACEMETHODFIN();
281+
return WPEFramework::Core::ERROR_ILLEGAL_STATE;
282+
}
339283
}
340284
catch (...)
341285
{

0 commit comments

Comments
 (0)