1/*
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 android.hardware.radio@1.2;
18
19import @1.0::RadioResponseInfo;
20import @1.1::IRadioResponse;
21
22/**
23 * Interface declaring response functions to solicited radio requests.
24 */
25interface IRadioResponse extends @1.1::IRadioResponse {
26
27    /**
28     * @param info Response info struct containing response type, serial no. and error
29     * @param cellInfo List of current cell information known to radio
30     *
31     * Valid errors returned:
32     *   RadioError:NONE
33     *   RadioError:RADIO_NOT_AVAILABLE
34     *   RadioError:NO_MEMORY
35     *   RadioError:INTERNAL_ERR
36     *   RadioError:SYSTEM_ERR
37     *   RadioError:MODEM_ERR
38     *   RadioError:NO_NETWORK_FOUND
39     *   RadioError:REQUEST_NOT_SUPPORTED
40     *   RadioError:NO_RESOURCES
41     *   RadioError:CANCELLED
42     */
43    oneway getCellInfoListResponse_1_2(RadioResponseInfo info, vec<CellInfo> cellInfo);
44
45    /**
46     * @param info Response info struct containing response type, serial no. and error
47     * @param cardStatus ICC card status as defined by CardStatus in types.hal
48     *
49     * Valid errors returned:
50     *   RadioError:NONE
51     */
52    oneway getIccCardStatusResponse_1_2(RadioResponseInfo info, CardStatus cardStatus);
53
54    /**
55     * @param info Response info struct containing response type, serial no. and error
56     *
57     * Valid errors returned:
58     *   RadioError:NONE
59     *   RadioError:INVALID_ARGUMENTS
60     *   RadioError:RADIO_NOT_AVAILABLE
61     *   RadioError:INTERNAL_ERR
62     */
63    oneway setSignalStrengthReportingCriteriaResponse(RadioResponseInfo info);
64
65    /**
66     * @param info Response info struct containing response type, serial no. and error
67     *
68     * Valid errors returned:
69     *   RadioError:NONE
70     *   RadioError:INVALID_ARGUMENTS
71     *   RadioError:RADIO_NOT_AVAILABLE
72     *   RadioError:INTERNAL_ERR
73     */
74    oneway setLinkCapacityReportingCriteriaResponse(RadioResponseInfo info);
75
76    /**
77     * @param calls Current call list
78     *
79     * Valid errors returned:
80     *   RadioError:NONE
81     *   RadioError:RADIO_NOT_AVAILABLE
82     *   RadioError:NO_MEMORY
83     *   RadioError:INTERNAL_ERR
84     *   RadioError:SYSTEM_ERR
85     *   RadioError:INVALID_ARGUMENTS
86     *   RadioError:REQUEST_NOT_SUPPORTED
87     *   RadioError:NO_RESOURCES
88     *   RadioError:CANCELLED
89     */
90    oneway getCurrentCallsResponse_1_2(RadioResponseInfo info, vec<Call> calls);
91
92    /**
93     * @param signalStrength Current signal strength
94     *
95     * Valid errors returned:
96     *   RadioError:NONE
97     *   RadioError:RADIO_NOT_AVAILABLE
98     *   RadioError:INTERNAL_ERR
99     */
100    oneway getSignalStrengthResponse_1_2(RadioResponseInfo info, SignalStrength signalStrength);
101
102    /**
103     * @param info Response info struct containing response type, serial no. and error
104     * @param voiceRegResponse Current Voice registration response as defined by VoiceRegStateResult
105     *        in types.hal
106     *
107     * Valid errors returned:
108     *   RadioError:NONE
109     *   RadioError:RADIO_NOT_AVAILABLE
110     *   RadioError:INTERNAL_ERR
111     */
112    oneway getVoiceRegistrationStateResponse_1_2(RadioResponseInfo info,
113            VoiceRegStateResult voiceRegResponse);
114
115    /**
116     * @param info Response info struct containing response type, serial no. and error
117     * @param dataRegResponse Current Data registration response as defined by DataRegStateResult in
118     *        types.hal
119     *
120     * Valid errors returned:
121     *   RadioError:NONE
122     *   RadioError:RADIO_NOT_AVAILABLE
123     *   RadioError:INTERNAL_ERR
124     *   RadioError:NOT_PROVISIONED
125     */
126    oneway getDataRegistrationStateResponse_1_2(RadioResponseInfo info,
127            DataRegStateResult dataRegResponse);
128};
129