libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / src / Impl / Accessibility / AtspiAccessibleApplication.cc
1 #include "AtspiAccessibleApplication.h"
2 #include "AtspiAccessibleWindow.h"
3 #include <algorithm>
4 #include <vector>
5
6 #include <loguru.hpp>
7
8 AtspiAccessibleApplication::AtspiAccessibleApplication(std::shared_ptr<AccessibleNode> node)
9 : AccessibleApplication(node)
10 {
11 }
12
13 AtspiAccessibleApplication::~AtspiAccessibleApplication()
14 {
15 }
16
17 std::vector<std::shared_ptr<AccessibleWindow>> AtspiAccessibleApplication::getWindows(void)
18 {
19     std::vector<std::shared_ptr<AccessibleWindow>> ret{};
20     auto children = getAccessibleNode()->getChildren();
21
22     std::transform(children.begin(), children.end(), std::back_inserter(ret),
23         [&](auto child) {
24             return std::make_shared<AtspiAccessibleWindow>(this->shared_from_this(), child);
25         }
26     );
27
28     return ret;
29 }
30
31 std::string AtspiAccessibleApplication::getPackageName(void)
32 {
33     return getAccessibleNode()->getText();
34 }