1/*
2 * Copyright (C) 2018 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 android.hardware.radio@1.3;
18
19import @1.2::IRadioResponse;
20import @1.0::RadioResponseInfo;
21
22/**
23 * Note: IRadio 1.3 is an intermediate layer between Android P and Android Q. It's specifically
24 * designed for CBRS related interfaces. All other interfaces for Q are added in IRadio 1.4.
25 *
26 * Interface declaring response functions to solicited radio requests.
27 */
28interface IRadioResponse extends @1.2::IRadioResponse {
29    /**
30     * @param info Response info struct containing response type, serial no. and error
31     *
32     * Valid errors returned:
33     *   RadioError:NONE
34     *   RadioError:RADIO_NOT_AVAILABLE
35     *   RadioError:INTERNAL_ERR
36     *   RadioError:INVALID_ARGUMENTS
37     */
38    oneway setSystemSelectionChannelsResponse(RadioResponseInfo info);
39
40    /**
41     * @param info Response info struct containing response type, serial no. and error
42     *
43     * Valid errors returned:
44     *   RadioError:NONE
45     *   RadioError:RADIO_NOT_AVAILABLE
46     *   RadioError:MODEM_ERR
47     *   RadioError:INVALID_STATE: this is for the case that the API is called in a single-sim
48     *              mode, or when there is only one modem available, as this API should only
49     *              be called in multi sim status.
50     */
51    oneway enableModemResponse(RadioResponseInfo info);
52
53    /**
54     * @param info Response info struct containing response type, serial no. and error
55     *
56     * Valid errors returned:
57     *   RadioError:NONE
58     *   RadioError:RADIO_NOT_AVAILABLE
59     *   RadioError:MODEM_ERR
60     */
61    oneway getModemStackStatusResponse(RadioResponseInfo info, bool isEnabled);
62};
63