libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / inc / Impl / Accessibility / AtspiAccessibleWatcher.h
similarity index 56%
rename from libaurum/inc/AccessibleWatcher.h
rename to libaurum/inc/Impl/Accessibility/AtspiAccessibleWatcher.h
index 9ee7d22..93ded42 100644 (file)
@@ -1,23 +1,17 @@
-#ifndef ACCESSIBLE_H
-#define ACCESSIBLE_H
+#pragma once
+#include "AccessibleNode.h"
+#include "AccessibleWatcher.h"
 
 #include <atspi/atspi.h>
-#include "AccessibleNode.h"
-#include "AccessibleUtils.h"
+#include <gio/gio.h>
 
-#include <list>
-#include <map>
+#include <mutex>
+#include <shared_mutex>
 #include <memory>
+#include <list>
 #include <vector>
 #include <set>
-
-
-#include <gio/gio.h>
-#include <mutex>
-#include <shared_mutex>
-#include "config.h"
-
-
+#include <map>
 
 /**
  * @brief WindowActivateInfoType enum class
@@ -46,147 +40,146 @@ public:
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual void onWindowActivated(AtspiAccessible *      node,
-                                   WindowActivateInfoType type) = 0;
+    virtual void onWindowActivated(AtspiAccessible* node, WindowActivateInfoType type) = 0;
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual void onWindowDeactivated(AtspiAccessible *node) = 0;
+    virtual void onWindowDeactivated(AtspiAccessiblenode) = 0;
 
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual void onWindowCreated(AtspiAccessible *node) = 0;
+    virtual void onWindowCreated(AtspiAccessiblenode) = 0;
 
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual void onWindowDestroyed(AtspiAccessible *node) = 0;
+    virtual void onWindowDestroyed(AtspiAccessiblenode) = 0;
 
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual void onVisibilityChanged(AtspiAccessible *node,
-                                     bool             visible) = 0;
+    virtual void onVisibilityChanged(AtspiAccessible* node, bool visible) = 0;
 
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual void onObjectDefunct(AtspiAccessible *node) = 0;
+    virtual void onObjectDefunct(AtspiAccessiblenode) = 0;
 };
 
-/**
- * @brief AccessibleWatcher class
- * @since_tizen 5.5
- */
-class AccessibleWatcher : public IAtspiEvents {
-private:
 
-    /**
-     * @brief TBD
-     * @since_tizen 5.5
-     */
-    AccessibleWatcher();
+class AtspiAccessibleWatcher : public AccessibleWatcher, public IAtspiEvents {
+public:
+    AtspiAccessibleWatcher();
+    virtual ~AtspiAccessibleWatcher();
 
 public:
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    static const AccessibleWatcher *getInstance();
-        /**
+    virtual int getApplicationCount(void) const override;
+
+    /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    virtual ~AccessibleWatcher();
+    virtual std::shared_ptr<AccessibleApplication> getApplicationAt(int index) const override;
 
-public:
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    std::unique_ptr<AccessibleNode> getRootNode() const;
+    virtual std::vector<std::shared_ptr<AccessibleApplication>> getApplications(void) const override;
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    std::vector<std::unique_ptr<AccessibleNode>> getTopNode() const;
+    //std::shared_ptr<AccessibleNode> getRootNode() const override;
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
+    //std::vector<std::shared_ptr<AccessibleNode>> getTopNode() const override;
+
 
-    void onWindowActivated(AtspiAccessible *      node,
-                                   WindowActivateInfoType type) override;
+public:
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    void onWindowDeactivated(AtspiAccessible *node) override;
+    static void onAtspiWindowEvent(AtspiEvent *event, void *user_data);
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
+    void onWindowActivated(AtspiAccessible* node, WindowActivateInfoType type) override;
 
-    void onWindowCreated(AtspiAccessible *node) override;
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    void onWindowDestroyed(AtspiAccessible *node) override;
+    void onWindowDeactivated(AtspiAccessible* node) override;
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
+    void onWindowCreated(AtspiAccessible* node) override;
 
-    void onVisibilityChanged(AtspiAccessible *node,
-                                     bool             visible) override;
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    void onObjectDefunct(AtspiAccessible *node) override;
+    void onWindowDestroyed(AtspiAccessible* node) override;
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
+    void onVisibilityChanged(AtspiAccessible* node, bool visible) override;
 
-    void printDbgInformation() const;
-
-private:
-    void        clearWindowList() const;
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-    static void onAtspiWindowEvent(AtspiEvent *event, void *user_data);
+    void onObjectDefunct(AtspiAccessible* node) override;
+
+private:
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
-
     bool removeFromActivatedList(AtspiAccessible *node);
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
     bool addToActivatedList(AtspiAccessible *node);
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
     bool removeFromWindowSet(AtspiAccessible *node);
+
     /**
      * @brief TBD
      * @since_tizen 5.5
      */
     bool addToWindowSet(AtspiAccessible *node);
 
+    void print_debug();
 
 private:
     /**
@@ -197,32 +190,28 @@ private:
     /**
      * @brief TBD
      */
-    mutable std::list<AtspiAccessible *>          mActivatedWindowList;
+    GDBusProxy *                                  mDbusProxy;
 
     /**
      * @brief TBD
      */
-    mutable std::list<AtspiAccessible *>          mActivatedApplicationList;
+    std::mutex                            mLock;
 
     /**
      * @brief TBD
      */
-    mutable std::set<AtspiAccessible *>           mWindowSet;;
+    std::list<AtspiAccessible *>          mActivatedWindowList;
 
     /**
      * @brief TBD
      */
-    GDBusProxy *                                  mDbusProxy;
+    std::list<AtspiAccessible *>          mActivatedApplicationList;
 
     /**
      * @brief TBD
      */
-    std::map<AtspiAccessible *, AccessibleNode *> mAccessibleNode;
+    std::set<AtspiAccessible *>            mWindowSet;
 
-    /**
-     * @brief TBD
-     */
-    mutable std::mutex                            mLock;
-};
+    std::map<AtspiAccessible *, AtspiAccessible *> mWindowAppMap;
 
-#endif
+};
\ No newline at end of file