• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "accessibility_element_operator_callback_impl.h"
17 #include "hilog_wrapper.h"
18 
19 namespace OHOS {
20 namespace Accessibility {
SetFindFocusedElementInfoResult(const AccessibilityElementInfo & info,const int32_t requestId)21 void AccessibilityElementOperatorCallbackImpl::SetFindFocusedElementInfoResult(const AccessibilityElementInfo &info,
22     const int32_t requestId)
23 {
24     HILOG_DEBUG("Response [requestId:%{public}d]", requestId);
25     accessibilityInfoResult_ = info;
26     if (promiseFlag_ == false) {
27         promise_.set_value();
28         promiseFlag_ = true;
29     }
30 }
31 
SetSearchElementInfoByTextResult(const std::vector<AccessibilityElementInfo> & infos,const int32_t requestId)32 void AccessibilityElementOperatorCallbackImpl::SetSearchElementInfoByTextResult(
33     const std::vector<AccessibilityElementInfo> &infos, const int32_t requestId)
34 {
35     HILOG_DEBUG("Response [elementInfoSize:%{public}zu] [requestId:%{public}d]", infos.size(), requestId);
36     elementInfosResult_ = infos;
37     if (promiseFlag_ == false) {
38         promise_.set_value();
39         promiseFlag_ = true;
40     }
41 }
42 
SetSearchElementInfoByAccessibilityIdResult(const std::vector<AccessibilityElementInfo> & infos,const int32_t requestId)43 void AccessibilityElementOperatorCallbackImpl::SetSearchElementInfoByAccessibilityIdResult(
44     const std::vector<AccessibilityElementInfo> &infos, const int32_t requestId)
45 {
46     HILOG_DEBUG("Response[elementInfoSize:%{public}zu] [requestId:%{public}d]", infos.size(), requestId);
47     elementInfosResult_ = infos;
48     if (promiseFlag_ == false) {
49         promise_.set_value();
50         promiseFlag_ = true;
51     }
52 }
53 
SetSearchDefaultFocusByWindowIdResult(const std::vector<AccessibilityElementInfo> & infos,const int32_t requestId)54 void AccessibilityElementOperatorCallbackImpl::SetSearchDefaultFocusByWindowIdResult(
55     const std::vector<AccessibilityElementInfo> &infos, const int32_t requestId)
56 {
57     HILOG_DEBUG("Response[elementInfoSize:%{public}zu] [requestId:%{public}d]", infos.size(), requestId);
58     elementInfosResult_ = infos;
59     if (promiseFlag_ == false) {
60         promise_.set_value();
61         promiseFlag_ = true;
62     }
63 }
64 
SetFocusMoveSearchResult(const AccessibilityElementInfo & info,const int32_t requestId)65 void AccessibilityElementOperatorCallbackImpl::SetFocusMoveSearchResult(const AccessibilityElementInfo &info,
66     const int32_t requestId)
67 {
68     HILOG_DEBUG("Response [requestId:%{public}d]", requestId);
69     accessibilityInfoResult_ = info;
70     if (promiseFlag_ == false) {
71         promise_.set_value();
72         promiseFlag_ = true;
73     }
74 }
75 
SetExecuteActionResult(const bool succeeded,const int32_t requestId)76 void AccessibilityElementOperatorCallbackImpl::SetExecuteActionResult(const bool succeeded, const int32_t requestId)
77 {
78     HILOG_DEBUG("Response [requestId:%{public}d] result[%{public}d]", requestId, succeeded);
79     executeActionResult_ = succeeded;
80     if (promiseFlag_ == false) {
81         promise_.set_value();
82         promiseFlag_ = true;
83     }
84 }
85 
SetCursorPositionResult(const int32_t cursorPosition,const int32_t requestId)86 void AccessibilityElementOperatorCallbackImpl::SetCursorPositionResult(const int32_t cursorPosition,
87     const int32_t requestId)
88 {
89     HILOG_DEBUG("Response [requestId:%{public}d] cursorPosition[%{public}d]", requestId, cursorPosition);
90     CursorPosition_ = cursorPosition;
91     if (promiseFlag_ == false) {
92         promise_.set_value();
93         promiseFlag_ = true;
94     }
95 }
96 
SetSearchElementInfoBySpecificPropertyResult(const std::list<AccessibilityElementInfo> & infos,const std::list<AccessibilityElementInfo> & treeInfos,const int32_t requestId)97 void AccessibilityElementOperatorCallbackImpl::SetSearchElementInfoBySpecificPropertyResult(
98     const std::list<AccessibilityElementInfo> &infos, const std::list<AccessibilityElementInfo> &treeInfos,
99     const int32_t requestId)
100 {
101     HILOG_DEBUG("Response[elementInfoSize:%{public}zu] [treeInfoSize:%{public}zu] [requestId:%{public}d]",
102         infos.size(), treeInfos.size(), requestId);
103 
104     elementInfosResult_.assign(infos.begin(), infos.end());
105     treeInfosResult_.assign(treeInfos.begin(), treeInfos.end());
106     if (promiseFlag_ == false) {
107         promise_.set_value();
108         promiseFlag_ = true;
109     }
110 }
111 } // namespace Accessibility
112 } // namespace OHOS