From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/SDK/plLoadEx/SimpleHandler.cpp | 45 ++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Src/Plugins/SDK/plLoadEx/SimpleHandler.cpp (limited to 'Src/Plugins/SDK/plLoadEx/SimpleHandler.cpp') diff --git a/Src/Plugins/SDK/plLoadEx/SimpleHandler.cpp b/Src/Plugins/SDK/plLoadEx/SimpleHandler.cpp new file mode 100644 index 00000000..d541f7f4 --- /dev/null +++ b/Src/Plugins/SDK/plLoadEx/SimpleHandler.cpp @@ -0,0 +1,45 @@ +#include "SimpleHandler.h" +#include "SimpleLoader.h" +const wchar_t *Cef_Handler::EnumerateExtensions(size_t n) +{ + if (n == 0) + return L"simple"; + else + return 0; +} + +const wchar_t *Cef_Handler::GetName() +{ + return L"Simple Playlist Loader"; +} + +int Cef_Handler::SupportedFilename(const wchar_t *filename) +{ + size_t filenameLength = wcslen(filename); + size_t extensionLength = wcslen(L".simple"); + if (filenameLength < extensionLength) return SVC_PLAYLISTHANDLER_FAILED; // too short + if (!wcsicmp(filename + filenameLength - extensionLength, L".simple")) + return SVC_PLAYLISTHANDLER_SUCCESS; + else + return SVC_PLAYLISTHANDLER_FAILED; +} + +ifc_playlistloader *Cef_Handler::CreateLoader(const wchar_t *filename) +{ + return new SimpleLoader(); +} + +void Cef_Handler::ReleaseLoader(ifc_playlistloader *loader) +{ + delete (SimpleLoader *)loader; +} + +// Define the dispatch table +#define CBCLASS Cef_Handler +START_DISPATCH; +CB(SVC_PLAYLISTHANDLER_ENUMEXTENSIONS, EnumerateExtensions) +CB(SVC_PLAYLISTHANDLER_SUPPORTFILENAME, SupportedFilename) +CB(SVC_PLAYLISTHANDLER_CREATELOADER, CreateLoader) +VCB(SVC_PLAYLISTHANDLER_RELEASELOADER, ReleaseLoader) +CB(SVC_PLAYLISTHANDLER_GETNAME, GetName) +END_DISPATCH; \ No newline at end of file -- cgit