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);
getEnabledProfile(String callingPackage, String cardId, int portIndex, in IGetProfileCallback callback)48     oneway void getEnabledProfile(String callingPackage, String cardId, int portIndex,
49         in IGetProfileCallback callback);
disableProfile(String callingPackage, String cardId, String iccid, boolean refresh, in IDisableProfileCallback callback)50     oneway void disableProfile(String callingPackage, String cardId, String iccid, boolean refresh,
51         in IDisableProfileCallback callback);
switchToProfile(String callingPackage, String cardId, String iccid, int portIndex, boolean refresh, in ISwitchToProfileCallback callback)52     oneway void switchToProfile(String callingPackage, String cardId, String iccid, int portIndex,
53             boolean refresh, in ISwitchToProfileCallback callback);
setNickname(String callingPackage, String cardId, String iccid, String nickname, in ISetNicknameCallback callback)54     oneway void setNickname(String callingPackage, String cardId, String iccid, String nickname,
55         in ISetNicknameCallback callback);
deleteProfile(String callingPackage, String cardId, String iccid, in IDeleteProfileCallback callback)56     oneway void deleteProfile(String callingPackage, String cardId, String iccid,
57         in IDeleteProfileCallback callback);
resetMemory(String callingPackage, String cardId, int options, in IResetMemoryCallback callback)58     oneway void resetMemory(String callingPackage, String cardId, int options, in IResetMemoryCallback callback);
getDefaultSmdpAddress(String callingPackage, String cardId, in IGetDefaultSmdpAddressCallback callback)59     oneway void getDefaultSmdpAddress(String callingPackage, String cardId,
60         in IGetDefaultSmdpAddressCallback callback);
getSmdsAddress(String callingPackage, String cardId, in IGetSmdsAddressCallback callback)61     oneway void getSmdsAddress(String callingPackage, String cardId,
62         in IGetSmdsAddressCallback callback);
setDefaultSmdpAddress(String callingPackage, String cardId, String address, in ISetDefaultSmdpAddressCallback callback)63     oneway void setDefaultSmdpAddress(String callingPackage, String cardId, String address,
64         in ISetDefaultSmdpAddressCallback callback);
getRulesAuthTable(String callingPackage, String cardId, in IGetRulesAuthTableCallback callback)65     oneway void getRulesAuthTable(String callingPackage, String cardId,
66         in IGetRulesAuthTableCallback callback);
getEuiccChallenge(String callingPackage, String cardId, in IGetEuiccChallengeCallback callback)67     oneway void getEuiccChallenge(String callingPackage, String cardId,
68         in IGetEuiccChallengeCallback callback);
getEuiccInfo1(String callingPackage, String cardId, in IGetEuiccInfo1Callback callback)69     oneway void getEuiccInfo1(String callingPackage, String cardId,
70         in IGetEuiccInfo1Callback callback);
getEuiccInfo2(String callingPackage, String cardId, in IGetEuiccInfo2Callback callback)71     oneway void getEuiccInfo2(String callingPackage, String cardId,
72         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)73     oneway void authenticateServer(String callingPackage, String cardId, String matchingId,
74         in byte[] serverSigned1, in byte[] serverSignature1, in byte[] euiccCiPkIdToBeUsed,
75         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)76     oneway void prepareDownload(String callingPackage, String cardId, in byte[] hashCc,
77         in byte[] smdpSigned2, in byte[] smdpSignature2, in byte[] smdpCertificate,
78         in IPrepareDownloadCallback callback);
loadBoundProfilePackage(String callingPackage, String cardId, in byte[] boundProfilePackage, in ILoadBoundProfilePackageCallback callback)79     oneway void loadBoundProfilePackage(String callingPackage, String cardId,
80         in byte[] boundProfilePackage, in ILoadBoundProfilePackageCallback callback);
cancelSession(String callingPackage, String cardId, in byte[] transactionId, int reason, in ICancelSessionCallback callback)81     oneway void cancelSession(String callingPackage, String cardId, in byte[] transactionId,
82         int reason, in ICancelSessionCallback callback);
listNotifications(String callingPackage, String cardId, int events, in IListNotificationsCallback callback)83     oneway void listNotifications(String callingPackage, String cardId, int events,
84         in IListNotificationsCallback callback);
retrieveNotificationList(String callingPackage, String cardId, int events, in IRetrieveNotificationListCallback callback)85     oneway void retrieveNotificationList(String callingPackage, String cardId, int events,
86         in IRetrieveNotificationListCallback callback);
retrieveNotification(String callingPackage, String cardId, int seqNumber, in IRetrieveNotificationCallback callback)87     oneway void retrieveNotification(String callingPackage, String cardId, int seqNumber,
88         in IRetrieveNotificationCallback callback);
removeNotificationFromList(String callingPackage, String cardId, int seqNumber, in IRemoveNotificationFromListCallback callback)89     oneway void removeNotificationFromList(String callingPackage, String cardId, int seqNumber,
90             in IRemoveNotificationFromListCallback callback);
91 }
92