IPresenceMapping.aidl
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:3k
- /*
- * Copyright (C) 2008 Esmertec AG.
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package com.android.im.plugin;
- /**
- * The methods used to map presence value sent in protocol to predefined
- * presence status.
- */
- interface IPresenceMapping {
- /**
- * Tells if the mapping needs all presence values sent in protocol. If this
- * method returns true, the framework will pass all the presence values
- * received from the server when map to the predefined status.
- *
- * @return true if needs; false otherwise.
- */
- boolean requireAllPresenceValues();
- /**
- * Map the presence values sent in protocol to the predefined presence
- * status.
- *
- * @param onlineStatus The value of presence <OnlineStatus> received
- * from the server.
- * @param userAvailability The value of presence <UserAvailibility>
- * received from the server.
- * @param allValues The whole presence values received from the server.
- * @return a predefined status.
- * @see #requireAllPresenceValues()
- */
- int getPresenceStatus(boolean onlineStatus, String userAvailability,
- in Map allValues);
- /**
- * Gets the value of <OnlineStatus> will be sent to the server when
- * update presence to the predefined status.
- *
- * @param status the predefined status.
- * @return The value of <OnlineStatus> will be sent to the server
- */
- boolean getOnlineStatus(int status);
- /**
- * Gets the value of <UserAvaibility> will be sent to the server when
- * update presence to the predefined status.
- *
- * @param status the predefined status.
- * @return The value of <UserAvaibility> will be sent to the server
- */
- String getUserAvaibility(int status);
- /**
- * Gets the extra presence values other than <OnlineStatus> and
- * <UserAvaibility> will be sent to the server when update presence to
- * the predefined status.
- *
- * @param status the predefined status.
- * @return The extra values that will be sent to the server.
- */
- Map getExtra(int status);
- /**
- * Gets an array of the supported presence status. The client can only update
- * presence to the values in the array.
- *
- * @return an array of the supported presence status.
- */
- int[] getSupportedPresenceStatus();
- }