1*4d7e907cSAndroid Build Coastguard Worker/* 2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project 3*4d7e907cSAndroid Build Coastguard Worker * 4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*4d7e907cSAndroid Build Coastguard Worker * 8*4d7e907cSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*4d7e907cSAndroid Build Coastguard Worker * 10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License. 15*4d7e907cSAndroid Build Coastguard Worker */ 16*4d7e907cSAndroid Build Coastguard Worker 17*4d7e907cSAndroid Build Coastguard Workerpackage [email protected]; 18*4d7e907cSAndroid Build Coastguard Worker 19*4d7e907cSAndroid Build Coastguard Workerinterface ISapCallback { 20*4d7e907cSAndroid Build Coastguard Worker /** 21*4d7e907cSAndroid Build Coastguard Worker * CONNECT_RESP from SAP 1.1 spec 5.1.2 22*4d7e907cSAndroid Build Coastguard Worker * 23*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 24*4d7e907cSAndroid Build Coastguard Worker * @param sapConnectRsp Connection Status 25*4d7e907cSAndroid Build Coastguard Worker * @param maxMsgSize MaxMsgSize supported by server if request cannot be fulfilled. 26*4d7e907cSAndroid Build Coastguard Worker * Valid only if connectResponse is SapConnectResponse:MSG_SIZE_TOO_LARGE. 27*4d7e907cSAndroid Build Coastguard Worker */ 28*4d7e907cSAndroid Build Coastguard Worker oneway connectResponse(int32_t token, SapConnectRsp sapConnectRsp, int32_t maxMsgSize); 29*4d7e907cSAndroid Build Coastguard Worker 30*4d7e907cSAndroid Build Coastguard Worker /** 31*4d7e907cSAndroid Build Coastguard Worker * DISCONNECT_RESP from SAP 1.1 spec 5.1.4 32*4d7e907cSAndroid Build Coastguard Worker * 33*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 34*4d7e907cSAndroid Build Coastguard Worker */ 35*4d7e907cSAndroid Build Coastguard Worker oneway disconnectResponse(int32_t token); 36*4d7e907cSAndroid Build Coastguard Worker 37*4d7e907cSAndroid Build Coastguard Worker /** 38*4d7e907cSAndroid Build Coastguard Worker * DISCONNECT_IND from SAP 1.1 spec 5.1.5 39*4d7e907cSAndroid Build Coastguard Worker * 40*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 41*4d7e907cSAndroid Build Coastguard Worker * @param disconnectType Disconnect Type to indicate if shutdown is graceful or immediate 42*4d7e907cSAndroid Build Coastguard Worker */ 43*4d7e907cSAndroid Build Coastguard Worker oneway disconnectIndication(int32_t token, SapDisconnectType disconnectType); 44*4d7e907cSAndroid Build Coastguard Worker 45*4d7e907cSAndroid Build Coastguard Worker /** 46*4d7e907cSAndroid Build Coastguard Worker * TRANSFER_APDU_RESP from SAP 1.1 spec 5.1.7 47*4d7e907cSAndroid Build Coastguard Worker * 48*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 49*4d7e907cSAndroid Build Coastguard Worker * @param resultCode ResultCode to indicate if command was processed correctly 50*4d7e907cSAndroid Build Coastguard Worker * Possible values: 51*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:SUCCESS, 52*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:GENERIC_FAILURE, 53*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_NOT_ACCESSSIBLE, 54*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_ALREADY_POWERED_OFF, 55*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_REMOVED 56*4d7e907cSAndroid Build Coastguard Worker * @param apduRsp APDU Response. Valid only if command was processed correctly and no error 57*4d7e907cSAndroid Build Coastguard Worker * occurred. 58*4d7e907cSAndroid Build Coastguard Worker */ 59*4d7e907cSAndroid Build Coastguard Worker oneway apduResponse(int32_t token, 60*4d7e907cSAndroid Build Coastguard Worker SapResultCode resultCode, 61*4d7e907cSAndroid Build Coastguard Worker vec<uint8_t> apduRsp); 62*4d7e907cSAndroid Build Coastguard Worker 63*4d7e907cSAndroid Build Coastguard Worker /** 64*4d7e907cSAndroid Build Coastguard Worker * TRANSFER_ATR_RESP from SAP 1.1 spec 5.1.9 65*4d7e907cSAndroid Build Coastguard Worker * 66*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 67*4d7e907cSAndroid Build Coastguard Worker * @param resultCode ResultCode to indicate if command was processed correctly 68*4d7e907cSAndroid Build Coastguard Worker * Possible values: 69*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:SUCCESS, 70*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:GENERIC_FAILURE, 71*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_ALREADY_POWERED_OFF, 72*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_REMOVED, 73*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:DATA_NOT_AVAILABLE 74*4d7e907cSAndroid Build Coastguard Worker * @param atr Answer to Reset from the subscription module. Included only if no error occurred, 75*4d7e907cSAndroid Build Coastguard Worker * otherwise empty. 76*4d7e907cSAndroid Build Coastguard Worker */ 77*4d7e907cSAndroid Build Coastguard Worker oneway transferAtrResponse(int32_t token, SapResultCode resultCode, vec<uint8_t> atr); 78*4d7e907cSAndroid Build Coastguard Worker 79*4d7e907cSAndroid Build Coastguard Worker /** 80*4d7e907cSAndroid Build Coastguard Worker * POWER_SIM_OFF_RESP and POWER_SIM_ON_RESP from SAP 1.1 spec 5.1.11 + 5.1.13 81*4d7e907cSAndroid Build Coastguard Worker * 82*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 83*4d7e907cSAndroid Build Coastguard Worker * @param resultCode ResultCode to indicate if command was processed correctly 84*4d7e907cSAndroid Build Coastguard Worker * Possible values: 85*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:SUCCESS, 86*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:GENERIC_FAILURE, 87*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_NOT_ACCESSSIBLE, (possible only for power on req) 88*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_ALREADY_POWERED_OFF, (possible only for power off req) 89*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_REMOVED, 90*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_ALREADY_POWERED_ON (possible only for power on req) 91*4d7e907cSAndroid Build Coastguard Worker */ 92*4d7e907cSAndroid Build Coastguard Worker oneway powerResponse(int32_t token, SapResultCode resultCode); 93*4d7e907cSAndroid Build Coastguard Worker 94*4d7e907cSAndroid Build Coastguard Worker /** 95*4d7e907cSAndroid Build Coastguard Worker * RESET_SIM_RESP from SAP 1.1 spec 5.1.15 96*4d7e907cSAndroid Build Coastguard Worker * 97*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 98*4d7e907cSAndroid Build Coastguard Worker * @param resultCode ResultCode to indicate if command was processed correctly 99*4d7e907cSAndroid Build Coastguard Worker * Possible values: 100*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:SUCCESS, 101*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:GENERIC_FAILURE, 102*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_NOT_ACCESSSIBLE, 103*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_ALREADY_POWERED_OFF, 104*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:CARD_REMOVED 105*4d7e907cSAndroid Build Coastguard Worker */ 106*4d7e907cSAndroid Build Coastguard Worker oneway resetSimResponse(int32_t token, SapResultCode resultCode); 107*4d7e907cSAndroid Build Coastguard Worker 108*4d7e907cSAndroid Build Coastguard Worker /** 109*4d7e907cSAndroid Build Coastguard Worker * STATUS_IND from SAP 1.1 spec 5.1.16 110*4d7e907cSAndroid Build Coastguard Worker * 111*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 112*4d7e907cSAndroid Build Coastguard Worker * @param status Parameter to indicate reason for the status change. 113*4d7e907cSAndroid Build Coastguard Worker */ 114*4d7e907cSAndroid Build Coastguard Worker oneway statusIndication(int32_t token, SapStatus status); 115*4d7e907cSAndroid Build Coastguard Worker 116*4d7e907cSAndroid Build Coastguard Worker /** 117*4d7e907cSAndroid Build Coastguard Worker * TRANSFER_CARD_READER_STATUS_REQ from SAP 1.1 spec 5.1.18 118*4d7e907cSAndroid Build Coastguard Worker * 119*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 120*4d7e907cSAndroid Build Coastguard Worker * @param resultCode ResultCode to indicate if command was processed correctly 121*4d7e907cSAndroid Build Coastguard Worker * Possible values: 122*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:SUCCESS, 123*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:GENERIC_FAILURE 124*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:DATA_NOT_AVAILABLE 125*4d7e907cSAndroid Build Coastguard Worker * @param cardReaderStatus Card Reader Status coded as described in 3GPP TS 11.14 Section 12.33 126*4d7e907cSAndroid Build Coastguard Worker * and TS 31.111 Section 8.33 127*4d7e907cSAndroid Build Coastguard Worker */ 128*4d7e907cSAndroid Build Coastguard Worker oneway transferCardReaderStatusResponse(int32_t token, 129*4d7e907cSAndroid Build Coastguard Worker SapResultCode resultCode, 130*4d7e907cSAndroid Build Coastguard Worker int32_t cardReaderStatus); 131*4d7e907cSAndroid Build Coastguard Worker 132*4d7e907cSAndroid Build Coastguard Worker /** 133*4d7e907cSAndroid Build Coastguard Worker * ERROR_RESP from SAP 1.1 spec 5.1.19 134*4d7e907cSAndroid Build Coastguard Worker * 135*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 136*4d7e907cSAndroid Build Coastguard Worker */ 137*4d7e907cSAndroid Build Coastguard Worker oneway errorResponse(int32_t token); 138*4d7e907cSAndroid Build Coastguard Worker 139*4d7e907cSAndroid Build Coastguard Worker /** 140*4d7e907cSAndroid Build Coastguard Worker * SET_TRANSPORT_PROTOCOL_RESP from SAP 1.1 spec 5.1.21 141*4d7e907cSAndroid Build Coastguard Worker * 142*4d7e907cSAndroid Build Coastguard Worker * @param token Id to match req-resp. Value must match the one in req. 143*4d7e907cSAndroid Build Coastguard Worker * @param resultCode ResultCode to indicate if command was processed correctly 144*4d7e907cSAndroid Build Coastguard Worker * Possible values: 145*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:SUCCESS 146*4d7e907cSAndroid Build Coastguard Worker * SapResultCode:NOT_SUPPORTED 147*4d7e907cSAndroid Build Coastguard Worker */ 148*4d7e907cSAndroid Build Coastguard Worker oneway transferProtocolResponse(int32_t token, SapResultCode resultCode); 149*4d7e907cSAndroid Build Coastguard Worker};