Remove use of map-wrapper in adaptor
[platform/core/uifw/dali-adaptor.git] / adaptors / common / object-profiler.h
index 63235d2..13a78c0 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_ADAPTOR_OBJECT_PROFILER_H__
 
 /*
- * 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.
  *
  */
 
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/vector-wrapper.h>
 #include <dali/public-api/object/object-registry.h>
 #include <dali/public-api/object/type-registry.h>
-#include <dali/public-api/common/map-wrapper.h>
 #include <dali/public-api/signals/connection-tracker.h>
+
+// INTERNAL INCLUDES
 #include <timer.h>
 
 namespace Dali
@@ -37,10 +40,12 @@ namespace Adaptor
 class ObjectProfiler : public ConnectionTracker
 {
 public:
+
   /**
    * Constructor
+   * @param timeInterval to specify the frequency of reporting
    */
-  ObjectProfiler();
+  ObjectProfiler( unsigned int timeInterval );
 
   /**
    * Destructor
@@ -76,17 +81,14 @@ private:
   int GetMemorySize(const std::string& name, int count);
 
 private:
-  typedef std::map<std::string, int> InstanceCountMap;
-  typedef std::pair<const std::string, int> InstanceCountPair;
-  typedef InstanceCountMap::iterator InstanceCountMapIterator;
-  typedef std::pair<BaseObject*, std::string> InstanceTypePair;
-  typedef std::vector<InstanceTypePair> InstanceTypes;
+
+  using InstanceCountPair = std::pair< const std::string, int >;
+  using InstanceTypePair = std::pair< BaseObject*, std::string >;
 
   Dali::ObjectRegistry    mObjectRegistry;
   Dali::Timer             mTimer;
-  InstanceCountMap        mInstanceCountMap;
-  InstanceTypes           mInstanceTypes;
-  bool                    mIsActive;
+  std::vector< InstanceCountPair > mInstanceCountContainer;
+  std::vector< InstanceTypePair >  mInstanceTypes;
 };
 
 } // Adaptor