1 /*
2  * Copyright (C) 2018 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.internal.telephony.euicc;
18 
19 import com.android.internal.telephony.euicc.IGetAllProfilesCallback;
20 import com.android.internal.telephony.euicc.IGetProfileCallback;
21 import com.android.internal.telephony.euicc.IDisableProfileCallback;
22 import com.android.internal.telephony.euicc.ISwitchToProfileCallback;
23 import com.android.internal.telephony.euicc.ISetNicknameCallback;
24 import com.android.internal.telephony.euicc.IDeleteProfileCallback;
25 import com.android.internal.telephony.euicc.IResetMemoryCallback;
26 import com.android.internal.telephony.euicc.IGetDefaultSmdpAddressCallback;
27 import com.android.internal.telephony.euicc.IGetSmdsAddressCallback;
28 import com.android.internal.telephony.euicc.ISetDefaultSmdpAddressCallback;
29 import com.android.internal.telephony.euicc.IAuthenticateServerCallback;
30 import com.android.internal.telephony.euicc.ICancelSessionCallback;
31 import com.android.internal.telephony.euicc.IGetEuiccChallengeCallback;
32 import com.android.internal.telephony.euicc.IGetEuiccInfo1Callback;
33 import com.android.internal.telephony.euicc.IGetEuiccInfo2Callback;
34 import com.android.internal.telephony.euicc.IGetRulesAuthTableCallback;
35 import com.android.internal.telephony.euicc.IListNotificationsCallback;
36 import com.android.internal.telephony.euicc.ILoadBoundProfilePackageCallback;
37 import com.android.internal.telephony.euicc.IPrepareDownloadCallback;
38 import com.android.internal.telephony.euicc.IRemoveNotificationFromListCallback;
39 import com.android.internal.telephony.euicc.IRetrieveNotificationCallback;
40 import com.android.internal.telephony.euicc.IRetrieveNotificationListCallback;
41 
42 /** @hide */
43 interface IEuiccCardController {
getAllProfiles(String callingPackage, String cardId, in IGetAllProfilesCallback callback)44     oneway void getAllProfiles(String callingPackage, String cardId,
45         in IGetAllProfilesCallback callback);
getProfile(String callingPackage, String cardId, String iccid, in IGetProfileCallback callback)46     oneway void getProfile(String callingPackage, String cardId, String iccid,
47         in IGetProfileCallback callback);
disableProfile(String callingPackage, String cardId, String iccid, boolean refresh, in IDisableProfileCallback callback)48     oneway void disableProfile(String callingPackage, String cardId, String iccid, boolean refresh,
49         in IDisableProfileCallback callback);
switchToProfile(String callingPackage, String cardId, String iccid, boolean refresh, in ISwitchToProfileCallback callback)50     oneway void switchToProfile(String callingPackage, String cardId, String iccid, boolean refresh,
51         in ISwitchToProfileCallback callback);
setNickname(String callingPackage, String cardId, String iccid, String nickname, in ISetNicknameCallback callback)52     oneway void setNickname(String callingPackage, String cardId, String iccid, String nickname,
53         in ISetNicknameCallback callback);
deleteProfile(String callingPackage, String cardId, String iccid, in IDeleteProfileCallback callback)54     oneway void deleteProfile(String callingPackage, String cardId, String iccid,
55         in IDeleteProfileCallback callback);
resetMemory(String callingPackage, String cardId, int options, in IResetMemoryCallback callback)56     oneway void resetMemory(String callingPackage, String cardId, int options, in IResetMemoryCallback callback);
getDefaultSmdpAddress(String callingPackage, String cardId, in IGetDefaultSmdpAddressCallback callback)57     oneway void getDefaultSmdpAddress(String callingPackage, String cardId,
58         in IGetDefaultSmdpAddressCallback callback);
getSmdsAddress(String callingPackage, String cardId, in IGetSmdsAddressCallback callback)59     oneway void getSmdsAddress(String callingPackage, String cardId,
60         in IGetSmdsAddressCallback callback);
setDefaultSmdpAddress(String callingPackage, String cardId, String address, in ISetDefaultSmdpAddressCallback callback)61     oneway void setDefaultSmdpAddress(String callingPackage, String cardId, String address,
62         in ISetDefaultSmdpAddressCallback callback);
getRulesAuthTable(String callingPackage, String cardId, in IGetRulesAuthTableCallback callback)63     oneway void getRulesAuthTable(String callingPackage, String cardId,
64         in IGetRulesAuthTableCallback callback);
getEuiccChallenge(String callingPackage, String cardId, in IGetEuiccChallengeCallback callback)65     oneway void getEuiccChallenge(String callingPackage, String cardId,
66         in IGetEuiccChallengeCallback callback);
getEuiccInfo1(String callingPackage, String cardId, in IGetEuiccInfo1Callback callback)67     oneway void getEuiccInfo1(String callingPackage, String cardId,
68         in IGetEuiccInfo1Callback callback);
getEuiccInfo2(String callingPackage, String cardId, in IGetEuiccInfo2Callback callback)69     oneway void getEuiccInfo2(String callingPackage, String cardId,
70         in IGetEuiccInfo2Callback callback);
authenticateServer(String callingPackage, String cardId, String matchingId, in byte[] serverSigned1, in byte[] serverSignature1, in byte[] euiccCiPkIdToBeUsed, in byte[] serverCertificatein, in IAuthenticateServerCallback callback)71     oneway void authenticateServer(String callingPackage, String cardId, String matchingId,
72         in byte[] serverSigned1, in byte[] serverSignature1, in byte[] euiccCiPkIdToBeUsed,
73         in byte[] serverCertificatein, in IAuthenticateServerCallback callback);
prepareDownload(String callingPackage, String cardId, in byte[] hashCc, in byte[] smdpSigned2, in byte[] smdpSignature2, in byte[] smdpCertificate, in IPrepareDownloadCallback callback)74     oneway void prepareDownload(String callingPackage, String cardId, in byte[] hashCc,
75         in byte[] smdpSigned2, in byte[] smdpSignature2, in byte[] smdpCertificate,
76         in IPrepareDownloadCallback callback);
loadBoundProfilePackage(String callingPackage, String cardId, in byte[] boundProfilePackage, in ILoadBoundProfilePackageCallback callback)77     oneway void loadBoundProfilePackage(String callingPackage, String cardId,
78         in byte[] boundProfilePackage, in ILoadBoundProfilePackageCallback callback);
cancelSession(String callingPackage, String cardId, in byte[] transactionId, int reason, in ICancelSessionCallback callback)79     oneway void cancelSession(String callingPackage, String cardId, in byte[] transactionId,
80         int reason, in ICancelSessionCallback callback);
listNotifications(String callingPackage, String cardId, int events, in IListNotificationsCallback callback)81     oneway void listNotifications(String callingPackage, String cardId, int events,
82         in IListNotificationsCallback callback);
retrieveNotificationList(String callingPackage, String cardId, int events, in IRetrieveNotificationListCallback callback)83     oneway void retrieveNotificationList(String callingPackage, String cardId, int events,
84         in IRetrieveNotificationListCallback callback);
retrieveNotification(String callingPackage, String cardId, int seqNumber, in IRetrieveNotificationCallback callback)85     oneway void retrieveNotification(String callingPackage, String cardId, int seqNumber,
86         in IRetrieveNotificationCallback callback);
removeNotificationFromList(String callingPackage, String cardId, int seqNumber, in IRemoveNotificationFromListCallback callback)87     oneway void removeNotificationFromList(String callingPackage, String cardId, int seqNumber,
88             in IRemoveNotificationFromListCallback callback);
89 }
90