aboutsummaryrefslogtreecommitdiff
path: root/Src/playlist/Handler.h
diff options
context:
space:
mode:
authorJean-Francois Mauguit <jfmauguit@mac.com>2024-09-24 09:03:25 -0400
committerGitHub <noreply@github.com>2024-09-24 09:03:25 -0400
commitbab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/playlist/Handler.h
parent4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff)
parent20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff)
downloadwinamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/playlist/Handler.h')
-rw-r--r--Src/playlist/Handler.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/Src/playlist/Handler.h b/Src/playlist/Handler.h
new file mode 100644
index 00000000..aabd8a7d
--- /dev/null
+++ b/Src/playlist/Handler.h
@@ -0,0 +1,32 @@
+#ifndef NULLSOFT_PLAYLISTS_HANDLER_H
+#define NULLSOFT_PLAYLISTS_HANDLER_H
+
+#include "svc_playlisthandler.h"
+#include <bfc/platform/types.h>
+
+#define DECLARE_HANDLER(className, IS_WRITER) class className ## Handler : public svc_playlisthandler {\
+public:\
+ const wchar_t *enumExtensions(size_t n); \
+ int SupportedFilename(const wchar_t *filename); \
+ ifc_playlistloader *CreateLoader(const wchar_t *filename);\
+ void ReleaseLoader(ifc_playlistloader *loader);\
+ const wchar_t *GetName(); \
+ int HasWriter() { return IS_WRITER; }\
+protected: RECVS_DISPATCH;}
+
+DECLARE_HANDLER(M3U, 1);
+DECLARE_HANDLER(PLS, 1);
+DECLARE_HANDLER(B4S, 0);
+
+// {8D031378-4209-4bfe-AC94-03C57C896214}
+static const GUID m3uHandlerGUID =
+{ 0x8d031378, 0x4209, 0x4bfe, { 0xac, 0x94, 0x3, 0xc5, 0x7c, 0x89, 0x62, 0x14 } };
+
+// {4FF33CC0-F82C-4550-8E4A-DDF90036BE85}
+static const GUID plsHandlerGUID =
+{ 0x4ff33cc0, 0xf82c, 0x4550, { 0x8e, 0x4a, 0xdd, 0xf9, 0x0, 0x36, 0xbe, 0x85 } };
+
+static const GUID b4sHandlerGUID =
+{ 0x6f62cbb8, 0x7e1f, 0x43eb, { 0xb3, 0xf6, 0x1, 0xc2, 0x60, 0x10, 0x29, 0xa3 } };
+
+#endif \ No newline at end of file