#ifndef _APPENTRY_H_ #define _APPENTRY_H_ #include #include "gfx.h" #include "xml.h" #define DEVICE_COUNT 4 #define MAX_THEME_ZIP_SIZE (20 * 1024 * 1024) typedef enum { AET_BOOT_ELF = 0, AET_BOOT_DOL, AET_THEME } app_entry_type; typedef struct { app_entry_type type; u32 size; char *dirname; gfx_entity *icon; meta_info *meta; } app_entry; typedef enum { AE_ACT_NONE = 0, AE_ACT_REMOVE, AE_ACT_ADD } ae_action; typedef enum { APP_FILTER_ALL = 0, APP_FILTER_ICONSONLY, APP_FILTER_DATEONLY } app_filter; typedef enum { APP_SORT_NAME = 0, APP_SORT_DATE } app_sort; extern const char *app_path; extern const char *app_fn_boot_elf; extern const char *app_fn_boot_dol; extern const char *app_fn_theme; extern const char *app_fn_meta; extern const char *app_fn_icon; extern app_entry *entries[MAX_ENTRIES]; extern u32 entry_count; void app_entry_init (void); void app_entry_deinit (void); void app_entries_free(void); void app_entry_scan(void); ae_action app_entry_action(void); void app_entry_poll_status(bool reset); int app_entry_get_status(bool *status); void app_entry_set_prefered(int device); void app_entry_set_device(int device); bool app_entry_get_path(char *buf); bool app_entry_get_filename(char *buf, app_entry *app); app_entry *app_entry_find(char *dirname); app_sort app_entry_get_sort(void); void app_entry_set_sort(app_sort sort); app_entry *app_entry_add(const char *dirname); bool app_entry_remove(app_entry *app); bool app_entry_is_loading(void); #endif