* Copyright (c) 2024 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "geolocationmanager_ffi.h"
#include "geolocationmanager_impl.h"
namespace OHOS {
namespace GeoLocationManager {
extern "C" {
CJLocation FfiOHOSGeoLocationManagerGetLastLocation(int32_t* errCode)
{
return GetLastLocation(*errCode);
}
bool FfiOHOSGeoLocationManagerIsLocationEnabled(int32_t* errCode)
{
return IsLocationEnabled(*errCode);
}
bool FfiOHOSGeoLocationManagerIsGeocoderAvailable(int32_t* errCode)
{
return IsGeocoderAvailable(*errCode);
}
int32_t FfiOHOSGeoLocationManagerGetCachedGnssLocationsSize(int32_t* errCode)
{
return GetCachedGnssLocationsSize(*errCode);
}
CJLocation FfiOHOSGeoLocationManagerGetCurrentLocation(int32_t* errCode)
{
return GetCurrentLocation(*errCode);
}
CJLocation FfiOHOSGeoLocationManagerGetCurrentLocationCurrent(CJCurrentLocationRequest request, int32_t* errCode)
{
return GetCurrentLocationCurrent(request, *errCode);
}
CJLocation FfiOHOSGeoLocationManagerGetCurrentLocationSingle(CJSingleLocationRequest request, int32_t* errCode)
{
return GetCurrentLocationSingle(request, *errCode);
}
FFI_EXPORT void FfiOHOSGeoLocationManagerFlushCachedGnssLocations(int32_t* errCode)
{
return FlushCachedGnssLocations(*errCode);
}
void FfiOHOSGeoLocationManagerSendCommand(CJLocationCommand command, int32_t* errCode)
{
return SendCommand(command, *errCode);
}
CJCountryCode FfiOHOSGeoLocationManagerGetCountryCode(int32_t* errCode)
{
return GetCountryCode(*errCode);
}
CJGeoAddressArr FfiOHOSGeoLocationManagerGetAddressesFromLocation(CJReverseGeoCodeRequest request,
int32_t* errCode)
{
return GetAddressesFromLocation(request, *errCode);
}
CJGeoAddressArr FfiOHOSGeoLocationManagerGetAddressesFromLocationName(CJGeoCodeRequest request,
int32_t* errCode)
{
return GetAddressesFromLocationName(request, *errCode);
}
int32_t FfiGeoLocationManagerOnLocationChange(CJLocationRequest request, int64_t callbackId)
{
return OnLocationRequest(request, callbackId);
}
int32_t FfiGeoLocationManagerOnContinuousLocationRequest(CJContinuousLocationRequest request, int64_t callbackId)
{
return OnContinuousLocationRequest(request, callbackId);
}
int32_t FfiGeoLocationManagerOffLocationChange(int64_t callbackId)
{
return OffLocationChange(callbackId);
}
int32_t FfiGeoLocationManagerOffLocationChangeAll()
{
return OffLocationChangeAll();
}
int32_t FfiGeoLocationManagerOnLocationError(int64_t callbackId)
{
return OnLocationError(callbackId);
}
int32_t FfiGeoLocationManagerOffLocationError(int64_t callbackId)
{
return OffLocationError(callbackId);
}
int32_t FfiGeoLocationManagerOffLocationErrorAll()
{
return OffLocationErrorAll();
}
int32_t FfiGeoLocationManagerOnLocationEnabledChange(int64_t callbackId)
{
return OnLocationEnabledChange(callbackId);
}
int32_t FfiGeoLocationManagerOffLocationEnabledChange(int64_t callbackId)
{
return OffLocationEnabledChange(callbackId);
}
int32_t FfiGeoLocationManagerOffLocationEnabledChangeAll()
{
return OffLocationEnabledChangeAll();
}
int32_t FfiGeoLocationManagerOnCachedGnssLocationsChange(CJCachedGnssLocationsRequest request,
int64_t callbackId)
{
return OnCachedGnssLocationsChange(request, callbackId);
}
int32_t FfiGeoLocationManagerOffCachedGnssLocationsChange(int64_t callbackId)
{
return OffCachedGnssLocationsChange(callbackId);
}
int32_t FfiGeoLocationManagerOffCachedGnssLocationsChangeAll()
{
return OffCachedGnssLocationsChangeAll();
}
int32_t FfiGeoLocationManagerOnSatelliteStatusChange(int64_t callbackId)
{
return OnSatelliteStatusChange(callbackId);
}
int32_t FfiGeoLocationManagerOffSatelliteStatusChange(int64_t callbackId)
{
return OffSatelliteStatusChange(callbackId);
}
int32_t FfiGeoLocationManagerOffSatelliteStatusChangeAll()
{
return OffSatelliteStatusChangeAll();
}
int32_t FfiGeoLocationManagerOnNmeaMessage(int64_t callbackId)
{
return OnNmeaMessage(callbackId);
}
int32_t FfiGeoLocationManagerOffNmeaMessage(int64_t callbackId)
{
return OffNmeaMessage(callbackId);
}
int32_t FfiGeoLocationManagerOffNmeaMessageAll()
{
return OffNmeaMessageAll();
}
int32_t FfiGeoLocationManagerOnCountryCodeChange(int64_t callbackId)
{
return OnCountryCodeChange(callbackId);
}
int32_t FfiGeoLocationManagerOffCountryCodeChange(int64_t callbackId)
{
return OffCountryCodeChange(callbackId);
}
int32_t FfiGeoLocationManagerOffCountryCodeChangeAll()
{
return OffCountryCodeChangeAll();
}
CArrI32 FfiGeoLocationManagerGetGeofenceSupportedCoordTypes(int32_t* errCode)
{
return GetGeofenceSupportedCoordTypes(*errCode);
}
}
}
}