23 lines
1.1 KiB
C
23 lines
1.1 KiB
C
|
#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
|