libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / inc / Accessibility / AccessibleWatcher.h
1 #ifndef ACCESSIBLE_H
2 #define ACCESSIBLE_H
3
4
5 #include "AccessibleApplication.h"
6 #include "AccessibleWindow.h"
7 #include "AccessibleNode.h"
8
9 #include "AccessibleUtils.h"
10
11 #include <memory>
12 #include <vector>
13
14
15 #include "config.h"
16
17
18 /**
19  * @brief AccessibleWatcher class
20  * @since_tizen 5.5
21  */
22 class AccessibleWatcher {
23 public:
24     /**
25      * @brief TBD
26      * @since_tizen 5.5
27      */
28     virtual ~AccessibleWatcher();
29
30     /**
31      * @brief TBD
32      * @since_tizen 5.5
33      */
34     static const AccessibleWatcher *getInstance(AccessibleWatcher *watcherImpl = nullptr);
35
36 public:
37     /**
38      * @brief TBD
39      * @since_tizen 5.5
40      */
41     virtual int getApplicationCount(void) const = 0;
42
43     /**
44      * @brief TBD
45      * @since_tizen 5.5
46      */
47     virtual std::shared_ptr<AccessibleApplication> getApplicationAt(int index) const = 0;
48
49     /**
50      * @brief TBD
51      * @since_tizen 5.5
52      */
53     virtual std::vector<std::shared_ptr<AccessibleApplication>> getApplications(void) const = 0;
54
55 public:
56     /**
57      * @brief TBD
58      * @since_tizen 5.5
59      */
60     virtual std::vector<std::shared_ptr<AccessibleApplication>> getActiveApplications(void) const;
61 };
62
63 #endif