summaryrefslogtreecommitdiff
path: root/apps/plugin.h
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2006-11-30 22:29:48 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2006-11-30 22:29:48 +0000
commit0f02e4f7a0a202a9efb26833f156a72a3541b2f8 (patch)
treef376a667ce28f96451c4cdf4e86d650192aeecfe /apps/plugin.h
parentcd605cffa35cff0c59026e5796aa9488ce590aea (diff)
downloadrockbox-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.h14
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);