summaryrefslogtreecommitdiff
path: root/src/location/places/qplacemanagerengine.h
blob: 56aa79aa7c5599ce15da99a9058c83421cc8d295 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef QPLACEMANAGERENGINE_H
#define QPLACEMANAGERENGINE_H

#include "qplacemanager.h"

QTM_BEGIN_NAMESPACE

class Q_LOCATION_EXPORT QPlaceManagerEngine : public QObject
{
    Q_OBJECT
public:

    QPlaceManagerEngine(QObject *parent = 0);
    virtual ~QPlaceManagerEngine();

    virtual QString managerName() const = 0;

    virtual QPlaceDetailsReply *getPlaceDetails(const QString &placeId) = 0;

    virtual QPlaceMediaReply *getMedia(const QPlace &place, const QPlaceQuery &query) = 0;

    virtual QPlaceReply *postRating(const QPlace &place, qreal value) = 0;

    virtual QPlaceReviewReply *getReviews(const QPlace &place, const QPlaceQuery &query) = 0;

    virtual QPlaceSearchReply *searchForPlaces(const QPlaceSearchQuery &query, QPlaceManager::VisibilityScope scope) = 0;
    virtual QPlaceManager::VisibilityScopes supportedSearchVisibilityScopes() const = 0;

    virtual QPlaceSearchReply *recommendations(const QPlace &place, const QPlaceSearchQuery &query) = 0;
    virtual QPlaceTextPredictionReply *textPredictions(const QPlaceSearchQuery &query) = 0;

    virtual QPlaceManager::ConnectivityModes connectivityMode() const = 0;
    virtual void setConnectivityMode(QPlaceManager::ConnectivityModes mode) = 0;
    virtual QPlaceManager::ConnectivityModes supportedConnectivityModes() const = 0;

    virtual QPlaceReply *savePlace(QPlace *place, QPlaceManager::VisibilityScope scope) = 0;
    virtual QPlaceManager::VisibilityScopes supportedSaveVisibilityScopes() const = 0;

    virtual QPlaceReply *removePlace(const QPlace &place) = 0;

    virtual QPlaceReply *initializeCategories() = 0;
    virtual QList<QPlaceCategory> categories() const = 0;

Q_SIGNALS:
    void finished(QPlaceReply *reply);
    void error(QPlaceReply *, QPlaceReply::Error error, QString errorString = QString());

};

QTM_END_NAMESPACE

#endif