1
0
Fork 0
forked from len0rd/rockbox

"remote_control: don't use goto.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24617 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Teruaki Kawashima 2010-02-12 12:54:03 +00:00
parent 6878cf34ef
commit 20ce2448de

View file

@ -25,7 +25,9 @@
PLUGIN_HEADER PLUGIN_HEADER
static void remote_control_setcolors(void); #define PLUGIN_CONTINUE 10
static inline void remote_control_setcolors(void);
/***************************************************************************** /*****************************************************************************
* remote_control_setcolors() set the foreground and background colors. * remote_control_setcolors() set the foreground and background colors.
@ -48,9 +50,7 @@ static int menu_desktop(void)
{ {
int id = HID_GENERIC_DESKTOP_UNDEFINED; int id = HID_GENERIC_DESKTOP_UNDEFINED;
selection = rb->do_menu(&menu, &selection, NULL, false); switch (rb->do_menu(&menu, &selection, NULL, false))
switch (selection)
{ {
case 0: /* Escape */ case 0: /* Escape */
id = HID_KEYBOARD_ESCAPE; id = HID_KEYBOARD_ESCAPE;
@ -71,7 +71,7 @@ static int menu_desktop(void)
case MENU_ATTACHED_USB: case MENU_ATTACHED_USB:
return PLUGIN_USB_CONNECTED; return PLUGIN_USB_CONNECTED;
case GO_TO_PREVIOUS: case GO_TO_PREVIOUS:
return 0; return PLUGIN_CONTINUE;
default: default:
break; break;
} }
@ -92,9 +92,7 @@ static int menu_presentation(void)
{ {
int id = HID_GENERIC_DESKTOP_UNDEFINED; int id = HID_GENERIC_DESKTOP_UNDEFINED;
selection = rb->do_menu(&menu, &selection, NULL, false); switch (rb->do_menu(&menu, &selection, NULL, false))
switch (selection)
{ {
case 0: /* Next Slide */ case 0: /* Next Slide */
id = HID_KEYBOARD_N; id = HID_KEYBOARD_N;
@ -117,7 +115,7 @@ static int menu_presentation(void)
case MENU_ATTACHED_USB: case MENU_ATTACHED_USB:
return PLUGIN_USB_CONNECTED; return PLUGIN_USB_CONNECTED;
case GO_TO_PREVIOUS: case GO_TO_PREVIOUS:
return 0; return PLUGIN_CONTINUE;
default: default:
break; break;
} }
@ -137,9 +135,7 @@ static int menu_media_player(void)
{ {
int id = HID_CONSUMER_USAGE_UNASSIGNED; int id = HID_CONSUMER_USAGE_UNASSIGNED;
selection = rb->do_menu(&menu, &selection, NULL, false); switch (rb->do_menu(&menu, &selection, NULL, false))
switch (selection)
{ {
case 0: /* Play */ case 0: /* Play */
id = HID_CONSUMER_USAGE_PLAY_PAUSE; id = HID_CONSUMER_USAGE_PLAY_PAUSE;
@ -165,7 +161,7 @@ static int menu_media_player(void)
case MENU_ATTACHED_USB: case MENU_ATTACHED_USB:
return PLUGIN_USB_CONNECTED; return PLUGIN_USB_CONNECTED;
case GO_TO_PREVIOUS: case GO_TO_PREVIOUS:
return 0; return PLUGIN_CONTINUE;
default: default:
break; break;
} }
@ -180,7 +176,7 @@ static int menu_media_player(void)
******************************************************************************/ ******************************************************************************/
enum plugin_status plugin_start(const void* parameter) enum plugin_status plugin_start(const void* parameter)
{ {
enum plugin_status rc = PLUGIN_USB_CONNECTED; enum plugin_status rc = PLUGIN_CONTINUE;
int selection = 0; int selection = 0;
(void)parameter; (void)parameter;
@ -196,34 +192,30 @@ enum plugin_status plugin_start(const void* parameter)
MENUITEM_STRINGLIST(menu, "Remote Control", NULL, "Desktop", "Presentation", MENUITEM_STRINGLIST(menu, "Remote Control", NULL, "Desktop", "Presentation",
"Media Player", "Quit"); "Media Player", "Quit");
while(1) while(rc == PLUGIN_CONTINUE)
{ {
selection = rb->do_menu(&menu, &selection, NULL, false); switch (rb->do_menu(&menu, &selection, NULL, false))
switch (selection)
{ {
case 0: /* Desktop */ case 0: /* Desktop */
if (menu_desktop() == PLUGIN_USB_CONNECTED) rc = menu_desktop();
goto Exit;
break; break;
case 1: /* Presentation */ case 1: /* Presentation */
if (menu_presentation() == PLUGIN_USB_CONNECTED) rc = menu_presentation();
goto Exit;
break; break;
case 2: /* Media Player */ case 2: /* Media Player */
if (menu_media_player() == PLUGIN_USB_CONNECTED) rc = menu_media_player();
goto Exit;
break; break;
case 3: /* Quit */ case 3: /* Quit */
case GO_TO_PREVIOUS: case GO_TO_PREVIOUS:
rc = PLUGIN_OK; rc = PLUGIN_OK;
goto Exit; break;
case MENU_ATTACHED_USB: case MENU_ATTACHED_USB:
goto Exit; rc = PLUGIN_USB_CONNECTED;
break;
default: default:
break; break;
} }
} }
Exit:
rb->lcd_setfont(FONT_UI); rb->lcd_setfont(FONT_UI);
return rc; return rc;