[dali_1.0.15] Merge branch 'tizen'
[platform/core/uifw/dali-core.git] / dali / public-api / object / base-object.cpp
index 6398436..4535bbe 100644 (file)
@@ -80,10 +80,25 @@ const std::string& BaseObject::GetTypeName() const
     }
   }
 
-  // We should not reach here
-  static const std::string INVALID_NAME;
-  DALI_LOG_ERROR( "TypeName Not Found\n" );
-  return INVALID_NAME;
+  // Return an empty string if type-name not found.
+  DALI_LOG_WARNING( "TypeName Not Found\n" );
+  return String::EMPTY;
+}
+
+bool BaseObject::GetTypeInfo(Dali::TypeInfo& typeInfo) const
+{
+  Dali::Internal::TypeRegistry* registry = Dali::Internal::TypeRegistry::Get();
+
+  Dali::TypeInfo info = registry->GetTypeInfo(this);
+  if(info)
+  {
+    typeInfo = info;
+    return true;
+  }
+  else
+  {
+    return false;
+  }
 }
 
 bool BaseObject::DoConnectSignal( ConnectionTrackerInterface* connectionTracker, const std::string& signalName, FunctorDelegate* functor )