summaryrefslogtreecommitdiffstats
path: root/Src/playlist/ifc_playlistdirectorycallback.h
blob: 1e8a09bd26c4ef29597a22cd883899fa9bbc78a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef NULLSOFT_IFC_PLAYLISTDIRECTORYCALLBACK_H
#define NULLSOFT_IFC_PLAYLISTDIRECTORYCALLBACK_H

#include <bfc/dispatch.h>
#include <bfc/platform/types.h>

class ifc_playlistdirectorycallback : public Dispatchable
{
protected:
	ifc_playlistdirectorycallback()                                   {}
	~ifc_playlistdirectorycallback()                                  {}

public:
	bool ShouldRecurse(const wchar_t *path);
	bool ShouldLoad(const wchar_t *filename);

	DISPATCH_CODES
	{
		IFC_PLAYLISTDIRECTORYCALLBACK_SHOULDRECURSE = 10,
		IFC_PLAYLISTDIRECTORYCALLBACK_SHOULDLOAD    = 20,
	};
};

inline bool ifc_playlistdirectorycallback::ShouldRecurse(const wchar_t *path)
{
	return _call(IFC_PLAYLISTDIRECTORYCALLBACK_SHOULDRECURSE, (bool)false, path);
}

inline bool ifc_playlistdirectorycallback::ShouldLoad(const wchar_t *filename)
{
	return _call(IFC_PLAYLISTDIRECTORYCALLBACK_SHOULDLOAD, (bool)true, filename);
}
#endif