libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / src / Impl / Accessibility / MockAccessibleApplication.cc
1 #include "MockAccessibleApplication.h"
2 #include "MockAccessibleWindow.h"
3 #include "MockAccessibleNode.h"
4
5 #include <algorithm>
6
7 #include <loguru.hpp>
8
9 MockAccessibleApplication::MockAccessibleApplication(std::shared_ptr<AccessibleNode> node)
10 : AccessibleApplication(node), mWindowList{}
11 {
12     printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
13 }
14
15 MockAccessibleApplication::~MockAccessibleApplication()
16 {
17     printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
18 }
19
20 std::vector<std::shared_ptr<AccessibleWindow>> MockAccessibleApplication::getWindows(void)
21 {
22     printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
23     return mWindowList;
24 }
25 /*
26 std::vector<std::shared_ptr<AccessibleWindow>> MockAccessibleApplication::getActiveWindows(void)
27 {
28     printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
29
30     std::vector<std::shared_ptr<AccessibleWindow>> ret{};
31
32     auto children = getWindows();
33
34     children.erase(std::remove_if(children.begin(), children.end(), [](auto child){
35                         return !(child->isActive()); // && child->isShowing() && child->isVisible());
36                     }), children.end());
37
38     LOG_SCOPE_F(INFO, "getActiveWindows app(%s) for %p, size:%d", getPackageName().c_str(), getAccessibleNode()->getRawHandler(), children.size());
39
40     // std::transform(children.begin(), children.end(), std::back_inserter(ret),
41     //     [&](std::shared_ptr<AccessibleNode> child) {
42     //         return std::make_shared<MockAccessibleWindow>(this->shared_from_this(), child);
43     //     }
44     // );
45
46     return ret;
47 }
48 */
49 std::string MockAccessibleApplication::getPackageName(void)
50 {
51     printf("%s:%d / %s\n",__FILE__, __LINE__, __PRETTY_FUNCTION__);
52     return "This.Is.Mock.Application";
53 }
54
55 void MockAccessibleApplication::addWindow(std::shared_ptr<AccessibleWindow> window)
56 {
57     mWindowList.push_back(window);
58     // auto node = getAccessibleNode();
59     // auto node2 = dynamic_cast<std::shared_ptr<MockAccessibleNode>>(node);
60     // node2->addChild(window->getNode());
61 }
62 void MockAccessibleApplication::clearWindows(void)
63 {
64     mWindowList.clear();
65 }