1 /*
2  * Copyright (c) 2017 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 android.telephony.ims.aidl;
18 
19 import android.os.Message;
20 import android.telephony.ims.aidl.IImsMmTelListener;
21 import android.telephony.ims.aidl.IImsSmsListener;
22 import android.telephony.ims.aidl.IImsCapabilityCallback;
23 import android.telephony.ims.feature.CapabilityChangeRequest;
24 
25 import android.telephony.ims.ImsCallProfile;
26 import com.android.ims.internal.IImsCallSession;
27 import com.android.ims.internal.IImsEcbm;
28 import com.android.ims.internal.IImsMultiEndpoint;
29 import com.android.ims.internal.IImsRegistrationListener;
30 import com.android.ims.internal.IImsUt;
31 
32 /**
33  * See MmTelFeature for more information.
34  * {@hide}
35  */
36 interface IImsMmTelFeature {
setListener(IImsMmTelListener l)37     void setListener(IImsMmTelListener l);
getFeatureState()38     int getFeatureState();
createCallProfile(int callSessionType, int callType)39     ImsCallProfile createCallProfile(int callSessionType, int callType);
createCallSession(in ImsCallProfile profile)40     IImsCallSession createCallSession(in ImsCallProfile profile);
shouldProcessCall(in String[] uris)41     int shouldProcessCall(in String[] uris);
getUtInterface()42     IImsUt getUtInterface();
getEcbmInterface()43     IImsEcbm getEcbmInterface();
setUiTtyMode(int uiTtyMode, in Message onCompleteMessage)44     void setUiTtyMode(int uiTtyMode, in Message onCompleteMessage);
getMultiEndpointInterface()45     IImsMultiEndpoint getMultiEndpointInterface();
queryCapabilityStatus()46     int queryCapabilityStatus();
addCapabilityCallback(IImsCapabilityCallback c)47     oneway void addCapabilityCallback(IImsCapabilityCallback c);
removeCapabilityCallback(IImsCapabilityCallback c)48     oneway void removeCapabilityCallback(IImsCapabilityCallback c);
changeCapabilitiesConfiguration(in CapabilityChangeRequest request, IImsCapabilityCallback c)49     oneway void changeCapabilitiesConfiguration(in CapabilityChangeRequest request,
50             IImsCapabilityCallback c);
queryCapabilityConfiguration(int capability, int radioTech, IImsCapabilityCallback c)51     oneway void queryCapabilityConfiguration(int capability, int radioTech,
52             IImsCapabilityCallback c);
53     // SMS APIs
setSmsListener(IImsSmsListener l)54     void setSmsListener(IImsSmsListener l);
sendSms(in int token, int messageRef, String format, String smsc, boolean retry, in byte[] pdu)55     oneway void sendSms(in int token, int messageRef, String format, String smsc, boolean retry,
56             in byte[] pdu);
acknowledgeSms(int token, int messageRef, int result)57     oneway void acknowledgeSms(int token, int messageRef, int result);
acknowledgeSmsReport(int token, int messageRef, int result)58     oneway void acknowledgeSmsReport(int token, int messageRef, int result);
getSmsFormat()59     String getSmsFormat();
onSmsReady()60     oneway void onSmsReady();
61 }
62