tizen 2.4 release
[framework/web/wrt-plugins-common.git] / src / Commons / Emitters.h
similarity index 88%
rename from src_mobile/Commons/Emitters.h
rename to src/Commons/Emitters.h
index 7b1d8c2..8069e78 100644 (file)
@@ -23,8 +23,7 @@
 #include <cstddef>
 #include <map>
 #include <memory>
-#include <dpl/mutex.h>
-#include <dpl/shared_ptr.h>
+#include <mutex>
 #include <Commons/ListenerEventEmitter.h>
 
 namespace WrtDeviceApis {
@@ -38,16 +37,16 @@ class Emitters
 {
   public:
     typedef EmitterClass EmitterType;
-    typedef DPL::SharedPtr<EmitterType>           EmitterPtrType;
+    typedef std::shared_ptr<EmitterType>           EmitterPtrType;
     typedef typename EmitterType::IdType EmitterIdType;
     typedef typename EmitterType::EventType EventType;
     typedef typename EmitterType::EventPtrType EventPtrType;
-    typedef std::auto_ptr<DPL::Mutex::ScopedLock> LockType;
+    typedef std::shared_ptr<std::lock_guard<std::mutex>> LockType;
 
   public:
     ~Emitters()
     {
-        DPL::Mutex::ScopedLock lock(&m_mtx);
+        std::lock_guard<std::mutex> lock(m_mtx);
         m_emitters.clear();
     }
 
@@ -58,7 +57,7 @@ class Emitters
      */
     void attach(const EmitterPtrType& emitter)
     {
-        DPL::Mutex::ScopedLock lock(&m_mtx);
+        std::lock_guard<std::mutex> lock(m_mtx);
         m_emitters[emitter->getId()] = emitter;
     }
 
@@ -71,7 +70,7 @@ class Emitters
      */
     bool detach(const EmitterIdType id)
     {
-        DPL::Mutex::ScopedLock lock(&m_mtx);
+        std::lock_guard<std::mutex> lock(m_mtx);
         return (m_emitters.erase(id) > 0);
     }
 
@@ -82,7 +81,7 @@ class Emitters
      */
     void emit(const EventPtrType& event)
     {
-        DPL::Mutex::ScopedLock lock(&m_mtx);
+        std::lock_guard<std::mutex> lock(m_mtx);
         for (Iterator it = m_emitters.begin(); it != m_emitters.end(); ++it) {
             it->second->emit(event);
         }
@@ -100,7 +99,7 @@ class Emitters
     void emitIf(const EventPtrType& event,
                 Predicate pred)
     {
-        DPL::Mutex::ScopedLock lock(&m_mtx);
+        std::lock_guard<std::mutex> lock(m_mtx);
         for (Iterator it = m_emitters.begin(); it != m_emitters.end(); ++it) {
             if (bool(pred(it->second))) {
                 it->second->emit(event);
@@ -140,7 +139,7 @@ class Emitters
      */
     LockType getLock()
     {
-        return LockType(new DPL::Mutex::ScopedLock(&m_mtx));
+        return LockType(new std::lock_guard<std::mutex>(m_mtx));
     }
 
   private:
@@ -149,7 +148,7 @@ class Emitters
     typedef typename Map::const_iterator ConstIterator;
 
   private:
-    DPL::Mutex m_mtx; ///< Synchronizes operation on this object.
+    std::mutex m_mtx; ///< Synchronizes operation on this object.
     Map m_emitters; ///< Emitters container.
 };
 }