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
qohosenums.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 QOHOSENUMS_H
5#define QOHOSENUMS_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
14namespace QtOhos {
15
16namespace enums {
17
18namespace ohos {
19
49
50}
51
52}
53
54template<typename Enum>
55struct OhosEnumMeta;
56
57template<>
59{
60 using Enum = enums::ohos::geoLocationManager::LocationError;
61 static constexpr const char *fullTypeName = "@ohos.geoLocationManager.LocationError";
62 static constexpr std::array<std::pair<Enum, const char *>, 5> enumeratorsNames = {{
63 {Enum::LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED, "LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED"},
64 {Enum::LOCATING_FAILED_DEFAULT, "LOCATING_FAILED_DEFAULT"},
65 {Enum::LOCATING_FAILED_INTERNET_ACCESS_FAILURE, "LOCATING_FAILED_INTERNET_ACCESS_FAILURE"},
66 {Enum::LOCATING_FAILED_LOCATION_PERMISSION_DENIED, "LOCATING_FAILED_LOCATION_PERMISSION_DENIED"},
67 {Enum::LOCATING_FAILED_LOCATION_SWITCH_OFF, "LOCATING_FAILED_LOCATION_SWITCH_OFF"},
68 }};
69};
70
71template<>
73{
75 static constexpr const char *fullTypeName = "@ohos.geoLocationManager.SatelliteConstellationCategory";
76 static constexpr std::array<std::pair<Enum, const char *>, 8> enumeratorsNames = {{
77 {Enum::CONSTELLATION_CATEGORY_BEIDOU, "CONSTELLATION_CATEGORY_BEIDOU"},
78 {Enum::CONSTELLATION_CATEGORY_GALILEO, "CONSTELLATION_CATEGORY_GALILEO"},
79 {Enum::CONSTELLATION_CATEGORY_GLONASS, "CONSTELLATION_CATEGORY_GLONASS"},
80 {Enum::CONSTELLATION_CATEGORY_GPS, "CONSTELLATION_CATEGORY_GPS"},
81 {Enum::CONSTELLATION_CATEGORY_IRNSS, "CONSTELLATION_CATEGORY_IRNSS"},
82 {Enum::CONSTELLATION_CATEGORY_QZSS, "CONSTELLATION_CATEGORY_QZSS"},
83 {Enum::CONSTELLATION_CATEGORY_SBAS, "CONSTELLATION_CATEGORY_SBAS"},
84 {Enum::CONSTELLATION_CATEGORY_UNKNOWN, "CONSTELLATION_CATEGORY_UNKNOWN"},
85 }};
86};
87
88template<>
90{
92 static constexpr const char *fullTypeName = "@ohos.geoLocationManager.UserActivityScenario";
93 static constexpr std::array<std::pair<Enum, const char *>, 4> enumeratorsNames = {{
94 {Enum::DAILY_LIFE_SERVICE, "DAILY_LIFE_SERVICE"},
95 {Enum::NAVIGATION, "NAVIGATION"},
96 {Enum::SPORT, "SPORT"},
97 {Enum::TRANSPORT, "TRANSPORT"},
98 }};
99};
100
101}
102
104
105Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::geoLocationManager::LocationError));
108
109#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
QtOhos::enums::ohos::geoLocationManager::LocationError LocationError
const char * toStaticString(LocationError locationError)
std::shared_ptr< void > makeContinuousPositionInfoUpdateProducer(QObject *contextObject, int intervalMs, QGeoPositionInfoSource::PositioningMethods positioningMethods, QOhosConsumer< const QGeoPositionInfo &, QGeoPositionInfoSource::PositioningMethods > positionInfoUpdateConsumer)
QtOhos::enums::ohos::geoLocationManager::UserActivityScenario UserActivityScenario
std::shared_ptr< void > makeSinglePositionInfoUpdateProducer(QObject *contextObject, int timeoutMs, QGeoPositionInfoSource::PositioningMethods positioningMethods, QOhosConsumer< std::optional< QGeoPositionInfo >, QGeoPositionInfoSource::PositioningMethods > positionInfoUpdateConsumer)
QGeoPositionInfoSource * tryMakeQOhosGeoPositionInfoSource(QObject *parent)
bool checkLocationOrApproximatelyLocationPermissionGranted()
QT_END_NAMESPACE Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::QOhosQpaFunctions::AudioStreamUsage))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::geoLocationManager::SatelliteConstellationCategory))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::geoLocationManager::UserActivityScenario))
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
Definition qohosenums.h:62
enums::ohos::geoLocationManager::LocationError Enum
Definition qohosenums.h:60
static constexpr std::array< std::pair< Enum, const char * >, 8 > enumeratorsNames
Definition qohosenums.h:76
enums::ohos::geoLocationManager::SatelliteConstellationCategory Enum
Definition qohosenums.h:74
enums::ohos::geoLocationManager::UserActivityScenario Enum
Definition qohosenums.h:91
static constexpr std::array< std::pair< Enum, const char * >, 4 > enumeratorsNames
Definition qohosenums.h:93