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 21f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerimport android.telephony.ims.ImsCallProfile; 22f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsCallSession; 23f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsCallSessionListener; 24f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapatiimport com.android.ims.internal.IImsConfig; 251c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingamimport com.android.ims.internal.IImsEcbm; 26f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapatiimport com.android.ims.internal.IImsMultiEndpoint; 27f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapatiimport com.android.ims.internal.IImsRegistrationListener; 28f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsUt; 29f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 30163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganeshimport android.os.Message; 31163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh 32f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/** 33f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * {@hide} 34f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 35f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleinterface IImsService { 36fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen int open(int phoneId, int serviceClass, in PendingIntent incomingCallIntent, 37f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville in IImsRegistrationListener listener); 38f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void close(int serviceId); 39f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville boolean isConnected(int serviceId, int serviceType, int callType); 40f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville boolean isOpened(int serviceId); 416e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak 426e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak /** 436e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak * Replace existing registration listener 446e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak * 456e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak */ 46f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void setRegistrationListener(int serviceId, in IImsRegistrationListener listener); 47f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 486e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak /** 496e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak * Add new registration listener 506e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak */ 516e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak void addRegistrationListener(int phoneId, int serviceClass, 526e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak in IImsRegistrationListener listener); 536e6950ee66c681274e1c4bf086b559802a6e12bfPavel Zhamaitsiak 54f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville ImsCallProfile createCallProfile(int serviceId, int serviceType, int callType); 55f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 56f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville IImsCallSession createCallSession(int serviceId, in ImsCallProfile profile, 57f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville in IImsCallSessionListener listener); 58f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville IImsCallSession getPendingCallSession(int serviceId, String callId); 59f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 60f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 61f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Ut interface for the supplementary service configuration. 62f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 63f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville IImsUt getUtInterface(int serviceId); 64a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen 65a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen /** 66a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen * Config interface to get/set IMS service/capability parameters. 67a4d88d1e6e0af284b5ecccc5d55bfcdaa2f784a8Etan Cohen */ 68fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen IImsConfig getConfigInterface(int phoneId); 69ab458a18583e5dc9984210c3b4cc01dabcb1b39fram 70ab458a18583e5dc9984210c3b4cc01dabcb1b39fram /** 71ab458a18583e5dc9984210c3b4cc01dabcb1b39fram * Used for turning on IMS when its in OFF state. 72ab458a18583e5dc9984210c3b4cc01dabcb1b39fram */ 73fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen void turnOnIms(int phoneId); 74ab458a18583e5dc9984210c3b4cc01dabcb1b39fram 75ab458a18583e5dc9984210c3b4cc01dabcb1b39fram /** 76ab458a18583e5dc9984210c3b4cc01dabcb1b39fram * Used for turning off IMS when its in ON state. 77ab458a18583e5dc9984210c3b4cc01dabcb1b39fram * When IMS is OFF, device will behave as CSFB'ed. 78ab458a18583e5dc9984210c3b4cc01dabcb1b39fram */ 79fbedecc099b49b9776260cec4738f07c17c5e972Etan Cohen void turnOffIms(int phoneId); 801c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam 811c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam /** 821c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam * ECBM interface for Emergency Callback mode mechanism. 831c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam */ 841c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam IImsEcbm getEcbmInterface(int serviceId); 851c18285c36a0cf202dcf737c96766638e1e56c5dUma Maheswari Ramalingam 86163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh /** 87163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh * Used to set current TTY Mode. 88163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh */ 89163900a6a146e889ad8d2df54f27d1a8fe55a280Shriram Ganesh void setUiTTYMode(int serviceId, int uiTtyMode, in Message onComplete); 90f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapati 91f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapati /** 92f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapati * MultiEndpoint interface for DEP. 93f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapati */ 94f604fc33c699b9f91315588ea4d6c6cd3b09a372Anju Mathapati IImsMultiEndpoint getMultiEndpointInterface(int serviceId); 95f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville} 96