2 #include "AccessibleWatcher.h"
5 #include "AtspiAccessibleWatcher.h"
8 #include "MockAccessibleWatcher.h"
18 AccessibleWatcher::~AccessibleWatcher()
23 void AccessibleWatcher::printDbgInformation() const
25 LOG_SCOPE_F(INFO, "%d %d", mActivatedWindowList.size(), mWindowSet.size());
27 for (auto iter = mActivatedWindowList.begin(); iter != mActivatedWindowList.end(); ++iter) {
28 LOG_F(INFO, "%p", *iter);
30 LOG_F(INFO, "-----------");
32 for (auto iter = mWindowSet.begin(); iter != mWindowSet.end(); ++iter) {
33 LOG_F(INFO, "%p", *iter);
38 const AccessibleWatcher *AccessibleWatcher::getInstance(AccessibleWatcher *watcherImpl)
40 printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
41 static AccessibleWatcher *mInstance = nullptr;
44 mInstance = watcherImpl;
47 if (mInstance) return mInstance;
50 mInstance = new AtspiAccessibleWatcher();
52 mInstance = new MockAccessibleWatcher();
56 printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
60 std::vector<std::shared_ptr<AccessibleApplication>> AccessibleWatcher::getActiveApplications(void) const
62 LOG_SCOPE_F(INFO, "getActiveApplications for this(%p)", this);
64 std::vector<std::shared_ptr<AccessibleApplication>> ret{};
65 auto apps = this->getApplications();
66 LOG_F(INFO, "apps size %d", apps.size());
68 apps.erase(std::remove_if(apps.begin(), apps.end(), [](auto app){
69 return !app->isActive();
72 LOG_F(INFO, "active apps size %d", apps.size());