Remove use of map-wrapper in adaptor
[platform/core/uifw/dali-adaptor.git] / adaptors / common / object-profiler.cpp
index a5f101c..47c771c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 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.
@@ -22,7 +22,6 @@
 #include <stdlib.h>
 #include <dali/integration-api/debug.h>
 #include <dali/integration-api/profiling.h>
-#include <dali/public-api/actors/image-actor.h>
 #include <dali/public-api/common/stage.h>
 #include <dali/public-api/object/ref-object.h>
 #include <dali/public-api/object/base-object.h>
@@ -58,46 +57,21 @@ ObjectProfiler::~ObjectProfiler()
 
 void ObjectProfiler::DisplayInstanceCounts()
 {
-  InstanceCountMapIterator iter = mInstanceCountMap.begin();
-  InstanceCountMapIterator end = mInstanceCountMap.end();
-
-  for( ; iter != end; iter++ )
+  for( auto&& element : mInstanceCountContainer )
   {
-    int memorySize = GetMemorySize(iter->first, iter->second);
+    int memorySize = GetMemorySize( element.first, element.second );
     if( memorySize > 0 )
     {
       LogMessage( Debug::DebugInfo, "%-30s: % 4d  Memory MemorySize: ~% 6.1f kB\n",
-                  iter->first.c_str(), iter->second, memorySize / 1024.0f );
+                  element.first.c_str(), element.second, memorySize / 1024.0f );
     }
     else
     {
       LogMessage( Debug::DebugInfo, "%-30s: % 4d\n",
-                  iter->first.c_str(), iter->second );
+                  element.first.c_str(), element.second );
     }
   }
   LogMessage(Debug::DebugInfo, "\n");
-
-  int quadCount = 0;
-
-  // Count number of quads:
-
-  for( InstanceTypes::iterator iter = mInstanceTypes.begin(), end = mInstanceTypes.end(); iter != end; ++iter )
-  {
-    if( iter->second.compare("ImageActor") == 0 )
-    {
-      BaseHandle handle(iter->first);
-      Dali::ImageActor imageActor = Dali::ImageActor::DownCast(handle);
-      if( imageActor )
-      {
-        if( imageActor.GetStyle() == Dali::ImageActor::STYLE_QUAD )
-        {
-          quadCount++;
-        }
-      }
-    }
-  }
-
-  LogMessage(Debug::DebugInfo, "Number of image actors using Quad style: %d\n", quadCount);
 }
 
 bool ObjectProfiler::OnTimeout()
@@ -117,15 +91,19 @@ void ObjectProfiler::OnObjectCreated(BaseHandle handle)
 
   mInstanceTypes.push_back(InstanceTypePair(&handle.GetBaseObject(), theType));
 
-  InstanceCountMapIterator iter = mInstanceCountMap.find(theType);
-  if( iter == mInstanceCountMap.end() )
+  bool found = false;
+  for( auto&& element : mInstanceCountContainer )
   {
-    InstanceCountPair instanceCount(theType, 1);
-    mInstanceCountMap.insert(instanceCount);
+    if( element.first == theType )
+    {
+      element.second++;
+      found = true;
+    }
   }
-  else
+  if( !found )
   {
-    iter->second++;
+    InstanceCountPair instanceCount( theType, 1 );
+    mInstanceCountContainer.emplace_back( instanceCount );
   }
 }
 
@@ -133,22 +111,25 @@ void ObjectProfiler::OnObjectDestroyed(const Dali::RefObject* object)
 {
   const BaseObject* baseObject = static_cast<const BaseObject*>(object);
 
-  InstanceTypes::iterator end = mInstanceTypes.end();
-  for( InstanceTypes::iterator iter = mInstanceTypes.begin(); iter != end; iter++)
+  const auto end = mInstanceTypes.end();
+  for( auto iter = mInstanceTypes.begin(); iter != end; ++iter )
   {
     if( iter->first == baseObject )
     {
-      const std::string& theType = iter->second;
+      const auto& theType = iter->second;
       if( !theType.empty() )
       {
-        InstanceCountMapIterator countIter = mInstanceCountMap.find(theType);
-        if( countIter != mInstanceCountMap.end() )
+        auto&& countIter = std::find_if( mInstanceCountContainer.begin(),
+                                         mInstanceCountContainer.end(),
+                                         [theType] ( const InstanceCountPair& instance )
+                                                   { return instance.first == theType; } );
+        if( countIter != mInstanceCountContainer.end() )
         {
-          countIter->second--;
+          (*countIter).second--;
         }
       }
       mInstanceTypes.erase( iter );
-      break;
+      return;
     }
   }
 }
@@ -167,11 +148,13 @@ int ObjectProfiler::GetMemorySize(const std::string& name, int count)
       { "Actor", ACTOR_MEMORY_SIZE },
       { "Layer", LAYER_MEMORY_SIZE },
       { "CameraActor", CAMERA_ACTOR_MEMORY_SIZE },
-      { "ImageActor", IMAGE_ACTOR_MEMORY_SIZE },
-      { "MeshActor", MESH_ACTOR_MEMORY_SIZE },
       { "Image", IMAGE_MEMORY_SIZE },
-      { "Mesh", MESH_MEMORY_SIZE },
-      { "Material", MATERIAL_MEMORY_SIZE },
+      { "Renderer", RENDERER_MEMORY_SIZE },
+      { "Geometry", GEOMETRY_MEMORY_SIZE },
+      { "PropertyBuffer", PROPERTY_BUFFER_MEMORY_SIZE },
+      { "TextureSet", TEXTURE_SET_MEMORY_SIZE },
+      { "Sampler", SAMPLER_MEMORY_SIZE },
+      { "Shader", SHADER_MEMORY_SIZE },
     };
 
   for( size_t i=0; i<sizeof(memoryMemorySizes)/sizeof(MemoryMemorySize); i++ )