File indexing completed on 2025-02-16 13:12:28
0001 /* 0002 SPDX-FileCopyrightText: 2010 Lamarque Souza <lamarque@kde.org> 0003 SPDX-FileCopyrightText: 2013 Lukas Tinkl <ltinkl@redhat.com> 0004 SPDX-FileCopyrightText: 2013-2015 Jan Grulich <jgrulich@redhat.com> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef MODEMMANAGERQT_GENERIC_TYPES_H 0010 #define MODEMMANAGERQT_GENERIC_TYPES_H 0011 0012 #include <ModemManager/ModemManager.h> 0013 #include <modemmanagerqt_export.h> 0014 0015 #include <QMetaType> 0016 #include <QtDBus> 0017 0018 // Enums from ModemManager-enums.h which needs to be defined all the time, 0019 // because it's not possible to use MM_CHECK_VERSION for signals 0020 #if !MM_CHECK_VERSION(1, 2, 0) 0021 typedef enum { /*< underscore_name=mm_modem_3gpp_subscription_state >*/ 0022 MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNKNOWN = 0, 0023 MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNPROVISIONED = 1, 0024 MM_MODEM_3GPP_SUBSCRIPTION_STATE_PROVISIONED = 2, 0025 MM_MODEM_3GPP_SUBSCRIPTION_STATE_OUT_OF_DATA = 3, 0026 } MMModem3gppSubscriptionState; 0027 0028 typedef enum { /*< underscore_name=mm_sms_cdma_service_category >*/ 0029 MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN = 0x0000, 0030 MM_SMS_CDMA_SERVICE_CATEGORY_EMERGENCY_BROADCAST = 0x0001, 0031 MM_SMS_CDMA_SERVICE_CATEGORY_ADMINISTRATIVE = 0x0002, 0032 MM_SMS_CDMA_SERVICE_CATEGORY_MAINTENANCE = 0x0003, 0033 MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_LOCAL = 0x0004, 0034 MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_REGIONAL = 0x0005, 0035 MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_NATIONAL = 0x0006, 0036 MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_INTERNATIONAL = 0x0007, 0037 MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_LOCAL = 0x0008, 0038 MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_REGIONAL = 0x0009, 0039 MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_NATIONAL = 0x000A, 0040 MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_INTERNATIONAL = 0x000B, 0041 MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_LOCAL = 0x000C, 0042 MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_REGIONAL = 0x000D, 0043 MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_NATIONAL = 0x000E, 0044 MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_INTERNATIONAL = 0x000F, 0045 MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_LOCAL = 0x0010, 0046 MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_REGIONAL = 0x0011, 0047 MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_NATIONAL = 0x0012, 0048 MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_INTERNATIONAL = 0x0013, 0049 MM_SMS_CDMA_SERVICE_CATEGORY_LOCAL_WEATHER = 0x0014, 0050 MM_SMS_CDMA_SERVICE_CATEGORY_TRAFFIC_REPORT = 0x0015, 0051 MM_SMS_CDMA_SERVICE_CATEGORY_FLIGHT_SCHEDULES = 0x0016, 0052 MM_SMS_CDMA_SERVICE_CATEGORY_RESTAURANTS = 0x0017, 0053 MM_SMS_CDMA_SERVICE_CATEGORY_LODGINGS = 0x0018, 0054 MM_SMS_CDMA_SERVICE_CATEGORY_RETAIL_DIRECTORY = 0x0019, 0055 MM_SMS_CDMA_SERVICE_CATEGORY_ADVERTISEMENTS = 0x001A, 0056 MM_SMS_CDMA_SERVICE_CATEGORY_STOCK_QUOTES = 0x001B, 0057 MM_SMS_CDMA_SERVICE_CATEGORY_EMPLOYMENT = 0x001C, 0058 MM_SMS_CDMA_SERVICE_CATEGORY_HOSPITALS = 0x001D, 0059 MM_SMS_CDMA_SERVICE_CATEGORY_TECHNOLOGY_NEWS = 0x001E, 0060 MM_SMS_CDMA_SERVICE_CATEGORY_MULTICATEGORY = 0x001F, 0061 MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_PRESIDENTIAL_ALERT = 0x1000, 0062 MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_EXTREME_THREAT = 0x1001, 0063 MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_SEVERE_THREAT = 0x1002, 0064 MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 0x1003, 0065 MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_TEST = 0x1004, 0066 } MMSmsCdmaServiceCategory; 0067 0068 typedef enum { /*< underscore_name=mm_sms_cdma_teleservice_id >*/ 0069 MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN = 0x0000, 0070 MM_SMS_CDMA_TELESERVICE_ID_CMT91 = 0x1000, 0071 MM_SMS_CDMA_TELESERVICE_ID_WPT = 0x1001, 0072 MM_SMS_CDMA_TELESERVICE_ID_WMT = 0x1002, 0073 MM_SMS_CDMA_TELESERVICE_ID_VMN = 0x1003, 0074 MM_SMS_CDMA_TELESERVICE_ID_WAP = 0x1004, 0075 MM_SMS_CDMA_TELESERVICE_ID_WEMT = 0x1005, 0076 MM_SMS_CDMA_TELESERVICE_ID_SCPT = 0x1006, 0077 MM_SMS_CDMA_TELESERVICE_ID_CATPT = 0x1007, 0078 } MMSmsCdmaTeleserviceId; 0079 #endif 0080 0081 namespace ModemManager 0082 { 0083 typedef QMap<QString, QVariantMap> MMVariantMapMap; 0084 typedef QMap<QDBusObjectPath, MMVariantMapMap> DBUSManagerStruct; 0085 typedef QList<uint> UIntList; 0086 typedef QList<QList<uint>> UIntListList; 0087 0088 typedef struct { 0089 QString name; 0090 MMModemPortType type; 0091 } Port; 0092 typedef QList<Port> PortList; 0093 0094 typedef struct { 0095 uint signal; 0096 bool recent; 0097 } SignalQualityPair; 0098 0099 typedef struct { 0100 uint allowed; // bitfield 0101 MMModemMode preferred; 0102 } CurrentModesType; 0103 typedef QList<CurrentModesType> SupportedModesType; 0104 0105 #if MM_CHECK_VERSION(1, 2, 0) 0106 typedef struct { 0107 MMOmaSessionType type; 0108 uint id; 0109 } OmaSessionType; 0110 typedef QList<OmaSessionType> OmaSessionTypes; 0111 #endif 0112 typedef QMap<MMModemLock, uint> UnlockRetriesMap; 0113 typedef QList<QVariantMap> QVariantMapList; 0114 typedef QMap<MMModemLocationSource, QVariant> LocationInformationMap; 0115 typedef struct { 0116 MMSmsValidityType validity; 0117 uint value; 0118 } ValidityPair; 0119 } 0120 0121 // Flags 0122 Q_DECLARE_METATYPE(QFlags<MMModemAccessTechnology>) 0123 Q_DECLARE_METATYPE(QFlags<MMModemCapability>) 0124 Q_DECLARE_METATYPE(QFlags<MMModemMode>) 0125 Q_DECLARE_METATYPE(QFlags<MMBearerIpFamily>) 0126 Q_DECLARE_METATYPE(QFlags<MMModem3gppFacility>) 0127 Q_DECLARE_METATYPE(QFlags<MMModemLocationSource>) 0128 #if MM_CHECK_VERSION(1, 2, 0) 0129 Q_DECLARE_METATYPE(QFlags<MMOmaFeature>) 0130 #endif 0131 0132 // ModemManager enums 0133 Q_DECLARE_METATYPE(QList<MMModemBand>) 0134 Q_DECLARE_METATYPE(QList<MMModemCapability>) 0135 Q_DECLARE_METATYPE(MMModemLock) 0136 Q_DECLARE_METATYPE(MMModemPowerState) 0137 Q_DECLARE_METATYPE(MMModemState) 0138 Q_DECLARE_METATYPE(MMModemStateChangeReason) 0139 Q_DECLARE_METATYPE(MMModemStateFailedReason) 0140 Q_DECLARE_METATYPE(MMModem3gppRegistrationState) 0141 #if MM_CHECK_VERSION(1, 2, 0) 0142 Q_DECLARE_METATYPE(MMModem3gppSubscriptionState) 0143 #endif 0144 Q_DECLARE_METATYPE(MMModem3gppUssdSessionState) 0145 Q_DECLARE_METATYPE(MMModemCdmaActivationState) 0146 Q_DECLARE_METATYPE(MMCdmaActivationError) 0147 Q_DECLARE_METATYPE(MMModemCdmaRegistrationState) 0148 Q_DECLARE_METATYPE(MMModemLocationSource) 0149 #if MM_CHECK_VERSION(1, 2, 0) 0150 Q_DECLARE_METATYPE(MMOmaSessionType) 0151 Q_DECLARE_METATYPE(MMOmaSessionState) 0152 Q_DECLARE_METATYPE(MMOmaSessionStateFailedReason) 0153 #endif 0154 Q_DECLARE_METATYPE(MMSmsDeliveryState) 0155 Q_DECLARE_METATYPE(MMSmsPduType) 0156 Q_DECLARE_METATYPE(MMSmsState) 0157 Q_DECLARE_METATYPE(MMSmsStorage) 0158 #if MM_CHECK_VERSION(1, 2, 0) 0159 Q_DECLARE_METATYPE(MMSmsCdmaServiceCategory) 0160 Q_DECLARE_METATYPE(MMSmsCdmaTeleserviceId) 0161 #endif 0162 #if MM_CHECK_VERSION(1, 6, 0) 0163 Q_DECLARE_METATYPE(MMCallState) 0164 Q_DECLARE_METATYPE(MMCallStateReason) 0165 Q_DECLARE_METATYPE(MMCallDirection) 0166 #endif 0167 0168 // Others 0169 Q_DECLARE_METATYPE(ModemManager::DBUSManagerStruct) 0170 Q_DECLARE_METATYPE(ModemManager::Port) 0171 Q_DECLARE_METATYPE(ModemManager::PortList) 0172 Q_DECLARE_METATYPE(ModemManager::SignalQualityPair) 0173 Q_DECLARE_METATYPE(ModemManager::CurrentModesType) 0174 Q_DECLARE_METATYPE(ModemManager::SupportedModesType) 0175 #if MM_CHECK_VERSION(1, 2, 0) 0176 Q_DECLARE_METATYPE(ModemManager::OmaSessionType) 0177 Q_DECLARE_METATYPE(ModemManager::OmaSessionTypes) 0178 #endif 0179 Q_DECLARE_METATYPE(ModemManager::UnlockRetriesMap) 0180 Q_DECLARE_METATYPE(ModemManager::LocationInformationMap) 0181 Q_DECLARE_METATYPE(ModemManager::ValidityPair) 0182 0183 // Port 0184 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &arg, const ModemManager::Port &port); 0185 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &arg, ModemManager::Port &port); 0186 0187 // CurrentModesType 0188 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &arg, const ModemManager::CurrentModesType &mode); 0189 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &arg, ModemManager::CurrentModesType &mode); 0190 0191 // SignalQualityPair 0192 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &arg, const ModemManager::SignalQualityPair &sqp); 0193 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &arg, ModemManager::SignalQualityPair &sqp); 0194 0195 // ValidityPair 0196 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &arg, const ModemManager::ValidityPair &vp); 0197 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &arg, ModemManager::ValidityPair &vp); 0198 0199 #if MM_CHECK_VERSION(1, 2, 0) 0200 // OmaSessionType 0201 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &arg, const ModemManager::OmaSessionType &sessionType); 0202 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &arg, ModemManager::OmaSessionType &sessionType); 0203 #endif 0204 0205 // UnlockRetriesMap 0206 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const ModemManager::UnlockRetriesMap &unlockRetriesMap); 0207 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, ModemManager::UnlockRetriesMap &unlockRetriesMap); 0208 0209 // QVariantMapList 0210 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const ModemManager::QVariantMapList &variantMapList); 0211 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, ModemManager::QVariantMapList &variantMapList); 0212 0213 // LocationInformationMap 0214 MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const ModemManager::LocationInformationMap &locationMap); 0215 MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, ModemManager::LocationInformationMap &locationMap); 0216 0217 MODEMMANAGERQT_EXPORT void registerModemManagerTypes(); 0218 0219 #endif // MODEMMANAGERQT_GENERIC_TYPES_P_H