blob: 2ae424f4af8e78a1a8b1da59bd888f37ab755e3b [file] [log] [blame]
Pavel Zhamaitsiakcfedd202016-03-18 16:09:50 -07001/*
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
17package com.android.ims.internal.uce.presence;
18
19import com.android.ims.internal.uce.common.StatusCode;
20import com.android.ims.internal.uce.presence.PresPublishTriggerType;
21import com.android.ims.internal.uce.presence.PresCmdStatus;
22import com.android.ims.internal.uce.presence.PresCapInfo;
23import com.android.ims.internal.uce.presence.PresSipResponse;
24import com.android.ims.internal.uce.presence.PresTupleInfo;
25import com.android.ims.internal.uce.presence.PresResInstanceInfo;
26import com.android.ims.internal.uce.presence.PresResInfo;
27import com.android.ims.internal.uce.presence.PresRlmiInfo;
28
29
30/**
31 * IPresenceListener
32 * {@hide} */
33interface 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);
Abhishek Adappa244956442016-10-28 14:12:00 -070092
93 /**
94 * Callback function to be invoked to inform the client when Unpublish message
95 * is sent to network.
96 */
97 void unpublishMessageSent();
98
Pavel Zhamaitsiakcfedd202016-03-18 16:09:50 -070099}