OSDN Git Service

DO NOT MERGE. Grant MMS Uri permissions as the calling UID.
[android-x86/frameworks-base.git] / telephony / java / com / android / ims / internal / IImsService.aidl
1 /*
2  * Copyright (c) 2013 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.IImsMultiEndpoint;
27 import com.android.ims.internal.IImsRegistrationListener;
28 import com.android.ims.internal.IImsUt;
29
30 import android.os.Message;
31
32 /**
33  * {@hide}
34  */
35 interface IImsService {
36     int open(int phoneId, int serviceClass, in PendingIntent incomingCallIntent,
37             in IImsRegistrationListener listener);
38     void close(int serviceId);
39     boolean isConnected(int serviceId, int serviceType, int callType);
40     boolean isOpened(int serviceId);
41
42     /**
43      * Replace existing registration listener
44      *
45      */
46     void setRegistrationListener(int serviceId, in IImsRegistrationListener listener);
47
48     /**
49      * Add new registration listener
50      */
51     void addRegistrationListener(int phoneId, int serviceClass,
52             in IImsRegistrationListener listener);
53
54     ImsCallProfile createCallProfile(int serviceId, int serviceType, int callType);
55
56     IImsCallSession createCallSession(int serviceId, in ImsCallProfile profile,
57             in IImsCallSessionListener listener);
58     IImsCallSession getPendingCallSession(int serviceId, String callId);
59
60     /**
61      * Ut interface for the supplementary service configuration.
62      */
63     IImsUt getUtInterface(int serviceId);
64
65     /**
66      * Config interface to get/set IMS service/capability parameters.
67      */
68     IImsConfig getConfigInterface(int phoneId);
69
70     /**
71      * Used for turning on IMS when its in OFF state.
72      */
73     void turnOnIms(int phoneId);
74
75     /**
76      * Used for turning off IMS when its in ON state.
77      * When IMS is OFF, device will behave as CSFB'ed.
78      */
79     void turnOffIms(int phoneId);
80
81     /**
82      * ECBM interface for Emergency Callback mode mechanism.
83      */
84     IImsEcbm getEcbmInterface(int serviceId);
85
86    /**
87      * Used to set current TTY Mode.
88      */
89     void setUiTTYMode(int serviceId, int uiTtyMode, in Message onComplete);
90
91     /**
92      * MultiEndpoint interface for DEP.
93      */
94     IImsMultiEndpoint getMultiEndpointInterface(int serviceId);
95 }