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(const std::shared_ptr<AppExecFwk::EventRunner> & runner,int slotId)20UsimFileController::UsimFileController(const std::shared_ptr<AppExecFwk::EventRunner> &runner, int slotId) 21 : IccFileController(runner, slotId) 22 {} 23 ObtainElementFilePath(int efId)24std::string UsimFileController::ObtainElementFilePath(int efId) 25 { 26 std::string path = ObtainUsimElementFilePath(efId); 27 if (!path.empty()) { 28 return path; 29 } 30 std::string mf = MASTER_FILE_SIM; 31 path = ObtainElementFileForPublic(efId); 32 if (path.empty()) { 33 mf.append(DEDICATED_FILE_TELECOM); 34 mf.append(DEDICATED_FILE_DIALLING_NUMBERS); 35 return mf; 36 } 37 return path; 38 } 39 ObtainUsimElementFilePath(int efId)40std::string UsimFileController::ObtainUsimElementFilePath(int efId) 41 { 42 std::string mf = MASTER_FILE_SIM; 43 switch (efId) { 44 case ELEMENTARY_FILE_SMS: 45 case ELEMENTARY_FILE_EXT5: 46 case ELEMENTARY_FILE_EXT6: 47 case ELEMENTARY_FILE_MWIS: 48 case ELEMENTARY_FILE_MBI: 49 case ELEMENTARY_FILE_SPN: 50 case ELEMENTARY_FILE_AD: 51 case ELEMENTARY_FILE_MBDN: 52 case ELEMENTARY_FILE_PNN: 53 case ELEMENTARY_FILE_OPL: 54 case ELEMENTARY_FILE_SPDI: 55 case ELEMENTARY_FILE_SST: 56 case ELEMENTARY_FILE_CFIS: 57 case ELEMENTARY_FILE_MAILBOX_CPHS: 58 case ELEMENTARY_FILE_VOICE_MAIL_INDICATOR_CPHS: 59 case ELEMENTARY_FILE_CFF_CPHS: 60 case ELEMENTARY_FILE_SPN_CPHS: 61 case ELEMENTARY_FILE_SPN_SHORT_CPHS: 62 case ELEMENTARY_FILE_FDN: 63 case ELEMENTARY_FILE_SDN: 64 case ELEMENTARY_FILE_EXT3: 65 case ELEMENTARY_FILE_MSISDN: 66 case ELEMENTARY_FILE_EXT2: 67 case ELEMENTARY_FILE_INFO_CPHS: 68 case ELEMENTARY_FILE_CSP_CPHS: 69 case ELEMENTARY_FILE_GID1: 70 case ELEMENTARY_FILE_GID2: 71 case ELEMENTARY_FILE_LI: 72 case ELEMENTARY_FILE_PLMN_W_ACT: 73 case ELEMENTARY_FILE_OPLMN_W_ACT: 74 case ELEMENTARY_FILE_HPLMN_W_ACT: 75 case ELEMENTARY_FILE_EHPLMN: 76 case ELEMENTARY_FILE_FPLMN: 77 case ELEMENTARY_FILE_LRPLMNSI: 78 case ELEMENTARY_FILE_HPPLMN: 79 mf.append(DEDICATED_FILE_ADF); 80 return mf; 81 case ELEMENTARY_FILE_PBR: 82 mf.append(DEDICATED_FILE_TELECOM); 83 mf.append(DEDICATED_FILE_DIALLING_NUMBERS); 84 return mf; 85 default: 86 return ""; 87 } 88 } 89 ~UsimFileController()90UsimFileController::~UsimFileController() {} 91 } // namespace Telephony 92 } // namespace OHOS 93