1 /* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "usim_file_controller.h" 17 18 namespace OHOS { 19 namespace Telephony { UsimFileController(int slotId)20UsimFileController::UsimFileController(int slotId) : IccFileController("UsimFileController", slotId) {} 21 ObtainElementFilePath(int efId)22std::string UsimFileController::ObtainElementFilePath(int efId) 23 { 24 std::string path = ObtainUsimElementFilePath(efId); 25 if (!path.empty()) { 26 return path; 27 } 28 std::string mf = MASTER_FILE_SIM; 29 path = ObtainElementFileForPublic(efId); 30 if (path.empty()) { 31 mf.append(DEDICATED_FILE_TELECOM); 32 mf.append(DEDICATED_FILE_DIALLING_NUMBERS); 33 return mf; 34 } 35 return path; 36 } 37 ObtainUsimElementFilePath(int efId)38std::string UsimFileController::ObtainUsimElementFilePath(int efId) 39 { 40 std::string mf = MASTER_FILE_SIM; 41 switch (efId) { 42 case ELEMENTARY_FILE_SMS: 43 case ELEMENTARY_FILE_EXT5: 44 case ELEMENTARY_FILE_EXT6: 45 case ELEMENTARY_FILE_MWIS: 46 case ELEMENTARY_FILE_MBI: 47 case ELEMENTARY_FILE_SPN: 48 case ELEMENTARY_FILE_AD: 49 case ELEMENTARY_FILE_MBDN: 50 case ELEMENTARY_FILE_PNN: 51 case ELEMENTARY_FILE_OPL: 52 case ELEMENTARY_FILE_OPL5G: 53 case ELEMENTARY_FILE_SPDI: 54 case ELEMENTARY_FILE_SST: 55 case ELEMENTARY_FILE_CFIS: 56 case ELEMENTARY_FILE_MAILBOX_CPHS: 57 case ELEMENTARY_FILE_VOICE_MAIL_INDICATOR_CPHS: 58 case ELEMENTARY_FILE_CFF_CPHS: 59 case ELEMENTARY_FILE_SPN_CPHS: 60 case ELEMENTARY_FILE_SPN_SHORT_CPHS: 61 case ELEMENTARY_FILE_FDN: 62 case ELEMENTARY_FILE_SDN: 63 case ELEMENTARY_FILE_EXT3: 64 case ELEMENTARY_FILE_MSISDN: 65 case ELEMENTARY_FILE_EXT2: 66 case ELEMENTARY_FILE_INFO_CPHS: 67 case ELEMENTARY_FILE_CSP_CPHS: 68 case ELEMENTARY_FILE_GID1: 69 case ELEMENTARY_FILE_GID2: 70 case ELEMENTARY_FILE_LI: 71 case ELEMENTARY_FILE_PLMN_W_ACT: 72 case ELEMENTARY_FILE_OPLMN_W_ACT: 73 case ELEMENTARY_FILE_HPLMN_W_ACT: 74 case ELEMENTARY_FILE_EHPLMN: 75 case ELEMENTARY_FILE_FPLMN: 76 case ELEMENTARY_FILE_LRPLMNSI: 77 case ELEMENTARY_FILE_HPPLMN: 78 mf.append(DEDICATED_FILE_ADF); 79 return mf; 80 case ELEMENTARY_FILE_PBR: 81 mf.append(DEDICATED_FILE_TELECOM); 82 mf.append(DEDICATED_FILE_DIALLING_NUMBERS); 83 return mf; 84 default: 85 return ""; 86 } 87 } 88 ~UsimFileController()89UsimFileController::~UsimFileController() {} 90 } // namespace Telephony 91 } // namespace OHOS 92