1 /*
2  * Copyright (c) 2023 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 #include "location_proxy_adapter_impl.h"
17 
18 #include <string>
19 
20 namespace OHOS::NWeb {
21 class LocationInstanceImpl : public LocationInstance {
22 public:
23     LocationInstanceImpl() = default;
24 
25     LocationInstanceImpl(const LocationInstanceImpl&) = delete;
26 
27     LocationInstanceImpl& operator=(const LocationInstanceImpl&) = delete;
28 
29     ~LocationInstanceImpl() = default;
30 
31     std::shared_ptr<LocationProxyAdapter> CreateLocationProxyAdapter() override;
32 
33     std::shared_ptr<LocationRequestConfig> CreateLocationRequestConfig() override;
34 };
35 
GetInstance()36 LocationInstance& LocationInstance::GetInstance()
37 {
38     static LocationInstanceImpl instance;
39     return instance;
40 }
41 
CreateLocationProxyAdapter()42 std::shared_ptr<LocationProxyAdapter> LocationInstanceImpl::CreateLocationProxyAdapter()
43 {
44     return nullptr;
45 }
46 
CreateLocationRequestConfig()47 std::shared_ptr<LocationRequestConfig> LocationInstanceImpl::CreateLocationRequestConfig()
48 {
49     return nullptr;
50 }
51 
LocationRequestConfigImpl()52 LocationRequestConfigImpl::LocationRequestConfigImpl() {}
53 
SetScenario(int32_t scenario)54 void LocationRequestConfigImpl::SetScenario(int32_t scenario) {}
55 
SetFixNumber(int32_t number)56 void LocationRequestConfigImpl::SetFixNumber(int32_t number) {}
57 
SetMaxAccuracy(int32_t maxAccuary)58 void LocationRequestConfigImpl::SetMaxAccuracy(int32_t maxAccuary) {}
59 
SetDistanceInterval(int32_t disInterval)60 void LocationRequestConfigImpl::SetDistanceInterval(int32_t disInterval) {}
61 
SetTimeInterval(int32_t timeInterval)62 void LocationRequestConfigImpl::SetTimeInterval(int32_t timeInterval) {}
63 
SetPriority(int32_t priority)64 void LocationRequestConfigImpl::SetPriority(int32_t priority) {}
65 
GetLatitude()66 double LocationInfoImpl::GetLatitude()
67 {
68     return -1;
69 }
70 
GetLongitude()71 double LocationInfoImpl::GetLongitude()
72 {
73     return -1;
74 }
75 
GetAltitude()76 double LocationInfoImpl::GetAltitude()
77 {
78     return -1;
79 }
80 
GetAccuracy()81 float LocationInfoImpl::GetAccuracy()
82 {
83     return -1;
84 }
85 
GetSpeed()86 float LocationInfoImpl::GetSpeed()
87 {
88     return -1;
89 }
90 
GetDirection()91 double LocationInfoImpl::GetDirection()
92 {
93     return -1;
94 }
95 
GetTimeStamp()96 int64_t LocationInfoImpl::GetTimeStamp()
97 {
98     return -1;
99 }
100 
GetTimeSinceBoot()101 int64_t LocationInfoImpl::GetTimeSinceBoot()
102 {
103     return -1;
104 }
105 
GetAdditions()106 std::vector<std::string> LocationInfoImpl::GetAdditions()
107 {
108     std::vector<std::string> emptyLoc;
109     return emptyLoc;
110 }
111 
LocationProxyAdapterImpl()112 LocationProxyAdapterImpl::LocationProxyAdapterImpl() {}
113 
StartLocating(std::shared_ptr<LocationRequestConfig> requestConfig,std::shared_ptr<LocationCallbackAdapter> callback)114 int32_t LocationProxyAdapterImpl::StartLocating(
115     std::shared_ptr<LocationRequestConfig> requestConfig, std::shared_ptr<LocationCallbackAdapter> callback)
116 {
117     return -1;
118 }
119 
StopLocating(int32_t callbackId)120 bool LocationProxyAdapterImpl::StopLocating(int32_t callbackId)
121 {
122     return false;
123 }
124 
EnableAbility(bool isEnabled)125 bool LocationProxyAdapterImpl::EnableAbility(bool isEnabled)
126 {
127     return false;
128 }
129 
IsLocationEnabled()130 bool LocationProxyAdapterImpl::IsLocationEnabled()
131 {
132     return false;
133 }
134 } // namespace OHOS::NWeb
135