4 #include <atspi/atspi.h>
5 #include "AccessibleNode.h"
6 #include "AccessibleUtils.h"
17 #include <shared_mutex>
26 enum class WindowActivateInfoType {
27 DEFAULT_LABEL_ENALBED = 0x00,
28 DEFAULT_LABEL_ENALBED_WITHOUT_WINDOW = 0x01,
29 DEFAULT_LABEL_DISABLED = 0x02,
50 WindowActivateInfoType type) = 0;
113 std::unique_ptr<AccessibleNode>
getRootNode()
const;
118 std::vector<std::unique_ptr<AccessibleNode>>
getTopNode()
const;
125 WindowActivateInfoType type)
override;
148 bool visible)
override;
162 void clearWindowList()
const;
167 static void onAtspiWindowEvent(AtspiEvent *event,
void *user_data);
173 bool removeFromActivatedList(AtspiAccessible *node);
178 bool addToActivatedList(AtspiAccessible *node);
183 bool removeFromWindowSet(AtspiAccessible *node);
188 bool addToWindowSet(AtspiAccessible *node);
195 static AtspiEventListener * listener;
200 mutable std::list<AtspiAccessible *> mActivatedWindowList;
205 mutable std::list<AtspiAccessible *> mActivatedApplicationList;
210 mutable std::set<AtspiAccessible *> mWindowSet;;
215 GDBusProxy * mDbusProxy;
220 std::map<AtspiAccessible *, AccessibleNode *> mAccessibleNode;
225 mutable std::mutex mLock;