/**************************************************************************** ** ** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtLocation module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:COMM$ ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** $QT_END_LICENSE$ ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ****************************************************************************/ #ifndef QPLACEMANAGER_H #define QPLACEMANAGER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include QT_BEGIN_NAMESPACE class QPlaceManagerEngine; class QPlaceSearchRequest; class QPlaceSearchReply; class Q_LOCATION_EXPORT QPlaceManager : public QObject { Q_OBJECT public: ~QPlaceManager(); QString managerName() const; int managerVersion() const; QPlaceDetailsReply *getPlaceDetails(const QString &placeId) const; QPlaceContentReply *getPlaceContent(const QPlaceContentRequest &request) const; QPlaceSearchReply *search(const QPlaceSearchRequest &query) const; QPlaceSearchSuggestionReply *searchSuggestions(const QPlaceSearchRequest &request) const; QPlaceIdReply *savePlace(const QPlace &place); QPlaceIdReply *removePlace(const QString &placeId); QPlaceIdReply *saveCategory(const QPlaceCategory &category, const QString &parentId = QString()); QPlaceIdReply *removeCategory(const QString &categoryId); QPlaceReply *initializeCategories(); QString parentCategoryId(const QString &categoryId) const; QStringList childCategoryIds(const QString &parentId = QString()) const; QPlaceCategory category(const QString &categoryId) const; QList childCategories(const QString &parentId = QString()) const; QList locales() const; void setLocale(const QLocale &locale); void setLocales(const QList &locale); QPlace compatiblePlace(const QPlace &place); QPlaceMatchReply *matchingPlaces(const QPlaceMatchRequest &request) const; Q_SIGNALS: void finished(QPlaceReply *reply); void error(QPlaceReply *, QPlaceReply::Error error, const QString &errorString = QString()); void placeAdded(const QString &placeId); void placeUpdated(const QString &placeId); void placeRemoved(const QString &placeId); void categoryAdded(const QPlaceCategory &category, const QString &parentId); void categoryUpdated(const QPlaceCategory &category, const QString &parentId); void categoryRemoved(const QString &categoryId, const QString &parentId); void dataChanged(); private: explicit QPlaceManager(QPlaceManagerEngine *engine, QObject *parent = nullptr); Q_DISABLE_COPY(QPlaceManager) QPlaceManagerEngine *d; friend class QGeoServiceProvider; friend class QGeoServiceProviderPrivate; friend class QPlaceIcon; }; QT_END_NAMESPACE #endif // QPLACEMANAGER_H