summaryrefslogtreecommitdiff
path: root/src/plugins/places/nokia/qplacejsonmediaparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/places/nokia/qplacejsonmediaparser.h')
-rw-r--r--src/plugins/places/nokia/qplacejsonmediaparser.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/plugins/places/nokia/qplacejsonmediaparser.h b/src/plugins/places/nokia/qplacejsonmediaparser.h
new file mode 100644
index 00000000..c3d63f96
--- /dev/null
+++ b/src/plugins/places/nokia/qplacejsonmediaparser.h
@@ -0,0 +1,47 @@
+#ifndef QPLACEJSONMEDIAPARSER_H
+#define QPLACEJSONMEDIAPARSER_H
+
+#include <QObject>
+#include <QList>
+
+#include <qplacemediaobject.h>
+
+class QScriptEngine;
+class QScriptValue;
+
+QTM_BEGIN_NAMESPACE
+
+class QPlaceJSonMediaParser : public QObject
+{
+ Q_OBJECT
+public:
+ enum Error {
+ NoError,
+ ParsingError
+ };
+
+ explicit QPlaceJSonMediaParser(QObject *parent = 0);
+ virtual ~QPlaceJSonMediaParser();
+
+ QList<QPlaceMediaObject> resultMedia();
+ uint allMediaCount();
+ static QPlaceMediaObject buildMediaObject(const QScriptValue &place);
+
+signals:
+ void finished(const Error &error, const QString &errorMessage);
+
+public slots:
+ void processData(const QString &data);
+
+private:
+ void processMedia(const QScriptValue &contacts);
+
+private:
+ QScriptEngine *engine;
+ QList<QPlaceMediaObject> media;
+ uint allMedia;
+};
+
+QTM_END_NAMESPACE
+
+#endif // QPLACEJSONMEDIAPARSER_H