Removal of unnecessary set and map wrappers 55/131355/2
authorKimmo Hoikka <kimmo.hoikka@samsung.com>
Fri, 26 May 2017 12:58:02 +0000 (13:58 +0100)
committerKimmo Hoikka <kimmo.hoikka@samsung.com>
Fri, 26 May 2017 16:39:10 +0000 (17:39 +0100)
Change-Id: I80338abf1574e3560f400fde69a33787bfc9509a

plugins/dali-script-v8/src/garbage-collector/garbage-collector.cpp
plugins/dali-script-v8/src/garbage-collector/garbage-collector.h

index ffc118d..cc7988d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -38,25 +38,31 @@ GarbageCollector::~GarbageCollector()
 
 void GarbageCollector::Register( BaseWrappedObject* object )
 {
-  mObjectMap.insert( object );
+  mObjectMap.PushBack( object );
 };
 
 
 void GarbageCollector::UnRegister( BaseWrappedObject* object )
 {
-  mObjectMap.erase( object );
+  for( ObjectMap::Iterator iter = mObjectMap.Begin(); iter != mObjectMap.End(); ++iter )
+  {
+    if( *iter == object )
+    {
+      mObjectMap.Erase( iter );
+      return;
+    }
+  }
 }
 
 
 void GarbageCollector::GarbageCollect()
 {
-  for( ObjectMap::iterator iter = mObjectMap.begin(); iter != mObjectMap.end();  )
+  for( ObjectMap::Iterator iter = mObjectMap.Begin(); iter != mObjectMap.End(); ++iter )
   {
     BaseWrappedObject* object = *iter;
-    iter++; // iterator will be invalidated if we delete the object first.
     delete object; // object will call GarbageCollector.UnRegister
   }
-
+  mObjectMap.Clear();
 }
 
 } // V8Plugin
index 24cf638..d28faf3 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_V8PLUGIN_GARBAGE_COLLECTOR_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  *
  */
 
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/dali-vector.h>
 
 // INTERNAL INCLUDES
 #include <interfaces/garbage-collector-interface.h>
-#include <dali/devel-api/common/set-wrapper.h>
-
 
 namespace Dali
 {
@@ -64,13 +64,12 @@ public:
    */
   virtual void GarbageCollect();
 
-
 private:
 
   /**
    * Map between dali wrapped object (void *)
    */
-  typedef std::set< BaseWrappedObject* > ObjectMap;
+  typedef Dali::Vector< BaseWrappedObject* > ObjectMap;
   ObjectMap mObjectMap;   ///< lookup
 
 };