aboutsummaryrefslogtreecommitdiff
path: root/Src/xspf/XSPFHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/xspf/XSPFHandler.h')
-rw-r--r--Src/xspf/XSPFHandler.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Src/xspf/XSPFHandler.h b/Src/xspf/XSPFHandler.h
new file mode 100644
index 00000000..bcfa949b
--- /dev/null
+++ b/Src/xspf/XSPFHandler.h
@@ -0,0 +1,23 @@
+#ifndef NULLSOFT_XSPF_XSPFHANDLER_H
+#define NULLSOFT_XSPF_XSPFHANDLER_H
+
+#include "../playlist/svc_playlisthandler.h"
+// the "Playlist Handler" is responsible for describing all the capabilities of the playlist format to Winamp
+// It is a singleton class (for each playlist type)
+// besides informational functions, it contains factory methods for creating playlist loaders and writers
+
+class XSPFHandler : public svc_playlisthandler
+{
+public:
+ const wchar_t *EnumerateExtensions(size_t n); // returns 0 when it's done
+ const char *EnumerateMIMETypes(size_t n); // returns 0 when it's done, returns char * to match HTTP specs
+ const wchar_t *GetName(); // returns a name suitable for display to user of this playlist form (e.g. PLS Playlist)
+ int SupportedFilename(const wchar_t *filename); // returns SUCCESS and FAILED, so be careful ...
+ int SupportedMIMEType(const char *filename); // returns SUCCESS and FAILED, so be careful ...
+ ifc_playlistloader *CreateLoader(const wchar_t *filename);
+ void ReleaseLoader(ifc_playlistloader *loader);
+
+protected:
+ RECVS_DISPATCH; // boiler-plate code for the dispatch-table
+};
+#endif \ No newline at end of file