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