Merge branch 'devel/master' into tizen
[platform/core/uifw/dali-adaptor.git] / dali / internal / styling / common / style-monitor-impl.cpp
index badca0c..3e9000d 100644 (file)
 #include <dali/internal/styling/common/style-monitor-impl.h>
 
 // EXTERNAL INCLUDES
-#include <dali/public-api/object/type-registry.h>
-#include <fstream>
-#include <sstream>
+#include <dali/devel-api/adaptor-framework/file-loader.h>
+#include <dali/devel-api/common/singleton-service.h>
 #include <dali/integration-api/debug.h>
+#include <dali/public-api/object/type-registry.h>
 
 // INTERNAL INCLUDES
 #include <dali/internal/adaptor/common/adaptor-impl.h>
-#include <dali/internal/system/common/singleton-service-impl.h>
 
 namespace Dali
 {
-
 namespace Internal
 {
-
 namespace Adaptor
 {
-
 namespace
 {
-
 #if defined(DEBUG_ENABLED)
 Dali::Integration::Log::Filter* gLogFilter = Dali::Integration::Log::Filter::New(Debug::NoLogging, false, "LOG_STYLE_MONITOR");
 #endif
@@ -49,12 +44,12 @@ Dali::Integration::Log::Filter* gLogFilter = Dali::Integration::Log::Filter::New
  * @param[in] fontClient handle to font client
  * @param[out] fontFamily string representing font family
  */
-void GetSystemDefaultFontFamily( TextAbstraction::FontClient& fontClient, std::string& fontFamily )
+void GetSystemDefaultFontFamily(TextAbstraction::FontClient& fontClient, std::string& fontFamily)
 {
   TextAbstraction::FontDescription defaultFontDescription;
-  if ( fontClient )
+  if(fontClient)
   {
-    fontClient.GetDefaultPlatformFontDescription( defaultFontDescription );
+    fontClient.GetDefaultPlatformFontDescription(defaultFontDescription);
     fontFamily = defaultFontDescription.family;
   }
 }
@@ -65,20 +60,20 @@ Dali::StyleMonitor StyleMonitor::Get()
 {
   Dali::StyleMonitor styleMonitor;
 
-  Dali::SingletonService service( SingletonService::Get() );
-  if( service )
+  Dali::SingletonService service(SingletonService::Get());
+  if(service)
   {
     // Check whether the singleton is already created
-    Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::StyleMonitor ) );
-    if( handle )
+    Dali::BaseHandle handle = service.GetSingleton(typeid(Dali::StyleMonitor));
+    if(handle)
     {
       // If so, downcast the handle
-      styleMonitor = Dali::StyleMonitor( dynamic_cast< StyleMonitor* >( handle.GetObjectPtr() ) );
+      styleMonitor = Dali::StyleMonitor(dynamic_cast<StyleMonitor*>(handle.GetObjectPtr()));
     }
     else
     {
-      styleMonitor = Dali::StyleMonitor( new StyleMonitor() );
-      service.Register( typeid( styleMonitor ), styleMonitor );
+      styleMonitor = Dali::StyleMonitor(new StyleMonitor());
+      service.Register(typeid(styleMonitor), styleMonitor);
     }
   }
 
@@ -89,8 +84,8 @@ StyleMonitor::StyleMonitor()
 : mDefaultFontSize(-1)
 {
   mFontClient = TextAbstraction::FontClient::Get();
-  GetSystemDefaultFontFamily( mFontClient, mDefaultFontFamily );
-  DALI_LOG_INFO( gLogFilter, Debug::Verbose, "StyleMonitor::StyleMonitor::DefaultFontFamily(%s)\n", mDefaultFontFamily.c_str() );
+  GetSystemDefaultFontFamily(mFontClient, mDefaultFontFamily);
+  DALI_LOG_INFO(gLogFilter, Debug::Verbose, "StyleMonitor::StyleMonitor::DefaultFontFamily(%s)\n", mDefaultFontFamily.c_str());
   mDefaultFontSize = mFontClient.GetDefaultFontSize();
 }
 
@@ -98,18 +93,18 @@ StyleMonitor::~StyleMonitor()
 {
 }
 
-void StyleMonitor::StyleChanged( StyleChange::Type styleChange )
+void StyleMonitor::StyleChanged(StyleChange::Type styleChange)
 {
-  switch ( styleChange )
+  switch(styleChange)
   {
     case StyleChange::DEFAULT_FONT_CHANGE:
     {
-      if ( mFontClient )
+      if(mFontClient)
       {
         mFontClient.ResetSystemDefaults();
-        GetSystemDefaultFontFamily( mFontClient, mDefaultFontFamily );
+        GetSystemDefaultFontFamily(mFontClient, mDefaultFontFamily);
       }
-      DALI_LOG_INFO( gLogFilter, Debug::Verbose, "StyleMonitor::StyleChanged::DefaultFontFamily(%s)\n", mDefaultFontFamily.c_str() );
+      DALI_LOG_INFO(gLogFilter, Debug::Verbose, "StyleMonitor::StyleChanged::DefaultFontFamily(%s)\n", mDefaultFontFamily.c_str());
       break;
     }
 
@@ -151,23 +146,21 @@ const std::string& StyleMonitor::GetTheme() const
 void StyleMonitor::SetTheme(const std::string& path)
 {
   mUserDefinedThemeFilePath = path;
-  EmitStyleChangeSignal( StyleChange::THEME_CHANGE );
+  EmitStyleChangeSignal(StyleChange::THEME_CHANGE);
 }
 
-bool StyleMonitor::LoadThemeFile( const std::string& filename, std::string& output )
+bool StyleMonitor::LoadThemeFile(const std::string& filename, std::string& output)
 {
-  bool retval( false );
-  std::ifstream in( filename.c_str(), std::ios::in );
-  if( in )
-  {
-    std::stringstream buffer;
-    buffer << in.rdbuf();
-
-    output = buffer.str();
+  bool retval(false);
 
-    in.close();
+  std::streampos     bufferSize = 0;
+  Dali::Vector<char> fileBuffer;
+  if(Dali::FileLoader::ReadFile(filename, bufferSize, fileBuffer, FileLoader::FileType::BINARY))
+  {
+    output.assign(&fileBuffer[0], bufferSize);
     retval = true;
   }
+
   return retval;
 }
 
@@ -176,13 +169,13 @@ Dali::StyleMonitor::StyleChangeSignalType& StyleMonitor::StyleChangeSignal()
   return mStyleChangeSignal;
 }
 
-void StyleMonitor::EmitStyleChangeSignal( StyleChange::Type styleChange )
+void StyleMonitor::EmitStyleChangeSignal(StyleChange::Type styleChange)
 {
-  if( !mStyleChangeSignal.Empty() )
+  if(!mStyleChangeSignal.Empty())
   {
-    DALI_LOG_INFO( gLogFilter, Debug::Verbose, "StyleMonitor::EmitStyleChangeSignal\n" );
-    Dali::StyleMonitor handle( this );
-    mStyleChangeSignal.Emit( handle, styleChange );
+    DALI_LOG_INFO(gLogFilter, Debug::Verbose, "StyleMonitor::EmitStyleChangeSignal\n");
+    Dali::StyleMonitor handle(this);
+    mStyleChangeSignal.Emit(handle, styleChange);
   }
 }