@@ -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