Diffstat (limited to 'noncore/graphics/opie-eye/slave/slaveiface.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/slave/slaveiface.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/slave/slaveiface.h b/noncore/graphics/opie-eye/slave/slaveiface.h new file mode 100644 index 0000000..18656c5 --- a/dev/null +++ b/noncore/graphics/opie-eye/slave/slaveiface.h | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * GPLv2 | ||
3 | */ | ||
4 | |||
5 | #ifndef P_SLAVE_INTER_FACE_H | ||
6 | #define P_SLAVE_INTER_FACE_H | ||
7 | |||
8 | #include <qfileinfo.h> | ||
9 | #include <qstringlist.h> | ||
10 | #include <qmap.h> | ||
11 | |||
12 | /** | ||
13 | * @short The slave worker Interface for generating Preview + Image Info + Full | ||
14 | * IMage Info | ||
15 | */ | ||
16 | class QPixmap; | ||
17 | class SlaveInterface { | ||
18 | public: | ||
19 | SlaveInterface(const QStringList& imageformats); | ||
20 | virtual ~SlaveInterface(); | ||
21 | |||
22 | QStringList imageFormats()const; | ||
23 | bool supports( const QString& )const; | ||
24 | virtual QString iconViewName(const QString&) = 0; | ||
25 | virtual QString fullImageInfo(const QString& )= 0; | ||
26 | virtual QPixmap pixmap( const QString&, int width, int height ) = 0; | ||
27 | private: | ||
28 | QStringList m_list; | ||
29 | }; | ||
30 | |||
31 | inline bool SlaveInterface::supports( const QString& str)const { | ||
32 | return m_list.contains( QFileInfo( str ).extension(false) ); | ||
33 | } | ||
34 | |||
35 | typedef SlaveInterface* (*phunkSlaveCreateFunc )(); | ||
36 | typedef QMap<QString,phunkSlaveCreateFunc> SlaveMap; | ||
37 | |||
38 | typedef QMap<QString, SlaveInterface*> SlaveObjects; | ||
39 | |||
40 | SlaveMap* slaveMap(); | ||
41 | SlaveObjects* slaveObjects(); | ||
42 | |||
43 | |||
44 | |||
45 | #define PHUNK_VIEW_INTERFACE( NAME, IMPL ) \ | ||
46 | static SlaveInterface *create_ ## IMPL() { \ | ||
47 | return new IMPL(); \ | ||
48 | } \ | ||
49 | static SlaveMap::Iterator dummy_ ## IMPL = slaveMap()->insert( NAME, create_ ## IMPL ); | ||
50 | |||
51 | |||
52 | |||
53 | #endif | ||