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.presence; 18cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 19cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.common.StatusCode; 20cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresPublishTriggerType; 21cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresCmdStatus; 22cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresCapInfo; 23cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresSipResponse; 24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresTupleInfo; 25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresResInstanceInfo; 26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresResInfo; 27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.presence.PresRlmiInfo; 28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/** 31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * IPresenceListener 32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * {@hide} */ 33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakinterface IPresenceListener 34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak{ 35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the version of the presence listener implementation. 37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param version, version information. 38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void getVersionCb(in String version ); 40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked by the Presence service to notify the listener of service 43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * availability. 44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param statusCode, UCE_SUCCESS as service availability. 45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void serviceAvailable(in StatusCode statusCode); 47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked by the Presence service to notify the listener of service 50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * unavailability. 51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param statusCode, UCE_SUCCESS as service unAvailability. 52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void serviceUnAvailable(in StatusCode statusCode); 54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked by the Presence service to notify the listener to send a 57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * publish request. 58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param publishTrigger, Publish trigger for the network being supported. 59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void publishTriggering(in PresPublishTriggerType publishTrigger); 61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client of the status of an asynchronous call. 64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param cmdStatus, command status of the request placed. 65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void cmdStatus( in PresCmdStatus cmdStatus); 67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client when the response for a SIP message, 70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * such as PUBLISH or SUBSCRIBE, has been received. 71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param sipResponse, network response received for the request placed. 72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void sipResponseReceived(in PresSipResponse sipResponse); 74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client when the NOTIFY message carrying a 77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * single contact's capabilities information is received. 78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param presentityURI, URI of the remote entity the request was placed. 79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param tupleInfo, array of capability information remote entity supports. 80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void capInfoReceived(in String presentityURI, 82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak in PresTupleInfo [] tupleInfo); 83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Callback function to be invoked to inform the client when the NOTIFY message carrying 86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * contact's capabilities information is received. 87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param rlmiInfo, resource infomation received from network. 88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @param resInfo, array of capabilities received from network for the list of remore URI. 89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak void listCapInfoReceived(in PresRlmiInfo rlmiInfo, 91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak in PresResInfo [] resInfo); 92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}