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 #include "ohos_nweb/bridge/ark_web_accessibility_node_info_wrapper.h"
17 
18 #include "base/bridge/ark_web_bridge_macros.h"
19 
20 namespace OHOS::ArkWeb {
21 
ArkWebAccessibilityNodeInfoWrapper(ArkWebRefPtr<ArkWebAccessibilityNodeInfo> ark_web_accessibility_node_info)22 ArkWebAccessibilityNodeInfoWrapper::ArkWebAccessibilityNodeInfoWrapper(
23     ArkWebRefPtr<ArkWebAccessibilityNodeInfo> ark_web_accessibility_node_info)
24     : ark_web_accessibility_node_info_(ark_web_accessibility_node_info)
25 {}
26 
GetHint()27 std::string ArkWebAccessibilityNodeInfoWrapper::GetHint()
28 {
29     ArkWebString stHint = ark_web_accessibility_node_info_->GetHint();
30 
31     std::string objHint = ArkWebStringStructToClass(stHint);
32     ArkWebStringStructRelease(stHint);
33     return objHint;
34 }
35 
GetError()36 std::string ArkWebAccessibilityNodeInfoWrapper::GetError()
37 {
38     ArkWebString stError = ark_web_accessibility_node_info_->GetError();
39 
40     std::string objError = ArkWebStringStructToClass(stError);
41     ArkWebStringStructRelease(stError);
42     return objError;
43 }
44 
GetRectX()45 int32_t ArkWebAccessibilityNodeInfoWrapper::GetRectX()
46 {
47     return ark_web_accessibility_node_info_->GetRectX();
48 }
49 
GetRectY()50 int32_t ArkWebAccessibilityNodeInfoWrapper::GetRectY()
51 {
52     return ark_web_accessibility_node_info_->GetRectY();
53 }
54 
SetPageId(int32_t page_id)55 void ArkWebAccessibilityNodeInfoWrapper::SetPageId(int32_t page_id)
56 {
57     ark_web_accessibility_node_info_->SetPageId(page_id);
58 }
59 
GetPageId()60 int32_t ArkWebAccessibilityNodeInfoWrapper::GetPageId()
61 {
62     return ark_web_accessibility_node_info_->GetPageId();
63 }
64 
GetActions()65 std::vector<uint32_t> ArkWebAccessibilityNodeInfoWrapper::GetActions()
66 {
67     ArkWebUint32Vector stActions = ark_web_accessibility_node_info_->GetActions();
68 
69     std::vector<uint32_t> objActions = ArkWebBasicVectorStructToClass<uint32_t, ArkWebUint32Vector>(stActions);
70     ArkWebBasicVectorStructRelease<ArkWebUint32Vector>(stActions);
71     return objActions;
72 }
73 
GetContent()74 std::string ArkWebAccessibilityNodeInfoWrapper::GetContent()
75 {
76     ArkWebString stContent = ark_web_accessibility_node_info_->GetContent();
77 
78     std::string objContent = ArkWebStringStructToClass(stContent);
79     ArkWebStringStructRelease(stContent);
80     return objContent;
81 }
82 
GetChildIds()83 std::vector<int64_t> ArkWebAccessibilityNodeInfoWrapper::GetChildIds()
84 {
85     ArkWebInt64Vector stChildIds = ark_web_accessibility_node_info_->GetChildIds();
86 
87     std::vector<int64_t> objChildIds = ArkWebBasicVectorStructToClass<int64_t, ArkWebInt64Vector>(stChildIds);
88     ArkWebBasicVectorStructRelease<ArkWebInt64Vector>(stChildIds);
89     return objChildIds;
90 }
91 
SetParentId(int64_t parent_id)92 void ArkWebAccessibilityNodeInfoWrapper::SetParentId(int64_t parent_id)
93 {
94     ark_web_accessibility_node_info_->SetParentId(parent_id);
95 }
96 
GetParentId()97 int64_t ArkWebAccessibilityNodeInfoWrapper::GetParentId()
98 {
99     return ark_web_accessibility_node_info_->GetParentId();
100 }
101 
GetIsHeading()102 bool ArkWebAccessibilityNodeInfoWrapper::GetIsHeading()
103 {
104     return ark_web_accessibility_node_info_->GetIsHeading();
105 }
106 
GetIsChecked()107 bool ArkWebAccessibilityNodeInfoWrapper::GetIsChecked()
108 {
109     return ark_web_accessibility_node_info_->GetIsChecked();
110 }
111 
GetIsEnabled()112 bool ArkWebAccessibilityNodeInfoWrapper::GetIsEnabled()
113 {
114     return ark_web_accessibility_node_info_->GetIsEnabled();
115 }
116 
GetIsFocused()117 bool ArkWebAccessibilityNodeInfoWrapper::GetIsFocused()
118 {
119     return ark_web_accessibility_node_info_->GetIsFocused();
120 }
121 
GetRectWidth()122 int32_t ArkWebAccessibilityNodeInfoWrapper::GetRectWidth()
123 {
124     return ark_web_accessibility_node_info_->GetRectWidth();
125 }
126 
GetRectHeight()127 int32_t ArkWebAccessibilityNodeInfoWrapper::GetRectHeight()
128 {
129     return ark_web_accessibility_node_info_->GetRectHeight();
130 }
131 
GetIsVisible()132 bool ArkWebAccessibilityNodeInfoWrapper::GetIsVisible()
133 {
134     return ark_web_accessibility_node_info_->GetIsVisible();
135 }
136 
GetIsHinting()137 bool ArkWebAccessibilityNodeInfoWrapper::GetIsHinting()
138 {
139     return ark_web_accessibility_node_info_->GetIsHinting();
140 }
141 
GetIsEditable()142 bool ArkWebAccessibilityNodeInfoWrapper::GetIsEditable()
143 {
144     return ark_web_accessibility_node_info_->GetIsEditable();
145 }
146 
GetIsSelected()147 bool ArkWebAccessibilityNodeInfoWrapper::GetIsSelected()
148 {
149     return ark_web_accessibility_node_info_->GetIsSelected();
150 }
151 
GetItemCounts()152 size_t ArkWebAccessibilityNodeInfoWrapper::GetItemCounts()
153 {
154     return ark_web_accessibility_node_info_->GetItemCounts();
155 }
156 
GetLiveRegion()157 int32_t ArkWebAccessibilityNodeInfoWrapper::GetLiveRegion()
158 {
159     return ark_web_accessibility_node_info_->GetLiveRegion();
160 }
161 
GetIsPassword()162 bool ArkWebAccessibilityNodeInfoWrapper::GetIsPassword()
163 {
164     return ark_web_accessibility_node_info_->GetIsPassword();
165 }
166 
GetIsCheckable()167 bool ArkWebAccessibilityNodeInfoWrapper::GetIsCheckable()
168 {
169     return ark_web_accessibility_node_info_->GetIsCheckable();
170 }
171 
GetIsClickable()172 bool ArkWebAccessibilityNodeInfoWrapper::GetIsClickable()
173 {
174     return ark_web_accessibility_node_info_->GetIsClickable();
175 }
176 
GetIsFocusable()177 bool ArkWebAccessibilityNodeInfoWrapper::GetIsFocusable()
178 {
179     return ark_web_accessibility_node_info_->GetIsFocusable();
180 }
181 
GetIsScrollable()182 bool ArkWebAccessibilityNodeInfoWrapper::GetIsScrollable()
183 {
184     return ark_web_accessibility_node_info_->GetIsScrollable();
185 }
186 
GetIsDeletable()187 bool ArkWebAccessibilityNodeInfoWrapper::GetIsDeletable()
188 {
189     return ark_web_accessibility_node_info_->GetIsDeletable();
190 }
191 
GetAccessibilityId()192 int64_t ArkWebAccessibilityNodeInfoWrapper::GetAccessibilityId()
193 {
194     return ark_web_accessibility_node_info_->GetAccessibilityId();
195 }
196 
GetIsPopupSupported()197 bool ArkWebAccessibilityNodeInfoWrapper::GetIsPopupSupported()
198 {
199     return ark_web_accessibility_node_info_->GetIsPopupSupported();
200 }
201 
GetIsContentInvalid()202 bool ArkWebAccessibilityNodeInfoWrapper::GetIsContentInvalid()
203 {
204     return ark_web_accessibility_node_info_->GetIsContentInvalid();
205 }
206 
GetSelectionEnd()207 int32_t ArkWebAccessibilityNodeInfoWrapper::GetSelectionEnd()
208 {
209     return ark_web_accessibility_node_info_->GetSelectionEnd();
210 }
211 
GetSelectionStart()212 int32_t ArkWebAccessibilityNodeInfoWrapper::GetSelectionStart()
213 {
214     return ark_web_accessibility_node_info_->GetSelectionStart();
215 }
216 
GetRangeInfoMin()217 float ArkWebAccessibilityNodeInfoWrapper::GetRangeInfoMin()
218 {
219     return ark_web_accessibility_node_info_->GetRangeInfoMin();
220 }
221 
GetRangeInfoMax()222 float ArkWebAccessibilityNodeInfoWrapper::GetRangeInfoMax()
223 {
224     return ark_web_accessibility_node_info_->GetRangeInfoMax();
225 }
226 
GetRangeInfoCurrent()227 float ArkWebAccessibilityNodeInfoWrapper::GetRangeInfoCurrent()
228 {
229     return ark_web_accessibility_node_info_->GetRangeInfoCurrent();
230 }
231 
GetInputType()232 int32_t ArkWebAccessibilityNodeInfoWrapper::GetInputType()
233 {
234     return ark_web_accessibility_node_info_->GetInputType();
235 }
236 
GetComponentType()237 std::string ArkWebAccessibilityNodeInfoWrapper::GetComponentType()
238 {
239     ArkWebString stComponentType = ark_web_accessibility_node_info_->GetComponentType();
240 
241     std::string objComponentType = ArkWebStringStructToClass(stComponentType);
242     ArkWebStringStructRelease(stComponentType);
243     return objComponentType;
244 }
245 
GetDescriptionInfo()246 std::string ArkWebAccessibilityNodeInfoWrapper::GetDescriptionInfo()
247 {
248     ArkWebString stDescriptionInfo = ark_web_accessibility_node_info_->GetDescriptionInfo();
249 
250     std::string objDescriptionInfo = ArkWebStringStructToClass(stDescriptionInfo);
251     ArkWebStringStructRelease(stDescriptionInfo);
252     return objDescriptionInfo;
253 }
254 
GetGridRows()255 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridRows()
256 {
257     return ark_web_accessibility_node_info_->GetGridRows();
258 }
259 
GetGridItemRow()260 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridItemRow()
261 {
262     return ark_web_accessibility_node_info_->GetGridItemRow();
263 }
264 
GetGridColumns()265 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridColumns()
266 {
267     return ark_web_accessibility_node_info_->GetGridColumns();
268 }
269 
GetGridItemColumn()270 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridItemColumn()
271 {
272     return ark_web_accessibility_node_info_->GetGridItemColumn();
273 }
274 
GetGridItemRowSpan()275 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridItemRowSpan()
276 {
277     return ark_web_accessibility_node_info_->GetGridItemRowSpan();
278 }
279 
GetGridSelectedMode()280 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridSelectedMode()
281 {
282     return ark_web_accessibility_node_info_->GetGridSelectedMode();
283 }
284 
GetGridItemColumnSpan()285 int32_t ArkWebAccessibilityNodeInfoWrapper::GetGridItemColumnSpan()
286 {
287     return ark_web_accessibility_node_info_->GetGridItemColumnSpan();
288 }
289 
GetIsAccessibilityFocus()290 bool ArkWebAccessibilityNodeInfoWrapper::GetIsAccessibilityFocus()
291 {
292     return ark_web_accessibility_node_info_->GetIsAccessibilityFocus();
293 }
294 
GetIsPluralLineSupported()295 bool ArkWebAccessibilityNodeInfoWrapper::GetIsPluralLineSupported()
296 {
297     return ark_web_accessibility_node_info_->GetIsPluralLineSupported();
298 }
299 
GetIsAccessibilityGroup()300 bool ArkWebAccessibilityNodeInfoWrapper::GetIsAccessibilityGroup()
301 {
302     return ark_web_accessibility_node_info_->GetIsAccessibilityGroup();
303 }
304 
GetAccessibilityLevel()305 std::string ArkWebAccessibilityNodeInfoWrapper::GetAccessibilityLevel()
306 {
307     ArkWebString stAccessibilityLevel = ark_web_accessibility_node_info_->GetAccessibilityLevel();
308 
309     std::string objAccessibilityLevel = ArkWebStringStructToClass(stAccessibilityLevel);
310     ArkWebStringStructRelease(stAccessibilityLevel);
311     return objAccessibilityLevel;
312 }
313 
GetAccessibilityDescription()314 std::string ArkWebAccessibilityNodeInfoWrapper::GetAccessibilityDescription()
315 {
316     ArkWebString stAccessibilityDescription = ark_web_accessibility_node_info_->GetAccessibilityDescription();
317 
318     std::string objAccessibilityDescription = ArkWebStringStructToClass(stAccessibilityDescription);
319     ArkWebStringStructRelease(stAccessibilityDescription);
320     return objAccessibilityDescription;
321 }
322 
GetAccessibilityText()323 std::string ArkWebAccessibilityNodeInfoWrapper::GetAccessibilityText()
324 {
325     ArkWebString stAccessibilityText = ark_web_accessibility_node_info_->GetAccessibilityText();
326 
327     std::string objAccessibilityText = ArkWebStringStructToClass(stAccessibilityText);
328     ArkWebStringStructRelease(stAccessibilityText);
329     return objAccessibilityText;
330 }
331 
332 } // namespace OHOS::ArkWeb
333