#ifndef MAPLIST_H #define MAPLIST_H #include #include "common/treenode.h" class Map; class Projection; class MapList { public: static TreeNode loadMaps(const QString &path, const Projection &proj); static QString formats(); static QStringList filter(); private: typedef Map*(*ParserCb)(const QString &, const Projection &, bool *isDir); typedef QMultiMap ParserMap; static Map *loadFile(const QString &path, const Projection &proj, bool *isDir = 0); static TreeNode loadDir(const QString &path, const Projection &proj, TreeNode *parent = 0); static ParserMap parsers(); static ParserMap _parsers; }; #endif // MAPLIST_H