1/*
2 * Copyright (c) 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 HdiAGnss
18 * @{
19 *
20 * @brief Provides unified APIs for the AGNSS service.
21 *
22 * The upper layer can use the interfaces provided by this module to set the AGNSS callback, AGNSS server address,
23 * AGNSS reference information, and setId.
24 *
25 * @since 5.0
26 */
27
28/*
29 * @file IAGnssCallback.idl
30 *
31 * @brief Defines the agnss callback to request the upper layer to establish or release data services,
32 * request the upper layer to deliver setId, and request the upper layer to deliver the agnss reference information.
33 *
34 * @since 5.0
35 * @version 2.0
36 */
37
38package ohos.hdi.location.agnss.v2_0;
39
40import ohos.hdi.location.agnss.v2_0.AGnssTypes;
41
42/*
43 * @brief Defines the agnss callback to request the upper layer to establish or release data services,
44 * request the upper layer to deliver setId, and request the upper layer to deliver the agnss reference information.
45 *
46 * @since 5.0
47 */
48[callback] interface IAGnssCallback {
49    /*
50     * @brief Request the upper layer to establish or release data services.
51     *
52     * @param request Indicates the request information for operating the data service.
53     * For details, see {@link AGnssDataLinkRequest}.
54     * @return Returns <b>0</b> if send request successed; returns a negative value otherwise.
55     *
56     * @since 5.0
57     * @version 2.0
58     */
59    RequestSetUpAgnssDataLink([in] struct AGnssDataLinkRequest request);
60
61    /*
62     * @brief Request the upper layer to deliver the subscriber identity.
63     *
64     * @param type Indicates the type of setId. For details, see {@link SubscriberSetIdType}.
65     * @return Returns <b>0</b> if send request successed; returns a negative value otherwise.
66     *
67     * @since 5.0
68     * @version 2.0
69     */
70    RequestSubscriberSetId([in] enum SubscriberSetIdType type);
71
72    /*
73     * @brief Request upper-layer ingest reference information.
74     *
75     * @param type Indicates the type of reference information. For details, see {@link AGnssRefInfoType}.
76     * @return Returns <b>0</b> if send request successed; returns a negative value otherwise.
77     *
78     * @since 5.0
79     * @version 2.0
80     */
81    RequestAgnssRefInfo([in] enum AGnssRefInfoType type);
82}
83/** @} */