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.os.Bundle;
20 
21 import com.android.ims.internal.IImsUtListener;
22 
23 /**
24  * Provides the Ut interface interworking to get/set the supplementary service configuration.
25  *
26  * {@hide}
27  */
28 interface IImsUt {
29     /**
30      * Closes the object. This object is not usable after being closed.
31      */
close()32     void close();
33 
34     /**
35      * Retrieves the configuration of the call barring.
36      */
queryCallBarring(int cbType)37     int queryCallBarring(int cbType);
38 
39     /**
40      * Retrieves the configuration of the call forward.
41      */
queryCallForward(int condition, String number)42     int queryCallForward(int condition, String number);
43 
44     /**
45      * Retrieves the configuration of the call waiting.
46      */
queryCallWaiting()47     int queryCallWaiting();
48 
49     /**
50      * Retrieves the default CLIR setting.
51      */
queryCLIR()52     int queryCLIR();
53 
54     /**
55      * Retrieves the CLIP call setting.
56      */
queryCLIP()57     int queryCLIP();
58 
59     /**
60      * Retrieves the COLR call setting.
61      */
queryCOLR()62     int queryCOLR();
63 
64     /**
65      * Retrieves the COLP call setting.
66      */
queryCOLP()67     int queryCOLP();
68 
69     /**
70      * Updates or retrieves the supplementary service configuration.
71      */
transact(in Bundle ssInfo)72     int transact(in Bundle ssInfo);
73 
74     /**
75      * Updates the configuration of the call barring.
76      */
updateCallBarring(int cbType, int action, in String[] barrList)77     int updateCallBarring(int cbType, int action, in String[] barrList);
78 
79     /**
80      * Updates the configuration of the call forward.
81      */
updateCallForward(int action, int condition, String number, int serviceClass, int timeSeconds)82     int updateCallForward(int action, int condition, String number,
83             int serviceClass, int timeSeconds);
84 
85     /**
86      * Updates the configuration of the call waiting.
87      */
updateCallWaiting(boolean enable, int serviceClass)88     int updateCallWaiting(boolean enable, int serviceClass);
89 
90     /**
91      * Updates the configuration of the CLIR supplementary service.
92      */
updateCLIR(int clirMode)93     int updateCLIR(int clirMode);
94 
95     /**
96      * Updates the configuration of the CLIP supplementary service.
97      */
updateCLIP(boolean enable)98     int updateCLIP(boolean enable);
99 
100     /**
101      * Updates the configuration of the COLR supplementary service.
102      */
updateCOLR(int presentation)103     int updateCOLR(int presentation);
104 
105     /**
106      * Updates the configuration of the COLP supplementary service.
107      */
updateCOLP(boolean enable)108     int updateCOLP(boolean enable);
109 
110     /**
111      * Sets the listener.
112      */
setListener(in IImsUtListener listener)113     void setListener(in IImsUtListener listener);
114 
115     /**
116      * Retrieves the configuration of the call barring for specified service class.
117      */
queryCallBarringForServiceClass(int cbType, int serviceClass)118     int queryCallBarringForServiceClass(int cbType, int serviceClass);
119 
120     /**
121      * Updates the configuration of the call barring for specified service class.
122      */
updateCallBarringForServiceClass(int cbType, int action, in String[] barrList, int serviceClass)123     int updateCallBarringForServiceClass(int cbType, int action, in String[] barrList,
124             int serviceClass);
125 
126     /**
127      * Updates the configuration of the call barring for specified service class with password.
128      */
updateCallBarringWithPassword(int cbType, int action, in String[] barrList, int serviceClass, String password)129     int updateCallBarringWithPassword(int cbType, int action, in String[] barrList,
130             int serviceClass, String password);
131 }
132