125c1cde8Sopenharmony_ci/* 225c1cde8Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 325c1cde8Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 425c1cde8Sopenharmony_ci * you may not use this file except in compliance with the License. 525c1cde8Sopenharmony_ci * You may obtain a copy of the License at 625c1cde8Sopenharmony_ci * 725c1cde8Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 825c1cde8Sopenharmony_ci * 925c1cde8Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1025c1cde8Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1125c1cde8Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1225c1cde8Sopenharmony_ci * See the License for the specific language governing permissions and 1325c1cde8Sopenharmony_ci * limitations under the License. 1425c1cde8Sopenharmony_ci */ 1525c1cde8Sopenharmony_ci 1625c1cde8Sopenharmony_ci#ifndef DATA_STORAGE_PDP_PROFILE_DATA_H 1725c1cde8Sopenharmony_ci#define DATA_STORAGE_PDP_PROFILE_DATA_H 1825c1cde8Sopenharmony_ci 1925c1cde8Sopenharmony_cinamespace OHOS { 2025c1cde8Sopenharmony_cinamespace Telephony { 2125c1cde8Sopenharmony_ciclass PdpProfileData { 2225c1cde8Sopenharmony_cipublic: 2325c1cde8Sopenharmony_ci /** 2425c1cde8Sopenharmony_ci * @brief Operator id 2525c1cde8Sopenharmony_ci */ 2625c1cde8Sopenharmony_ci static constexpr const char *PROFILE_ID = "profile_id"; 2725c1cde8Sopenharmony_ci /** 2825c1cde8Sopenharmony_ci * @brief Operator name 2925c1cde8Sopenharmony_ci */ 3025c1cde8Sopenharmony_ci static constexpr const char *PROFILE_NAME = "profile_name"; 3125c1cde8Sopenharmony_ci /** 3225c1cde8Sopenharmony_ci * @brief Operator key 3325c1cde8Sopenharmony_ci */ 3425c1cde8Sopenharmony_ci static constexpr const char *OPKEY = "opkey"; 3525c1cde8Sopenharmony_ci /** 3625c1cde8Sopenharmony_ci * @brief Mobile country code 3725c1cde8Sopenharmony_ci */ 3825c1cde8Sopenharmony_ci static constexpr const char *MCC = "mcc"; 3925c1cde8Sopenharmony_ci /** 4025c1cde8Sopenharmony_ci * @brief Mobile network code 4125c1cde8Sopenharmony_ci */ 4225c1cde8Sopenharmony_ci static constexpr const char *MNC = "mnc"; 4325c1cde8Sopenharmony_ci /** 4425c1cde8Sopenharmony_ci * @brief Mobile country code and mobile network code 4525c1cde8Sopenharmony_ci */ 4625c1cde8Sopenharmony_ci static constexpr const char *MCCMNC = "mccmnc"; 4725c1cde8Sopenharmony_ci /** 4825c1cde8Sopenharmony_ci * @brief APN name 4925c1cde8Sopenharmony_ci */ 5025c1cde8Sopenharmony_ci static constexpr const char *APN = "apn"; 5125c1cde8Sopenharmony_ci /** 5225c1cde8Sopenharmony_ci * @brief Authentication type 5325c1cde8Sopenharmony_ci */ 5425c1cde8Sopenharmony_ci static constexpr const char *AUTH_TYPE = "auth_type"; 5525c1cde8Sopenharmony_ci /** 5625c1cde8Sopenharmony_ci * @brief Authentication user 5725c1cde8Sopenharmony_ci */ 5825c1cde8Sopenharmony_ci static constexpr const char *AUTH_USER = "auth_user"; 5925c1cde8Sopenharmony_ci /** 6025c1cde8Sopenharmony_ci * @brief Authentication password 6125c1cde8Sopenharmony_ci */ 6225c1cde8Sopenharmony_ci static constexpr const char *AUTH_PWD = "auth_pwd"; 6325c1cde8Sopenharmony_ci /** 6425c1cde8Sopenharmony_ci * @brief APN type 6525c1cde8Sopenharmony_ci */ 6625c1cde8Sopenharmony_ci static constexpr const char *APN_TYPES = "apn_types"; 6725c1cde8Sopenharmony_ci /** 6825c1cde8Sopenharmony_ci * @brief Roaming or not 6925c1cde8Sopenharmony_ci */ 7025c1cde8Sopenharmony_ci static constexpr const char *IS_ROAMING_APN = "is_roaming_apn"; 7125c1cde8Sopenharmony_ci /** 7225c1cde8Sopenharmony_ci * @brief Operator enable or not 7325c1cde8Sopenharmony_ci */ 7425c1cde8Sopenharmony_ci static constexpr const char *PROFILE_ENABLE = "profile_enable"; 7525c1cde8Sopenharmony_ci /** 7625c1cde8Sopenharmony_ci * @brief Mms center url 7725c1cde8Sopenharmony_ci */ 7825c1cde8Sopenharmony_ci static constexpr const char *HOME_URL = "home_url"; 7925c1cde8Sopenharmony_ci /** 8025c1cde8Sopenharmony_ci * @brief Mms proxy ip address and port 8125c1cde8Sopenharmony_ci */ 8225c1cde8Sopenharmony_ci static constexpr const char *PROXY_IP_ADDRESS = "proxy_ip_address"; 8325c1cde8Sopenharmony_ci /** 8425c1cde8Sopenharmony_ci * @brief Mms ip address and port 8525c1cde8Sopenharmony_ci */ 8625c1cde8Sopenharmony_ci static constexpr const char *MMS_IP_ADDRESS = "mms_ip_address"; 8725c1cde8Sopenharmony_ci /** 8825c1cde8Sopenharmony_ci * @brief Protocol to connect to the APN 8925c1cde8Sopenharmony_ci */ 9025c1cde8Sopenharmony_ci static constexpr const char *APN_PROTOCOL = "apn_protocol"; 9125c1cde8Sopenharmony_ci /** 9225c1cde8Sopenharmony_ci * @brief Protocol to connect to the APN when roaming 9325c1cde8Sopenharmony_ci */ 9425c1cde8Sopenharmony_ci static constexpr const char *APN_ROAM_PROTOCOL = "apn_roam_protocol"; 9525c1cde8Sopenharmony_ci /** 9625c1cde8Sopenharmony_ci * @brief Radio access family bitmask 9725c1cde8Sopenharmony_ci */ 9825c1cde8Sopenharmony_ci static constexpr const char *BEARING_SYSTEM_TYPE = "bearing_system_type"; 9925c1cde8Sopenharmony_ci /** 10025c1cde8Sopenharmony_ci * @brief MVNO match type 10125c1cde8Sopenharmony_ci */ 10225c1cde8Sopenharmony_ci static constexpr const char *MVNO_TYPE = "mvno_type"; 10325c1cde8Sopenharmony_ci /** 10425c1cde8Sopenharmony_ci * @brief MVNO match data 10525c1cde8Sopenharmony_ci */ 10625c1cde8Sopenharmony_ci static constexpr const char *MVNO_MATCH_DATA = "mvno_match_data"; 10725c1cde8Sopenharmony_ci /** 10825c1cde8Sopenharmony_ci * @brief APN edit status 10925c1cde8Sopenharmony_ci */ 11025c1cde8Sopenharmony_ci static constexpr const char *EDITED_STATUS = "edited"; 11125c1cde8Sopenharmony_ci /** 11225c1cde8Sopenharmony_ci * @brief Server address 11325c1cde8Sopenharmony_ci */ 11425c1cde8Sopenharmony_ci static constexpr const char *SERVER = "server"; 11525c1cde8Sopenharmony_ci /** 11625c1cde8Sopenharmony_ci * @brief SIM Id of the SIM card 11725c1cde8Sopenharmony_ci */ 11825c1cde8Sopenharmony_ci static constexpr const char *SIM_ID = "sim_id"; 11925c1cde8Sopenharmony_ci}; 12025c1cde8Sopenharmony_ci 12125c1cde8Sopenharmony_cistruct PdpProfile { 12225c1cde8Sopenharmony_ci int profileId = 0; 12325c1cde8Sopenharmony_ci std::string profileName = ""; 12425c1cde8Sopenharmony_ci std::string mcc = ""; 12525c1cde8Sopenharmony_ci std::string mnc = ""; 12625c1cde8Sopenharmony_ci std::string apn = ""; 12725c1cde8Sopenharmony_ci int authType = 0; 12825c1cde8Sopenharmony_ci std::string authUser = ""; 12925c1cde8Sopenharmony_ci std::string authPwd = ""; 13025c1cde8Sopenharmony_ci std::string apnTypes = ""; // see ApnType 13125c1cde8Sopenharmony_ci int isRoamingApn = 1; 13225c1cde8Sopenharmony_ci std::string homeUrl = ""; 13325c1cde8Sopenharmony_ci std::string proxyIpAddress = ""; 13425c1cde8Sopenharmony_ci std::string mmsIpAddress = ""; 13525c1cde8Sopenharmony_ci std::string pdpProtocol = ""; // see PdpProtocol 13625c1cde8Sopenharmony_ci std::string roamPdpProtocol = ""; 13725c1cde8Sopenharmony_ci int bearingSystemType = 0; // see BearingSystemType 13825c1cde8Sopenharmony_ci std::string mvnoType = ""; 13925c1cde8Sopenharmony_ci std::string mvnoMatchData = ""; 14025c1cde8Sopenharmony_ci int edited = 0; 14125c1cde8Sopenharmony_ci std::string server = ""; 14225c1cde8Sopenharmony_ci}; 14325c1cde8Sopenharmony_ci 14425c1cde8Sopenharmony_ciclass MvnoType { 14525c1cde8Sopenharmony_cipublic: 14625c1cde8Sopenharmony_ci inline static const std::string SPN = "spn"; 14725c1cde8Sopenharmony_ci inline static const std::string IMSI = "imsi"; 14825c1cde8Sopenharmony_ci inline static const std::string GID1 = "gid1"; 14925c1cde8Sopenharmony_ci inline static const std::string ICCID = "iccid"; 15025c1cde8Sopenharmony_ci}; 15125c1cde8Sopenharmony_ci 15225c1cde8Sopenharmony_cienum class ApnType { 15325c1cde8Sopenharmony_ci DEFAULT, IMS, MMS, ALL 15425c1cde8Sopenharmony_ci}; 15525c1cde8Sopenharmony_ci 15625c1cde8Sopenharmony_cienum class ApnAuthType { 15725c1cde8Sopenharmony_ci None = 0, PAP, CHAP, PAP_OR_CHAP 15825c1cde8Sopenharmony_ci}; 15925c1cde8Sopenharmony_ci 16025c1cde8Sopenharmony_cienum class PdpProtocol { 16125c1cde8Sopenharmony_ci IPV4 = 0, IPV6, IPV4V6 16225c1cde8Sopenharmony_ci}; 16325c1cde8Sopenharmony_ci 16425c1cde8Sopenharmony_cienum class BearingSystemType { 16525c1cde8Sopenharmony_ci UNKNOWN = 0, 16625c1cde8Sopenharmony_ci LTE, 16725c1cde8Sopenharmony_ci HSPAP, 16825c1cde8Sopenharmony_ci HSPA, 16925c1cde8Sopenharmony_ci HSUPA, 17025c1cde8Sopenharmony_ci HSDPA, 17125c1cde8Sopenharmony_ci UMTS, 17225c1cde8Sopenharmony_ci EDGE, 17325c1cde8Sopenharmony_ci GPRS, 17425c1cde8Sopenharmony_ci eHRPD, 17525c1cde8Sopenharmony_ci EVDO_B, 17625c1cde8Sopenharmony_ci EVDO_A, 17725c1cde8Sopenharmony_ci EVDO_0, 17825c1cde8Sopenharmony_ci xRTT, 17925c1cde8Sopenharmony_ci IS95B, 18025c1cde8Sopenharmony_ci IS95AS 18125c1cde8Sopenharmony_ci}; 18225c1cde8Sopenharmony_ci 18325c1cde8Sopenharmony_ciinline static const std::string PREFER_APN_ID = "preferapn_id"; 18425c1cde8Sopenharmony_ciinline static const std::string APN_CONF_CHECKSUM = "apn_conf_checksum"; 18525c1cde8Sopenharmony_ciconstexpr const int32_t DEFAULT_SIM_ID = 0; 18625c1cde8Sopenharmony_ciconstexpr const int32_t INVALID_PROFILE_ID = -1; 18725c1cde8Sopenharmony_ciconstexpr const char *INVALID_OPKEY = "-1"; 18825c1cde8Sopenharmony_ciconstexpr const char *TABLE_PDP_PROFILE = "pdp_profile"; 18925c1cde8Sopenharmony_ciconstexpr const char *TEMP_TABLE_PDP_PROFILE = "temp_pdp_profile"; 19025c1cde8Sopenharmony_ciconstexpr const char *PDP_PROFILE_URI = "datashare:///com.ohos.pdpprofileability"; 19125c1cde8Sopenharmony_ci} // namespace Telephony 19225c1cde8Sopenharmony_ci} // namespace OHOS 19325c1cde8Sopenharmony_ci#endif // DATA_STORAGE_PDP_PROFILE_DATA_H 194