diff options
Diffstat (limited to 'apps/misc.c')
-rw-r--r-- | apps/misc.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/misc.c b/apps/misc.c index 5be6264fdc..f632ecc7eb 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -230,20 +230,30 @@ bool clean_shutdown(void) | |||
230 | return false; | 230 | return false; |
231 | } | 231 | } |
232 | 232 | ||
233 | int default_event_handler(int event) | 233 | int default_event_handler_ex(int event, void (*callback)(void *), void *parameter) |
234 | { | 234 | { |
235 | switch(event) | 235 | switch(event) |
236 | { | 236 | { |
237 | case SYS_USB_CONNECTED: | 237 | case SYS_USB_CONNECTED: |
238 | if (callback != NULL) | ||
239 | callback(parameter); | ||
238 | #ifdef HAVE_MMC | 240 | #ifdef HAVE_MMC |
239 | if (!mmc_detect() || (mmc_remove_request() == SYS_MMC_EXTRACTED)) | 241 | if (!mmc_detect() || (mmc_remove_request() == SYS_MMC_EXTRACTED)) |
240 | #endif | 242 | #endif |
241 | usb_screen(); | 243 | usb_screen(); |
242 | return SYS_USB_CONNECTED; | 244 | return SYS_USB_CONNECTED; |
243 | case SYS_POWEROFF: | 245 | case SYS_POWEROFF: |
246 | if (callback != NULL) | ||
247 | callback(parameter); | ||
244 | if (!clean_shutdown()) | 248 | if (!clean_shutdown()) |
245 | return SYS_POWEROFF; | 249 | return SYS_POWEROFF; |
246 | break; | 250 | break; |
247 | } | 251 | } |
248 | return 0; | 252 | return 0; |
249 | } | 253 | } |
254 | |||
255 | int default_event_handler(int event) | ||
256 | { | ||
257 | return default_event_handler_ex(event, NULL, NULL); | ||
258 | } | ||
259 | |||