1cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/* 2cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Copyright (c) 2016 The Android Open Source Project 3cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * 4cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Licensed under the Apache License, Version 2.0 (the "License"); 5cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * you may not use this file except in compliance with the License. 6cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * You may obtain a copy of the License at 7cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * 8cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * http://www.apache.org/licenses/LICENSE-2.0 9cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * 10cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Unless required by applicable law or agreed to in writing, software 11cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * distributed under the License is distributed on an "AS IS" BASIS, 12cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * See the License for the specific language governing permissions and 14cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * limitations under the License. 15cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 16cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 17cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpackage com.android.ims.internal.uce.options; 18cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 19cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.options.OptionsSipResponse; 20cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.options.OptionsCapInfo; 21cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.options.OptionsCmdStatus; 22cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.common.StatusCode; 23cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/** {@hide} */ 25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakinterface IOptionsListener 26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak{ 27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback invoked with the version information of Options service implementation. 29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param version, version information of the service. 30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void getVersionCb(in String version ); 33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked by the Options service to notify the listener of service 36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * availability. 37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param statusCode, UCE_SUCCESS as service availability. 38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void serviceAvailable(in StatusCode statusCode); 41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked by the Options service to notify the listener of service 44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * unavailability. 45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param statusCode, UCE_SUCCESS as service unavailability. 46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void serviceUnavailable(in StatusCode statusCode); 49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client when the response for a SIP OPTIONS 52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * has been received. 53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param uri, URI of the remote entity received in network response. 54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param sipResponse, data of the network response received. 55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param capInfo, capabilities of the remote entity received. 56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void sipResponseReceived( String uri, 59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak in OptionsSipResponse sipResponse, in OptionsCapInfo capInfo); 60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client of the status of an asynchronous call. 63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param cmdStatus, command status of the request placed. 64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void cmdStatus(in OptionsCmdStatus cmdStatus); 67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client of an incoming OPTIONS request 70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * from the network. 71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param uri, URI of the remote entity received. 72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param capInfo, capabilities of the remote entity. 73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param tID, transation of the request received from network. 74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void incomingOptions( String uri, in OptionsCapInfo capInfo, 77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak in int tID); 78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak} 79