1c5e268c6Sopenharmony_ci/* 2c5e268c6Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3c5e268c6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c5e268c6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c5e268c6Sopenharmony_ci * You may obtain a copy of the License at 6c5e268c6Sopenharmony_ci * 7c5e268c6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c5e268c6Sopenharmony_ci * 9c5e268c6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c5e268c6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c5e268c6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c5e268c6Sopenharmony_ci * See the License for the specific language governing permissions and 13c5e268c6Sopenharmony_ci * limitations under the License. 14c5e268c6Sopenharmony_ci */ 15c5e268c6Sopenharmony_ci 16c5e268c6Sopenharmony_ci /** 17c5e268c6Sopenharmony_ci * @addtogroup HdiLpfenceCellbatching 18c5e268c6Sopenharmony_ci * @{ 19c5e268c6Sopenharmony_ci * 20c5e268c6Sopenharmony_ci * @brief Provides APIs for recording base station trajectory data for low-power fence services. 21c5e268c6Sopenharmony_ci * 22c5e268c6Sopenharmony_ci * You can use the APIs to cache and flush the base station data received. 23c5e268c6Sopenharmony_ci * The cell batching feature is used to determine the user's activity area based on the base station trajectory data received by the device, so as to further provide service information. 24c5e268c6Sopenharmony_ci * 25c5e268c6Sopenharmony_ci * @since 4.0 26c5e268c6Sopenharmony_ci * @version 1.0 27c5e268c6Sopenharmony_ci */ 28c5e268c6Sopenharmony_ci 29c5e268c6Sopenharmony_ci/** 30c5e268c6Sopenharmony_ci * @file ICellbatchingInterface.idl 31c5e268c6Sopenharmony_ci * 32c5e268c6Sopenharmony_ci * @brief Declares the APIs provided by the cell batching module. You can use the APIs to enable or disable the cell batching feature and obtain the base station trajectory data. 33c5e268c6Sopenharmony_ci * 34c5e268c6Sopenharmony_ci * @since 4.0 35c5e268c6Sopenharmony_ci * @version 1.0 36c5e268c6Sopenharmony_ci */ 37c5e268c6Sopenharmony_ci 38c5e268c6Sopenharmony_ci/** 39c5e268c6Sopenharmony_ci * @brief Declares the path of the cell batching interface package. 40c5e268c6Sopenharmony_ci * 41c5e268c6Sopenharmony_ci * @since 4.0 42c5e268c6Sopenharmony_ci */ 43c5e268c6Sopenharmony_cipackage ohos.hdi.location.lpfence.cellbatching.v1_0; 44c5e268c6Sopenharmony_ci 45c5e268c6Sopenharmony_ci/** 46c5e268c6Sopenharmony_ci * @brief Imports data types of the cell batching module. 47c5e268c6Sopenharmony_ci * 48c5e268c6Sopenharmony_ci * @since 4.0 49c5e268c6Sopenharmony_ci */ 50c5e268c6Sopenharmony_ciimport ohos.hdi.location.lpfence.cellbatching.v1_0.CellbatchingTypes; 51c5e268c6Sopenharmony_ci 52c5e268c6Sopenharmony_ci/** 53c5e268c6Sopenharmony_ci * @brief Imports callback definitions of the cell batching module. 54c5e268c6Sopenharmony_ci * 55c5e268c6Sopenharmony_ci * @since 4.0 56c5e268c6Sopenharmony_ci */ 57c5e268c6Sopenharmony_ciimport ohos.hdi.location.lpfence.cellbatching.v1_0.ICellbatchingCallback; 58c5e268c6Sopenharmony_ci 59c5e268c6Sopenharmony_ci/** 60c5e268c6Sopenharmony_ci * @brief Defines APIs for basic cell batching operations. 61c5e268c6Sopenharmony_ci * 62c5e268c6Sopenharmony_ci * You can use the APIs to register or unregister a callback, enable or disable the cell batching feature, and obtain the base station trajectory data. 63c5e268c6Sopenharmony_ci */ 64c5e268c6Sopenharmony_ciinterface ICellbatchingInterface { 65c5e268c6Sopenharmony_ci /** 66c5e268c6Sopenharmony_ci * @brief Registers a callback. 67c5e268c6Sopenharmony_ci * 68c5e268c6Sopenharmony_ci * Before enabling the cell batching feature, you need to register a callback to report the base station trajectory data obtained by an app. 69c5e268c6Sopenharmony_ci * 70c5e268c6Sopenharmony_ci * @param callbackObj Indicates the callback to register, which needs to be registered only once. For details, see {@link ICellbatchingCallback}. 71c5e268c6Sopenharmony_ci * 72c5e268c6Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 73c5e268c6Sopenharmony_ci * @return Returns a negative value if the operation fails. 74c5e268c6Sopenharmony_ci * 75c5e268c6Sopenharmony_ci * @since 4.0 76c5e268c6Sopenharmony_ci * @version 1.0 77c5e268c6Sopenharmony_ci */ 78c5e268c6Sopenharmony_ci RegisterCellBatchingCallback([in] ICellbatchingCallback callbackObj); 79c5e268c6Sopenharmony_ci 80c5e268c6Sopenharmony_ci /** 81c5e268c6Sopenharmony_ci * @brief Unregisters a callback. 82c5e268c6Sopenharmony_ci * 83c5e268c6Sopenharmony_ci * When the cell batching feature is no longer required or the registered callback needs to be changed, you need to unregister the callback. 84c5e268c6Sopenharmony_ci * 85c5e268c6Sopenharmony_ci * @param callbackObj Indicates the callback to unregister, which needs to be unregistered only once. For details, see {@link ICellbatchingCallback}. 86c5e268c6Sopenharmony_ci * 87c5e268c6Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 88c5e268c6Sopenharmony_ci * @return Returns a negative value if the operation fails. 89c5e268c6Sopenharmony_ci * 90c5e268c6Sopenharmony_ci * @since 4.0 91c5e268c6Sopenharmony_ci * @version 1.0 92c5e268c6Sopenharmony_ci */ 93c5e268c6Sopenharmony_ci UnregisterCellBatchingCallback([in] ICellbatchingCallback callbackObj); 94c5e268c6Sopenharmony_ci 95c5e268c6Sopenharmony_ci /** 96c5e268c6Sopenharmony_ci * @brief Enables or disables the cell batching feature. 97c5e268c6Sopenharmony_ci * 98c5e268c6Sopenharmony_ci * After the cell batching feature is enabled, the device caches the base station data received. If the data received is the same as the data previously received, the device does not cache the data. 99c5e268c6Sopenharmony_ci * 100c5e268c6Sopenharmony_ci * @param req Indicates the parameters used for setting the cell batching feature. For details, see {@link CellbatchingRequest}. 101c5e268c6Sopenharmony_ci * 102c5e268c6Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 103c5e268c6Sopenharmony_ci * @return Returns a negative value if the operation fails. 104c5e268c6Sopenharmony_ci * 105c5e268c6Sopenharmony_ci * @since 4.0 106c5e268c6Sopenharmony_ci * @version 1.0 107c5e268c6Sopenharmony_ci */ 108c5e268c6Sopenharmony_ci CellbatchingSwitch([in] struct CellbatchingRequest req); 109c5e268c6Sopenharmony_ci 110c5e268c6Sopenharmony_ci /** 111c5e268c6Sopenharmony_ci * @brief Flushes the base station trajectory data. 112c5e268c6Sopenharmony_ci * 113c5e268c6Sopenharmony_ci * The amount of data flushed varies depending on the buffer size of the device and the amount of base station data received by the device. After the data is flushed, the cached base station data will be cleared. 114c5e268c6Sopenharmony_ci * 115c5e268c6Sopenharmony_ci * @return Returns <b>0</b> if the operation is successful. 116c5e268c6Sopenharmony_ci * @return Returns a negative value if the operation fails. 117c5e268c6Sopenharmony_ci * 118c5e268c6Sopenharmony_ci * @since 4.0 119c5e268c6Sopenharmony_ci * @version 1.0 120c5e268c6Sopenharmony_ci */ 121c5e268c6Sopenharmony_ci FlushCellbatching(); 122c5e268c6Sopenharmony_ci} 123c5e268c6Sopenharmony_ci/** @} */ 124