1/*
2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @addtogroup Ril
18 * @{
19 *
20 * @brief Defines Ril-related APIs.
21 *
22 * The radio interface layer (RIL) module provides APIs and callbacks for upper-layer telephony services,
23 * including call, SMS, MMS, network search, and SIM card services.
24 *
25 * @since 4.1
26 * @version 1.2
27 */
28
29/**
30 * @file IRilCallback.idl
31 *
32 * @brief Declares callback APIs of the RIL module.
33 *
34 * @since 4.1
35 * @version 1.2
36 */
37
38/**
39 * @brief Defines the path for the package of the RIL module APIs.
40 *
41 * @since 4.1
42 * @version 1.2
43 */
44package ohos.hdi.ril.v1_2;
45
46import ohos.hdi.ril.v1_1.IRilCallback;
47import ohos.hdi.ril.v1_2.Types;
48
49/**
50 * @brief Declares callback APIs of the RIL module.
51 *
52 * These APIs provide the callback functions for making calls, sending SMS and MMS messages,
53 * activating SIM cards, and accessing the Internet. The caller needs to implement these callbacks.
54 *
55 * @since 4.1
56 * @version 1.2
57 */
58[callback] interface IRilCallback extends ohos.hdi.ril.v1_1.IRilCallback {
59    /**
60     * @brief Callback for reporting resident network.
61     *
62     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
63     * For details, see {@link RilRadioResponseInfo}.
64     * @param plmn resident network.
65     *
66     * @since 4.1
67     * @version 1.3
68     */
69    [oneway] ResidentNetworkUpdated([in] struct RilRadioResponseInfo responseInfo, [in] String plmn);
70
71    /**
72     * @brief Callback for the response of Send sim matched operator info.
73     *
74     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
75     * For details, see {@link RilRadioResponseInfo}.
76     *
77     * @since 4.1
78     * @version 1.3
79     */
80    [oneway] SendSimMatchedOperatorInfoResponse([in] struct RilRadioResponseInfo responseInfo);
81
82    /**
83     * @brief Callback for the response of cleaning all data connections.
84     *
85     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
86     * For details, see {@link RilRadioResponseInfo}.
87     *
88     * @since 4.1
89     * @version 1.3
90     */
91    [oneway] CleanAllConnectionsResponse([in] struct RilRadioResponseInfo responseInfo);
92
93    /**
94     * @brief Callback for the response of querying nr ssd id information.
95     *
96     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
97     * For details, see {@link RilRadioResponseInfo}.
98     * @param nrCellSsbIds is NR cell ssb Id info. For details, see {@link NrCellSsbIds}.
99     *
100     * @since 4.1
101     * @version 1.3
102     */
103    [oneway] GetNrSsbIdResponse([in] struct RilRadioResponseInfo responseInfo, [in] struct NrCellSsbIds nrCellSsbIds);
104
105    /**
106     * @brief Callback for reporting cell information.
107     *
108     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
109     * For details, see {@link RilRadioResponseInfo}.
110     * @param cellListCurrentInfo Cell information list. For details, see {@link CellListCurrentInfo_1_2}.
111     *
112     * @since 4.1
113     * @version 1.3
114     */
115    [oneway] NetworkCurrentCellUpdated_1_2([in] struct RilRadioResponseInfo responseInfo,
116        [in] struct CellListCurrentInfo_1_2 cellListCurrentInfo);
117
118    /**
119     * @brief Callback for the response of querying cell information.
120     *
121     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
122     * For details, see {@link RilRadioResponseInfo}.
123     * @param cellListCurrentInfo Cell information list. For details, see {@link CellListCurrentInfo_1_2}.
124     *
125     * @since 4.1
126     * @version 1.3
127     */
128    [oneway] GetCurrentCellInfoResponse_1_2([in] struct RilRadioResponseInfo responseInfo,
129        [in] struct CellListCurrentInfo_1_2 cellListCurrentInfo);
130
131    /**
132     * @brief Callback for the response of querying neighboring cell information.
133     *
134     * @param responseInfo Common response information, such as the card slot ID and request sequence ID.
135     * For details, see {@link RilRadioResponseInfo}.
136     * @param cellListNearbyInfo Neighboring cell information list. For details, see {@link CellListNearbyInfo_1_2}.
137     *
138     * @since 4.1
139     * @version 1.3
140     */
141    [oneway] GetNeighboringCellInfoListResponse_1_2([in] struct RilRadioResponseInfo responseInfo,
142        [in] struct CellListNearbyInfo_1_2 cellListNearbyInfo);
143}
144/** @} */
145