diff options
Diffstat (limited to 'src/plugins/geoservices/nokia/places/qplacejsoncategoriesparser.h')
-rw-r--r-- | src/plugins/geoservices/nokia/places/qplacejsoncategoriesparser.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/plugins/geoservices/nokia/places/qplacejsoncategoriesparser.h b/src/plugins/geoservices/nokia/places/qplacejsoncategoriesparser.h index c6c95717..e9428476 100644 --- a/src/plugins/geoservices/nokia/places/qplacejsoncategoriesparser.h +++ b/src/plugins/geoservices/nokia/places/qplacejsoncategoriesparser.h @@ -55,6 +55,7 @@ #include <qplacecategory.h> #include "qplacejsonparser_p.h" +#include "qplacecategorytree.h" class QScriptEngine; class QScriptValue; @@ -64,21 +65,25 @@ QT_BEGIN_NAMESPACE class QPlaceJSonCategoriesParser : public QPlaceJSonParser { Q_OBJECT + public: explicit QPlaceJSonCategoriesParser(QObject *parent = 0); virtual ~QPlaceJSonCategoriesParser(); - static QList<QPlaceCategory> processCategories(const QScriptValue &categories); + QPlaceCategoryTree resultCategories() const; + QList<QPlaceCategory> resultCategoriesFlat() const; - QList<QPlaceCategory> resultCategories(); + static QList<QPlaceCategory> parseFlatCategoryList(const QScriptValue &categories); private: void processJSonData(const QScriptValue &sv); + + static QPlaceCategoryTree processCategories(const QScriptValue &categories); + static QPlaceCategoryTree processGroup(const QScriptValue &group); static QPlaceCategory processCategory(const QScriptValue &categoryValue); - static QList<QPlaceCategory> processGroups(const QScriptValue &categories); - static QList<QPlaceCategory> processGroup(const QScriptValue &group); + private: - QList<QPlaceCategory> allCategories; + QPlaceCategoryTree m_categoryTree; }; QT_END_NAMESPACE |