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
17package com.android.internal.telephony.euicc;
18
19import com.android.internal.telephony.euicc.IGetAllProfilesCallback;
20import com.android.internal.telephony.euicc.IGetProfileCallback;
21import com.android.internal.telephony.euicc.IDisableProfileCallback;
22import com.android.internal.telephony.euicc.ISwitchToProfileCallback;
23import com.android.internal.telephony.euicc.ISetNicknameCallback;
24import com.android.internal.telephony.euicc.IDeleteProfileCallback;
25import com.android.internal.telephony.euicc.IResetMemoryCallback;
26import com.android.internal.telephony.euicc.IGetDefaultSmdpAddressCallback;
27import com.android.internal.telephony.euicc.IGetSmdsAddressCallback;
28import com.android.internal.telephony.euicc.ISetDefaultSmdpAddressCallback;
29import com.android.internal.telephony.euicc.IAuthenticateServerCallback;
30import com.android.internal.telephony.euicc.ICancelSessionCallback;
31import com.android.internal.telephony.euicc.IGetEuiccChallengeCallback;
32import com.android.internal.telephony.euicc.IGetEuiccInfo1Callback;
33import com.android.internal.telephony.euicc.IGetEuiccInfo2Callback;
34import com.android.internal.telephony.euicc.IGetRulesAuthTableCallback;
35import com.android.internal.telephony.euicc.IListNotificationsCallback;
36import com.android.internal.telephony.euicc.ILoadBoundProfilePackageCallback;
37import com.android.internal.telephony.euicc.IPrepareDownloadCallback;
38import com.android.internal.telephony.euicc.IRemoveNotificationFromListCallback;
39import com.android.internal.telephony.euicc.IRetrieveNotificationCallback;
40import com.android.internal.telephony.euicc.IRetrieveNotificationListCallback;
41
42/** @hide */
43interface IEuiccCardController {
44    oneway void getAllProfiles(String callingPackage, String cardId,
45        in IGetAllProfilesCallback callback);
46    oneway void getProfile(String callingPackage, String cardId, String iccid,
47        in IGetProfileCallback callback);
48    oneway void disableProfile(String callingPackage, String cardId, String iccid, boolean refresh,
49        in IDisableProfileCallback callback);
50    oneway void switchToProfile(String callingPackage, String cardId, String iccid, boolean refresh,
51        in ISwitchToProfileCallback callback);
52    oneway void setNickname(String callingPackage, String cardId, String iccid, String nickname,
53        in ISetNicknameCallback callback);
54    oneway void deleteProfile(String callingPackage, String cardId, String iccid,
55        in IDeleteProfileCallback callback);
56    oneway void resetMemory(String callingPackage, String cardId, int options, in IResetMemoryCallback callback);
57    oneway void getDefaultSmdpAddress(String callingPackage, String cardId,
58        in IGetDefaultSmdpAddressCallback callback);
59    oneway void getSmdsAddress(String callingPackage, String cardId,
60        in IGetSmdsAddressCallback callback);
61    oneway void setDefaultSmdpAddress(String callingPackage, String cardId, String address,
62        in ISetDefaultSmdpAddressCallback callback);
63    oneway void getRulesAuthTable(String callingPackage, String cardId,
64        in IGetRulesAuthTableCallback callback);
65    oneway void getEuiccChallenge(String callingPackage, String cardId,
66        in IGetEuiccChallengeCallback callback);
67    oneway void getEuiccInfo1(String callingPackage, String cardId,
68        in IGetEuiccInfo1Callback callback);
69    oneway void getEuiccInfo2(String callingPackage, String cardId,
70        in IGetEuiccInfo2Callback 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);
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);
77    oneway void loadBoundProfilePackage(String callingPackage, String cardId,
78        in byte[] boundProfilePackage, in ILoadBoundProfilePackageCallback callback);
79    oneway void cancelSession(String callingPackage, String cardId, in byte[] transactionId,
80        int reason, in ICancelSessionCallback callback);
81    oneway void listNotifications(String callingPackage, String cardId, int events,
82        in IListNotificationsCallback callback);
83    oneway void retrieveNotificationList(String callingPackage, String cardId, int events,
84        in IRetrieveNotificationListCallback callback);
85    oneway void retrieveNotification(String callingPackage, String cardId, int seqNumber,
86        in IRetrieveNotificationCallback callback);
87    oneway void removeNotificationFromList(String callingPackage, String cardId, int seqNumber,
88            in IRemoveNotificationFromListCallback callback);
89}
90