1f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/* 2f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Copyright (c) 2013 The Android Open Source Project 3f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 4f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * you may not use this file except in compliance with the License. 6f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * You may obtain a copy of the License at 7f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 8f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 9f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 10f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Unless required by applicable law or agreed to in writing, software 11f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * See the License for the specific language governing permissions and 14f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * limitations under the License. 15f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 16f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 17f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savillepackage com.android.ims.internal; 18f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 19f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport android.app.PendingIntent; 20f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 21f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.ImsCallProfile; 22f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsRegistrationListener; 23f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsCallSession; 24f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsCallSessionListener; 251c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingamimport com.android.ims.internal.IImsEcbm; 26f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsUt; 27a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohenimport com.android.ims.internal.IImsConfig; 28f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 29163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganeshimport android.os.Message; 30163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh 31f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/** 32f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * {@hide} 33f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 34f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleinterface IImsService { 35fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen int open(int phoneId, int serviceClass, in PendingIntent incomingCallIntent, 36f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville in IImsRegistrationListener listener); 37f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void close(int serviceId); 38f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville boolean isConnected(int serviceId, int serviceType, int callType); 39f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville boolean isOpened(int serviceId); 40f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void setRegistrationListener(int serviceId, in IImsRegistrationListener listener); 41f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 42f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville ImsCallProfile createCallProfile(int serviceId, int serviceType, int callType); 43f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 44f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville IImsCallSession createCallSession(int serviceId, in ImsCallProfile profile, 45f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville in IImsCallSessionListener listener); 46f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville IImsCallSession getPendingCallSession(int serviceId, String callId); 47f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 48f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 49f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Ut interface for the supplementary service configuration. 50f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 51f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville IImsUt getUtInterface(int serviceId); 52a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen 53a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen /** 54a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen * Config interface to get/set IMS service/capability parameters. 55a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen */ 56fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen IImsConfig getConfigInterface(int phoneId); 57ab458a18583e5dc9984210c3b4cc01dabcb1b39fram 58ab458a18583e5dc9984210c3b4cc01dabcb1b39fram /** 59ab458a18583e5dc9984210c3b4cc01dabcb1b39fram * Used for turning on IMS when its in OFF state. 60ab458a18583e5dc9984210c3b4cc01dabcb1b39fram */ 61fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen void turnOnIms(int phoneId); 62ab458a18583e5dc9984210c3b4cc01dabcb1b39fram 63ab458a18583e5dc9984210c3b4cc01dabcb1b39fram /** 64ab458a18583e5dc9984210c3b4cc01dabcb1b39fram * Used for turning off IMS when its in ON state. 65ab458a18583e5dc9984210c3b4cc01dabcb1b39fram * When IMS is OFF, device will behave as CSFB'ed. 66ab458a18583e5dc9984210c3b4cc01dabcb1b39fram */ 67fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen void turnOffIms(int phoneId); 681c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam 691c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam /** 701c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam * ECBM interface for Emergency Callback mode mechanism. 711c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam */ 721c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam IImsEcbm getEcbmInterface(int serviceId); 731c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam 74163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh /** 75163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh * Used to set current TTY Mode. 76163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh */ 77163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh void setUiTTYMode(int serviceId, int uiTtyMode, in Message onComplete); 78f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville} 79