1/*
2 * Copyright (c) 2024 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 */
15sequenceable download_profile_config_info_parcel..OHOS.Telephony.DownloadProfileConfigInfo;
16sequenceable download_profile_result_parcel..OHOS.Telephony.DownloadableProfile;
17sequenceable downloadable_profile_parcel..OHOS.Telephony.DownloadProfileResult;
18sequenceable euicc_info_parcel..OHOS.Telephony.EuiccInfo;
19sequenceable get_downloadable_profiles_result_parcel..OHOS.Telephony.GetDownloadableProfileMetadataResult;
20sequenceable profile_info_list_parcel..OHOS.Telephony.GetDownloadableProfilesResult;
21sequenceable profile_metadata_result_parcel..OHOS.Telephony.GetEuiccProfileInfoListResult;
22sequenceable response_esim_result..OHOS.Telephony.ResponseEsimResult;
23
24interface OHOS.Telephony.IEsimService {
25    void GetEid([in] int slotId, [out] String eId);
26    void GetOsuStatus([in] int slotId, [out] int osuStatus);
27    void StartOsu([in] int slotId, [out] int startOsuResult);
28    void GetDownloadableProfileMetadata(
29        [in] int slotId,
30        [in] int portIndex,
31        [in] DownloadableProfile profile,
32        [in] boolean forceDisableProfile,
33        [out] GetDownloadableProfileMetadataResult profileMetadataResult);
34    void GetDownloadableProfiles(
35        [in] int slotId,
36        [in] int portIndex,
37        [in] boolean forceDisableProfile,
38        [out] GetDownloadableProfilesResult profileListResult);
39    void DownloadProfile(
40        [in] int slotId,
41        [in] DownloadProfileConfigInfo configInfo,
42        [in] DownloadableProfile profile,
43        [out] DownloadProfileResult downloadProfileResult);
44    void GetEuiccProfileInfoList([in] int slotId, [out] GetEuiccProfileInfoListResult euiccProfileInfoList);
45    void GetEuiccInfo([in] int slotId, [out] EuiccInfo eUiccInfo);
46    void DeleteProfile([in] int slotId, [in] String iccId, [out] int deleteProfileResult);
47    void SwitchToProfile(
48        [in] int slotId,
49        [in] int portIndex,
50        [in] String iccId,
51        [in] boolean forceDisableProfile,
52        [out] int switchToProfileResult);
53    void SetProfileNickname(
54        [in] int slotId,
55        [in] String iccId,
56        [in] String nickname,
57        [out] int setProfileNicknameResult);
58    void ResetMemory([in] int slotId, [in] int resetOption, [out] int resetMemoryResult);
59    void ReserveProfilesForFactoryRestore([in] int slotId, [out] int restoreResult);
60    void SetDefaultSmdpAddress(
61        [in] int slotId,
62        [in] String defaultSmdpAddress,
63        [out] int setDefaultSmdpAddressResult);
64    void GetDefaultSmdpAddress([in] int slotId, [out] String defaultSmdpAddress);
65    void CancelSession([in] int slotId, [in] String transactionId, [in] int cancelReason,
66        [out] ResponseEsimResult responseResult);
67    void IsEsimSupported([in] int slotId);
68}