2 * Copyright (c) 2024 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef _ATSPI_ACCESSIBLE_NODE_H_
19 #define _ATSPI_ACCESSIBLE_NODE_H_
21 #include "AccessibleNode.h"
22 #include <atspi/atspi.h>
24 using namespace Aurum;
26 namespace AurumInternal {
29 * @brief AtspiAccessibleNode is inherited from AccessibleNode class.
30 * It manages object informations which from atspi server.
34 class AtspiAccessibleNode : public AccessibleNode {
37 * @brief AtspiAccessibleNode constructor.
39 * @param[in] node AtspiAccessible ptr
43 AtspiAccessibleNode(AtspiAccessible *node);
46 * @brief AtspiAccessibleNode destructor.
50 ~AtspiAccessibleNode() override;
54 * @copydoc UiObject::getChildCount()
56 int getChildCount() const override;
59 * @copydoc UiObject::getChildAt()
61 std::shared_ptr<AccessibleNode> getChildAt(int index) const override;
64 * @copydoc UiObject::getChildren()
66 std::vector<std::shared_ptr<AccessibleNode>> getChildren() const override;
69 * @copydoc UiObject::getParent()
71 std::shared_ptr<AccessibleNode> getParent() const override;
74 * @copydoc UiObject::getMatches()
76 std::vector<std::shared_ptr<AccessibleNode>> getMatches(const std::shared_ptr<UiSelector> selector, const bool ealryReturn) const override;
79 * @copydoc UiObject::getMatchesInMatches()
81 std::vector<std::shared_ptr<AccessibleNode>> getMatchesInMatches(const std::shared_ptr<UiSelector> firstSelector, const std::shared_ptr<UiSelector> secondSelector, const bool ealryReturn) const override;
84 * @copydoc AccessibleNode::isValid()
86 bool isValid() const override;
90 * @copydoc AccessibleNode::getRawHandler()
92 void* getRawHandler(void) const override;
95 * @copydoc UiObject::updateRoleName()
97 void updateRoleName() override;
100 * @copydoc UiObject::updateUniqueId()
102 void updateUniqueId() override;
105 * @copydoc UiObject::updateName()
107 void updateName() override;
110 * @copydoc UiObject::updateApplication()
112 void updateApplication() override;
115 * @copydoc UiObject::updateAttributes()
117 void updateAttributes() override;
120 * @copydoc UiObject::updateStates()
122 void updateStates() override;
125 * @copydoc UiObject::updateExtents()
127 void updateExtents() override;
130 * @copydoc UiObject::updateXPath()
132 void updateXPath() override;
135 * @copydoc UiObject::updateToolkitName()
137 void updateToolkitName() override;
140 * @copydoc UiObject::updateValue()
142 void updateValue() override;
145 * @copydoc UiObject::updatePid()
147 void updatePid() override;
150 * @copydoc UiObject::updateTextMinBoundingRect()
152 void updateTextMinBoundingRect() override;
155 * @copydoc UiObject::updateInterface()
157 void updateInterface() override;
160 * @copydoc UiObject::setFocus()
162 bool setFocus() override;
165 * @copydoc AccessibleNode::refresh()
167 void refresh(bool updateAll = true) override;
170 * @copydoc AccessibleNode::getActions()
172 std::vector<std::string> getActions() const override;
175 * @copydoc AccessibleNode::doAction()
177 bool doAction(std::string action) override;
180 * @copydoc AccessibleNode::setValue()
182 bool setValue(std::string text) override;
185 * @copydoc AccessibleNode::setValue()
187 bool setValue(double value) override;
190 using AccessibleNode::setFeatureProperty;
193 * @copydoc AccessibleNode::setFeatureProperty()
195 void setFeatureProperty(AtspiStateType type);
198 AtspiAccessible *mNode;