diff options
| author | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-11-30 22:29:48 +0000 |
|---|---|---|
| committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2006-11-30 22:29:48 +0000 |
| commit | 0f02e4f7a0a202a9efb26833f156a72a3541b2f8 (patch) | |
| tree | f376a667ce28f96451c4cdf4e86d650192aeecfe /apps/plugin.h | |
| parent | cd605cffa35cff0c59026e5796aa9488ce590aea (diff) | |
| download | rockbox-0f02e4f7a0a202a9efb26833f156a72a3541b2f8.zip rockbox-0f02e4f7a0a202a9efb26833f156a72a3541b2f8.tar.gz rockbox-0f02e4f7a0a202a9efb26833f156a72a3541b2f8.tar.bz2 rockbox-0f02e4f7a0a202a9efb26833f156a72a3541b2f8.tar.xz | |
File and (recursive) directories properties in the file browser context menu. Uses dircache if possible (plugin api expanded). Is actually implemented as plugin. Small parts taken from earlier work by Will Robertson.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11630 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugin.h')
| -rw-r--r-- | apps/plugin.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/plugin.h b/apps/plugin.h index ba0fdf0..22f6b97 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -37,6 +37,9 @@ #include "config.h" #include "system.h" #include "dir.h" +#ifndef SIMULATOR +#include "dircache.h" +#endif #include "kernel.h" #include "thread.h" #include "button.h" @@ -107,12 +110,12 @@ #define PLUGIN_MAGIC 0x526F634B /* RocK */ /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 37 +#define PLUGIN_API_VERSION 38 /* update this to latest version if a change to the api struct breaks backwards compatibility (and please take the opportunity to sort in any new function which are "waiting" at the end of the function table) */ -#define PLUGIN_MIN_API_VERSION 37 +#define PLUGIN_MIN_API_VERSION 38 /* plugin return codes */ enum plugin_status { @@ -281,6 +284,7 @@ struct plugin_api { #endif unsigned (*gui_synclist_do_button)(struct gui_synclist * lists, unsigned button,enum list_wrap wrap); + void (*gui_synclist_set_title)(struct gui_synclist *lists, char* title, ICON icon); /* button */ long (*button_get)(bool block); @@ -318,6 +322,12 @@ struct plugin_api { struct dirent* (*PREFIX(readdir))(DIR* dir); int (*PREFIX(mkdir))(const char *name, int mode); int (*PREFIX(rmdir))(const char *name); + /* dir, cached */ +#ifdef HAVE_DIRCACHE + DIRCACHED* (*opendir_cached)(const char* name); + struct dircache_entry* (*readdir_cached)(DIRCACHED* dir); + int (*closedir_cached)(DIRCACHED* dir); +#endif /* kernel/ system */ void (*PREFIX(sleep))(int ticks); |