Revision control
++ // Copyright (C) 2026 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
++
++ #ifndef QOHOSPOSITIONINGENUMS_H
++ #define QOHOSPOSITIONINGENUMS_H
++
++ #include <QtCore/qglobal.h>
++ #include <QtCore/qmetatype.h>
++ #include <array>
++ #include <info/application_target_sdk_version.h>
++
++ QT_BEGIN_NAMESPACE
++
++ namespace QtOhosPositioning {
++
++ namespace enums {
++
++ namespace ohos {
++
++ namespace geoLocationManager {
++
++ enum class LocationError {
++ LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED,
++ LOCATING_FAILED_DEFAULT,
++ LOCATING_FAILED_INTERNET_ACCESS_FAILURE,
++ LOCATING_FAILED_LOCATION_PERMISSION_DENIED,
++ LOCATING_FAILED_LOCATION_SWITCH_OFF,
++ };
++
++ enum class SatelliteConstellationCategory {
++ CONSTELLATION_CATEGORY_BEIDOU,
++ CONSTELLATION_CATEGORY_GALILEO,
++ CONSTELLATION_CATEGORY_GLONASS,
++ CONSTELLATION_CATEGORY_GPS,
++ CONSTELLATION_CATEGORY_IRNSS,
++ CONSTELLATION_CATEGORY_QZSS,
++ CONSTELLATION_CATEGORY_SBAS,
++ CONSTELLATION_CATEGORY_UNKNOWN,
++ };
++
++ enum class UserActivityScenario {
++ DAILY_LIFE_SERVICE,
++ NAVIGATION,
++ SPORT,
++ TRANSPORT,
++ };
++
++ }
++
++ }
++
++ }
++
++ }
++
++ namespace QtOhos {
++
++ template<typename Enum>
++ struct OhosEnumMeta;
++
++ template<>
++ struct OhosEnumMeta<QtOhosPositioning::enums::ohos::geoLocationManager::LocationError>
++ {
++ using Enum = QtOhosPositioning::enums::ohos::geoLocationManager::LocationError;
++ static constexpr const char *fullTypeName = "@ohos.geoLocationManager.LocationError";
++ static constexpr std::array<std::pair<Enum, const char *>, 5> enumeratorsNames = {{
++ {Enum::LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED, "LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED"},
++ {Enum::LOCATING_FAILED_DEFAULT, "LOCATING_FAILED_DEFAULT"},
++ {Enum::LOCATING_FAILED_INTERNET_ACCESS_FAILURE, "LOCATING_FAILED_INTERNET_ACCESS_FAILURE"},
++ {Enum::LOCATING_FAILED_LOCATION_PERMISSION_DENIED, "LOCATING_FAILED_LOCATION_PERMISSION_DENIED"},
++ {Enum::LOCATING_FAILED_LOCATION_SWITCH_OFF, "LOCATING_FAILED_LOCATION_SWITCH_OFF"},
++ }};
++ };
++
++ template<>
++ struct OhosEnumMeta<QtOhosPositioning::enums::ohos::geoLocationManager::SatelliteConstellationCategory>
++ {
++ using Enum = QtOhosPositioning::enums::ohos::geoLocationManager::SatelliteConstellationCategory;
++ static constexpr const char *fullTypeName = "@ohos.geoLocationManager.SatelliteConstellationCategory";
++ static constexpr std::array<std::pair<Enum, const char *>, 8> enumeratorsNames = {{
++ {Enum::CONSTELLATION_CATEGORY_BEIDOU, "CONSTELLATION_CATEGORY_BEIDOU"},
++ {Enum::CONSTELLATION_CATEGORY_GALILEO, "CONSTELLATION_CATEGORY_GALILEO"},
++ {Enum::CONSTELLATION_CATEGORY_GLONASS, "CONSTELLATION_CATEGORY_GLONASS"},
++ {Enum::CONSTELLATION_CATEGORY_GPS, "CONSTELLATION_CATEGORY_GPS"},
++ {Enum::CONSTELLATION_CATEGORY_IRNSS, "CONSTELLATION_CATEGORY_IRNSS"},
++ {Enum::CONSTELLATION_CATEGORY_QZSS, "CONSTELLATION_CATEGORY_QZSS"},
++ {Enum::CONSTELLATION_CATEGORY_SBAS, "CONSTELLATION_CATEGORY_SBAS"},
++ {Enum::CONSTELLATION_CATEGORY_UNKNOWN, "CONSTELLATION_CATEGORY_UNKNOWN"},
++ }};
++ };
++
++ template<>
++ struct OhosEnumMeta<QtOhosPositioning::enums::ohos::geoLocationManager::UserActivityScenario>
++ {
++ using Enum = QtOhosPositioning::enums::ohos::geoLocationManager::UserActivityScenario;
++ static constexpr const char *fullTypeName = "@ohos.geoLocationManager.UserActivityScenario";
++ static constexpr std::array<std::pair<Enum, const char *>, 4> enumeratorsNames = {{
++ {Enum::DAILY_LIFE_SERVICE, "DAILY_LIFE_SERVICE"},
++ {Enum::NAVIGATION, "NAVIGATION"},
++ {Enum::SPORT, "SPORT"},
++ {Enum::TRANSPORT, "TRANSPORT"},
++ }};
++ };
++
++ }
++
++ QT_END_NAMESPACE
++
++ Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosPositioning::enums::ohos::geoLocationManager::LocationError));
++ Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosPositioning::enums::ohos::geoLocationManager::SatelliteConstellationCategory));
++ Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhosPositioning::enums::ohos::geoLocationManager::UserActivityScenario));
++
++ #endif