summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/iface/dirview.h
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/iface/dirview.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/iface/dirview.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/iface/dirview.h b/noncore/graphics/opie-eye/iface/dirview.h
new file mode 100644
index 0000000..20d9062
--- a/dev/null
+++ b/noncore/graphics/opie-eye/iface/dirview.h
@@ -0,0 +1,40 @@
1/*
2 * GPLv2 zecke@handhelds.org
3 * No WArranty...
4 */
5
6#ifndef PHUNK_DIR_VIEW_H
7#define PHUNK_DIR_VIEW_H
8
9#include <qmap.h>
10
11#include <qpe/config.h>
12
13class PInterfaceInfo;
14class PDirLister;
15
16struct PDirView {
17 PDirView( const Config& );
18 virtual ~PDirView();
19 virtual PInterfaceInfo* interfaceInfo()const = 0;
20 virtual PDirLister* dirLister()const = 0;
21};
22
23typedef PDirView* (*phunkViewCreateFunc )(const Config& );
24typedef QMap<QString,phunkViewCreateFunc> ViewMap;
25
26ViewMap* viewMap();
27PDirView* currentView();
28void setCurrentView( PDirView* );
29
30
31
32#define PHUNK_VIEW_INTERFACE( NAME, IMPL ) \
33 static PDirView *create_ ## IMPL( const Config& cfg ) { \
34 return new IMPL( cfg ); \
35 } \
36 static ViewMap::Iterator dummy_ ## IMPL = viewMap()->insert( NAME, create_ ## IMPL );
37
38
39
40#endif