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 com.android.ims.internal; 18 19 import android.app.PendingIntent; 20 21 import com.android.ims.ImsCallProfile; 22 import com.android.ims.internal.IImsCallSession; 23 import com.android.ims.internal.IImsCallSessionListener; 24 import com.android.ims.internal.IImsConfig; 25 import com.android.ims.internal.IImsEcbm; 26 import com.android.ims.internal.IImsFeatureStatusCallback; 27 import com.android.ims.internal.IImsMultiEndpoint; 28 import com.android.ims.internal.IImsRegistrationListener; 29 import com.android.ims.internal.IImsUt; 30 31 import android.os.Message; 32 33 /** 34 * See ImsService and IMMTelFeature for more information. 35 * {@hide} 36 */ 37 interface IImsServiceController { 38 // ImsService Control createImsFeature(int slotId, int feature, IImsFeatureStatusCallback c)39 void createImsFeature(int slotId, int feature, IImsFeatureStatusCallback c); removeImsFeature(int slotId, int feature, IImsFeatureStatusCallback c)40 void removeImsFeature(int slotId, int feature, IImsFeatureStatusCallback c); 41 // MMTel Feature startSession(int slotId, int featureType, in PendingIntent incomingCallIntent, in IImsRegistrationListener listener)42 int startSession(int slotId, int featureType, in PendingIntent incomingCallIntent, 43 in IImsRegistrationListener listener); endSession(int slotId, int featureType, int sessionId)44 void endSession(int slotId, int featureType, int sessionId); isConnected(int slotId, int featureType, int callSessionType, int callType)45 boolean isConnected(int slotId, int featureType, int callSessionType, int callType); isOpened(int slotId, int featureType)46 boolean isOpened(int slotId, int featureType); getFeatureStatus(int slotId, int featureType)47 int getFeatureStatus(int slotId, int featureType); addRegistrationListener(int slotId, int featureType, in IImsRegistrationListener listener)48 void addRegistrationListener(int slotId, int featureType, in IImsRegistrationListener listener); removeRegistrationListener(int slotId, int featureType, in IImsRegistrationListener listener)49 void removeRegistrationListener(int slotId, int featureType, 50 in IImsRegistrationListener listener); createCallProfile(int slotId, int featureType, int sessionId, int callSessionType, int callType)51 ImsCallProfile createCallProfile(int slotId, int featureType, int sessionId, 52 int callSessionType, int callType); createCallSession(int slotId, int featureType, int sessionId, in ImsCallProfile profile, IImsCallSessionListener listener)53 IImsCallSession createCallSession(int slotId, int featureType, int sessionId, 54 in ImsCallProfile profile, IImsCallSessionListener listener); getPendingCallSession(int slotId, int featureType, int sessionId, String callId)55 IImsCallSession getPendingCallSession(int slotId, int featureType, int sessionId, 56 String callId); getUtInterface(int slotId, int featureType)57 IImsUt getUtInterface(int slotId, int featureType); getConfigInterface(int slotId, int featureType)58 IImsConfig getConfigInterface(int slotId, int featureType); turnOnIms(int slotId, int featureType)59 void turnOnIms(int slotId, int featureType); turnOffIms(int slotId, int featureType)60 void turnOffIms(int slotId, int featureType); getEcbmInterface(int slotId, int featureType)61 IImsEcbm getEcbmInterface(int slotId, int featureType); setUiTTYMode(int slotId, int featureType, int uiTtyMode, in Message onComplete)62 void setUiTTYMode(int slotId, int featureType, int uiTtyMode, in Message onComplete); getMultiEndpointInterface(int slotId, int featureType)63 IImsMultiEndpoint getMultiEndpointInterface(int slotId, int featureType); 64 } 65