timed_remote_scene.h (2257B)
1 #pragma once 2 3 #include <gui/scene_manager.h> 4 5 /* Scene IDs */ 6 typedef enum { 7 TimedRemoteSceneIrBrowse, 8 TimedRemoteSceneIrSelect, 9 TimedRemoteSceneTimerConfig, 10 TimedRemoteSceneTimerRunning, 11 TimedRemoteSceneConfirm, 12 TimedRemoteSceneCount, 13 } TimedRemoteScene; 14 15 /* Scene event IDs */ 16 typedef enum { 17 TimedRemoteSceneEventConsumed = true, 18 TimedRemoteSceneEventNotConsumed = false, 19 } TimedRemoteSceneEvent; 20 21 /* Custom events */ 22 typedef enum { 23 /* File/signal selected */ 24 TimedRemoteEventFileSelected, 25 TimedRemoteEventSignalSelected, 26 /* Timer configuration */ 27 TimedRemoteEventModeChanged, 28 TimedRemoteEventTimerConfigured, 29 /* Timer events */ 30 TimedRemoteEventTimerTick, 31 TimedRemoteEventTimerFired, 32 /* Confirmation */ 33 TimedRemoteEventConfirmDone, 34 } TimedRemoteCustomEvent; 35 36 /* Scene handlers - declared extern, defined in individual scene files */ 37 extern void timed_remote_scene_ir_browse_on_enter(void *context); 38 extern bool timed_remote_scene_ir_browse_on_event(void *context, 39 SceneManagerEvent event); 40 extern void timed_remote_scene_ir_browse_on_exit(void *context); 41 42 extern void timed_remote_scene_ir_select_on_enter(void *context); 43 extern bool timed_remote_scene_ir_select_on_event(void *context, 44 SceneManagerEvent event); 45 extern void timed_remote_scene_ir_select_on_exit(void *context); 46 47 extern void timed_remote_scene_timer_config_on_enter(void *context); 48 extern bool timed_remote_scene_timer_config_on_event(void *context, 49 SceneManagerEvent event); 50 extern void timed_remote_scene_timer_config_on_exit(void *context); 51 52 extern void timed_remote_scene_timer_running_on_enter(void *context); 53 extern bool timed_remote_scene_timer_running_on_event(void *context, 54 SceneManagerEvent event); 55 extern void timed_remote_scene_timer_running_on_exit(void *context); 56 57 extern void timed_remote_scene_confirm_on_enter(void *context); 58 extern bool timed_remote_scene_confirm_on_event(void *context, 59 SceneManagerEvent event); 60 extern void timed_remote_scene_confirm_on_exit(void *context);