Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qohospositioningenums.h
Go to the documentation of this file.
1// Copyright (C) 2026 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QOHOSPOSITIONINGENUMS_H
5#define QOHOSPOSITIONINGENUMS_H
6
7#include <QtCore/qglobal.h>
8#include <QtCore/qmetatype.h>
9#include <array>
10#include <info/application_target_sdk_version.h>
11
12QT_BEGIN_NAMESPACE
13
55
56namespace QtOhos {
57
58template<typename Enum>
59struct OhosEnumMeta;
60
61template<>
63{
65 static constexpr const char *fullTypeName = "@ohos.geoLocationManager.LocationError";
66 static constexpr std::array<std::pair<Enum, const char *>, 5> enumeratorsNames = {{
67 {Enum::LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED, "LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED"},
68 {Enum::LOCATING_FAILED_DEFAULT, "LOCATING_FAILED_DEFAULT"},
69 {Enum::LOCATING_FAILED_INTERNET_ACCESS_FAILURE, "LOCATING_FAILED_INTERNET_ACCESS_FAILURE"},
70 {Enum::LOCATING_FAILED_LOCATION_PERMISSION_DENIED, "LOCATING_FAILED_LOCATION_PERMISSION_DENIED"},
71 {Enum::LOCATING_FAILED_LOCATION_SWITCH_OFF, "LOCATING_FAILED_LOCATION_SWITCH_OFF"},
72 }};
73};
74
75template<>
77{
79 static constexpr const char *fullTypeName = "@ohos.geoLocationManager.SatelliteConstellationCategory";
80 static constexpr std::array<std::pair<Enum, const char *>, 8> enumeratorsNames = {{
81 {Enum::CONSTELLATION_CATEGORY_BEIDOU, "CONSTELLATION_CATEGORY_BEIDOU"},
82 {Enum::CONSTELLATION_CATEGORY_GALILEO, "CONSTELLATION_CATEGORY_GALILEO"},
83 {Enum::CONSTELLATION_CATEGORY_GLONASS, "CONSTELLATION_CATEGORY_GLONASS"},
84 {Enum::CONSTELLATION_CATEGORY_GPS, "CONSTELLATION_CATEGORY_GPS"},
85 {Enum::CONSTELLATION_CATEGORY_IRNSS, "CONSTELLATION_CATEGORY_IRNSS"},
86 {Enum::CONSTELLATION_CATEGORY_QZSS, "CONSTELLATION_CATEGORY_QZSS"},
87 {Enum::CONSTELLATION_CATEGORY_SBAS, "CONSTELLATION_CATEGORY_SBAS"},
88 {Enum::CONSTELLATION_CATEGORY_UNKNOWN, "CONSTELLATION_CATEGORY_UNKNOWN"},
89 }};
90};
91
92template<>
94{
96 static constexpr const char *fullTypeName = "@ohos.geoLocationManager.UserActivityScenario";
97 static constexpr std::array<std::pair<Enum, const char *>, 4> enumeratorsNames = {{
98 {Enum::DAILY_LIFE_SERVICE, "DAILY_LIFE_SERVICE"},
99 {Enum::NAVIGATION, "NAVIGATION"},
100 {Enum::SPORT, "SPORT"},
101 {Enum::TRANSPORT, "TRANSPORT"},
102 }};
103};
104
105}
106
108
109Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosPositioning::enums::ohos::geoLocationManager::LocationError));
112
113#endif
void setPreferredPositioningMethods(PositioningMethods methods) override
void startUpdates() override
Starts emitting updates at regular intervals as specified by setUpdateInterval().
PositioningMethods supportedPositioningMethods() const override
Returns the positioning methods available to this source.
void requestUpdate(int timeout) override
Attempts to get the current position and emit positionUpdated() with this information.
static QOhosGeoPositionInfoSource * tryMakeInstance(QObject *parent)
Error error() const override
Returns the type of error that last occurred.
QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly) const override
Returns an update containing the last known position, or a null update if none is available.
void stopUpdates() override
Stops emitting updates at regular intervals.
std::shared_ptr< void > registerLocationChangeUpdateHandler(QObject *contextObject, long intervalSec, UserActivityScenario userActivityScenario, QOhosConsumer< const QGeoPositionInfo & > positionInfoUpdateConsumer)
std::shared_ptr< void > registerLocationErrorHandler(QObject *contextObject, QOhosConsumer< LocationError > errorConsumer)
std::optional< UserActivityScenario > tryMapPositioningMethodsToUserActivityScenario(QGeoPositionInfoSource::PositioningMethods positioningMethods)
const char * toStaticString(UserActivityScenario scenario)
QGeoPositionInfo convertLocationObjectToPositionInfo(const QNapi::Object &locationObject)
QGeoPositionInfoSource::Error convertLocationErrorToQtError(LocationError error)
constexpr int continuousUpdateTimerIntervalMs
QtOhosPositioning::enums::ohos::geoLocationManager::UserActivityScenario UserActivityScenario
const char * toStaticString(LocationError locationError)
std::shared_ptr< void > makeContinuousPositionInfoUpdateProducer(QObject *contextObject, int intervalMs, QGeoPositionInfoSource::PositioningMethods positioningMethods, QOhosConsumer< const QGeoPositionInfo &, QGeoPositionInfoSource::PositioningMethods > positionInfoUpdateConsumer)
QtOhosPositioning::enums::ohos::geoLocationManager::LocationError LocationError
std::shared_ptr< void > makeSinglePositionInfoUpdateProducer(QObject *contextObject, int timeoutMs, QGeoPositionInfoSource::PositioningMethods positioningMethods, QOhosConsumer< std::optional< QGeoPositionInfo >, QGeoPositionInfoSource::PositioningMethods > positionInfoUpdateConsumer)
QGeoPositionInfoSource * tryMakeQOhosGeoPositionInfoSource(QObject *parent)
std::unique_ptr< QTimer > makeSingleShotUpdateTimeoutTimer(int timeoutMs, std::function< void()> timeoutCallback)
bool checkLocationOrApproximatelyLocationPermissionGranted()
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosPositioning::enums::ohos::geoLocationManager::UserActivityScenario))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosPositioning::enums::ohos::geoLocationManager::SatelliteConstellationCategory))
QT_END_NAMESPACE Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosQpa::enums::kit::ShareKit::systemShare::SelectionMode))
QtOhosPositioning::enums::ohos::geoLocationManager::LocationError Enum
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
QtOhosPositioning::enums::ohos::geoLocationManager::SatelliteConstellationCategory Enum
QtOhosPositioning::enums::ohos::geoLocationManager::UserActivityScenario Enum