1 /*
2  * Copyright (c) 2016 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.uce.options;
18 
19 import com.android.ims.internal.uce.options.OptionsSipResponse;
20 import com.android.ims.internal.uce.options.OptionsCapInfo;
21 import com.android.ims.internal.uce.options.OptionsCmdStatus;
22 import com.android.ims.internal.uce.common.StatusCode;
23 
24 /** {@hide} */
25 interface IOptionsListener
26 {
27     /**
28      * Callback invoked with the version information of Options service implementation.
29      * @param version, version information of the service.
30      * @hide
31      */
32     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
getVersionCb(in String version )33     void getVersionCb(in String version );
34 
35     /**
36      * Callback function to be invoked by the Options service to notify the listener of service
37      * availability.
38      * @param statusCode, UCE_SUCCESS as service availability.
39      * @hide
40      */
41     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
serviceAvailable(in StatusCode statusCode)42     void serviceAvailable(in StatusCode statusCode);
43 
44     /**
45      * Callback function to be invoked by the Options service to notify the listener of service
46      * unavailability.
47      * @param statusCode, UCE_SUCCESS as service unavailability.
48      * @hide
49      */
50     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
serviceUnavailable(in StatusCode statusCode)51     void serviceUnavailable(in StatusCode statusCode);
52 
53     /**
54      * Callback function to be invoked to inform the client when the response for a SIP OPTIONS
55      * has been received.
56      * @param uri, URI of the remote entity received in network response.
57      * @param sipResponse, data of the network response received.
58      * @param capInfo, capabilities of the remote entity received.
59      * @hide
60      */
61     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
sipResponseReceived( String uri, in OptionsSipResponse sipResponse, in OptionsCapInfo capInfo)62     void sipResponseReceived( String uri,
63                                 in OptionsSipResponse sipResponse, in OptionsCapInfo capInfo);
64 
65     /**
66      * Callback function to be invoked to inform the client of the status of an asynchronous call.
67      * @param cmdStatus, command status of the request placed.
68      * @hide
69      */
70     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
cmdStatus(in OptionsCmdStatus cmdStatus)71     void cmdStatus(in OptionsCmdStatus cmdStatus);
72 
73     /**
74      * Callback function to be invoked to inform the client of an incoming OPTIONS request
75      * from the network.
76      * @param uri, URI of the remote entity received.
77      * @param capInfo, capabilities of the remote entity.
78      * @param tID, transation of the request received from network.
79      * @hide
80      */
81     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
incomingOptions( String uri, in OptionsCapInfo capInfo, in int tID)82     void incomingOptions( String uri, in OptionsCapInfo capInfo,
83                                             in int tID);
84 }
85