aboutsummaryrefslogtreecommitdiff
path: root/Src/xspf/XSPFHandler.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/xspf/XSPFHandler.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
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