aboutsummaryrefslogtreecommitdiffstats
path: root/src/input_plugin.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-09-14 22:25:29 +0200
committerMax Kellermann <max@duempel.org>2011-09-14 22:25:29 +0200
commitad37c88f800a09b75ae3174269bcdf3584406837 (patch)
tree817b4d3755aaec18dc635e5cb25deeba7934dda9 /src/input_plugin.h
parent8c6e8a6eb87dfbb38c6a1047d0868f565837abfa (diff)
downloadmpd-ad37c88f800a09b75ae3174269bcdf3584406837.tar.gz
mpd-ad37c88f800a09b75ae3174269bcdf3584406837.tar.xz
mpd-ad37c88f800a09b75ae3174269bcdf3584406837.zip
input_plugin: add method update()
Update the struct attributes, important for facades like the "rewind" plugin. To replace buffer().
Diffstat (limited to 'src/input_plugin.h')
-rw-r--r--src/input_plugin.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/input_plugin.h b/src/input_plugin.h
index 70b9155aa..3ac0bdf40 100644
--- a/src/input_plugin.h
+++ b/src/input_plugin.h
@@ -51,6 +51,12 @@ struct input_plugin {
struct input_stream *(*open)(const char *uri, GError **error_r);
void (*close)(struct input_stream *is);
+ /**
+ * Update the public attributes. Call before access. Can be
+ * NULL if the plugin always keeps its attributes up to date.
+ */
+ void (*update)(struct input_stream *is);
+
struct tag *(*tag)(struct input_stream *is);
int (*buffer)(struct input_stream *is, GError **error_r);
size_t (*read)(struct input_stream *is, void *ptr, size_t size,