1/* 2 * Copyright (C) 2022 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#ifndef LOCATION_NAPI_ADAPTER_H 17#define LOCATION_NAPI_ADAPTER_H 18 19#include "common_utils.h" 20#include "locator.h" 21#include "napi_util.h" 22#include "geofence_request.h" 23#include "constant_definition.h" 24#include "location_gnss_geofence_callback_napi.h" 25#include "geofence_async_context.h" 26 27namespace OHOS { 28namespace Location { 29napi_value GetLastLocation(napi_env env, napi_callback_info info); 30napi_value IsLocationEnabled(napi_env env, napi_callback_info info); 31napi_value EnableLocation(napi_env env, napi_callback_info info); 32napi_value DisableLocation(napi_env env, napi_callback_info info); 33napi_value RequestEnableLocation(napi_env env, napi_callback_info info); 34napi_value IsGeoServiceAvailable(napi_env env, napi_callback_info info); 35napi_value GetAddressesFromLocation(napi_env env, napi_callback_info info); 36napi_value GetAddressesFromLocationName(napi_env env, napi_callback_info info); 37napi_value GetCachedGnssLocationsSize(napi_env env, napi_callback_info info); 38napi_value FlushCachedGnssLocations(napi_env env, napi_callback_info info); 39napi_value SendCommand(napi_env env, napi_callback_info info); 40#ifdef ENABLE_NAPI_MANAGER 41napi_value IsLocationPrivacyConfirmed(napi_env env, napi_callback_info info); 42napi_value SetLocationPrivacyConfirmStatus(napi_env env, napi_callback_info info); 43napi_value GetIsoCountryCode(napi_env env, napi_callback_info info); 44napi_value EnableLocationMock(napi_env env, napi_callback_info info); 45napi_value DisableLocationMock(napi_env env, napi_callback_info info); 46napi_value SetMockedLocations(napi_env env, napi_callback_info info); 47napi_value EnableReverseGeocodingMock(napi_env env, napi_callback_info info); 48napi_value DisableReverseGeocodingMock(napi_env env, napi_callback_info info); 49napi_value SetReverseGeocodingMockInfo(napi_env env, napi_callback_info info); 50napi_value HandleGetCachedLocation(napi_env env); 51LocationErrCode CheckLocationSwitchState(); 52napi_value GetLocatingRequiredData(napi_env env, napi_callback_info info); 53napi_value AddGnssGeofence(napi_env env, napi_callback_info info); 54GnssGeofenceAsyncContext* CreateAsyncContextForAddGnssGeofence(const napi_env& env, 55 std::shared_ptr<GeofenceRequest>& request, sptr<LocationGnssGeofenceCallbackNapi> callback); 56napi_value RemoveGnssGeofence(napi_env env, napi_callback_info info); 57GnssGeofenceAsyncContext* CreateAsyncContextForRemoveGnssGeofence(const napi_env& env, int fenceId); 58napi_value GetGeofenceSupportedCoordTypes(napi_env env, napi_callback_info info); 59void AddCallbackToGnssGeofenceCallbackHostMap(int fenceId, sptr<LocationGnssGeofenceCallbackNapi> callbackHost); 60void RemoveCallbackToGnssGeofenceCallbackHostMap(int fenceId); 61sptr<LocationGnssGeofenceCallbackNapi> FindCallbackInGnssGeofenceCallbackHostMap(int fenceId); 62#endif 63} // namespace Location 64} // namespace OHOS 65#endif // LOCATION_NAPI_ADAPTER_H 66