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