00001 #ifndef TREEBUILDERS_H_ 00002 #define TREEBUILDERS_H_ 00003 00004 #include <qstring.h> 00005 #include <qstringlist.h> 00006 #include <qptrdict.h> 00007 #include <qdict.h> 00008 00009 #include "metadata.h" 00010 00045 class MusicTreeBuilder 00046 { 00047 public: 00048 virtual ~MusicTreeBuilder(); 00049 00062 virtual void makeTree(MusicNode *root, const MetadataPtrList &metas); 00063 00069 static MusicTreeBuilder *createBuilder(const QString &paths); 00070 00071 protected: 00072 MusicTreeBuilder(); 00073 00079 virtual MusicNode *createNode(const QString &title) = 0; 00080 00090 virtual bool isLeafDone(Metadata *m) = 0; 00091 00101 virtual QString getField(Metadata *m) = 0; 00102 00114 inline int getDepth(void) { return m_depth; } 00115 00116 private: 00117 int m_depth; 00118 }; 00119 00120 #endif /* TREEBUILDERS_H_ */
1.5.5