Merge branch 'devel/master' into tizen_4.0 23/148923/1
authorHeeyong Song <heeyong.song@samsung.com>
Mon, 11 Sep 2017 06:51:13 +0000 (15:51 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Mon, 11 Sep 2017 06:51:18 +0000 (15:51 +0900)
Change-Id: I7c1224356c85e314eda4d21e808668cb53454a04

33 files changed:
adaptors/common/adaptor-impl.cpp
adaptors/common/adaptor-impl.h
adaptors/common/adaptor.cpp
adaptors/common/feedback/feedback-plugin-proxy.cpp
adaptors/common/gl/egl-implementation.cpp
adaptors/common/key-impl.cpp
adaptors/common/locale-utils.cpp
adaptors/common/locale-utils.h
adaptors/common/video-player-impl.cpp
adaptors/devel-api/adaptor-framework/tilt-sensor.cpp
adaptors/devel-api/adaptor-framework/tilt-sensor.h
adaptors/ecore/common/ecore-virtual-keyboard.cpp
adaptors/ecore/wayland/imf-manager-impl-ecore-wl.cpp
adaptors/ecore/wayland/window-impl-ecore-wl.cpp
adaptors/integration-api/adaptor.h
adaptors/public-api/dali-adaptor-version.cpp
adaptors/tizen/adaptor-impl-tizen.cpp
adaptors/tizen/tilt-sensor-impl-tizen.cpp
adaptors/tizen/tilt-sensor-impl.h
adaptors/ubuntu/adaptor-impl-ubuntu.cpp
adaptors/ubuntu/tilt-sensor-impl-ubuntu.cpp
adaptors/ubuntu/tilt-sensor-impl.h
adaptors/x11/imf-manager-impl-x.cpp
automated-tests/src/dali-adaptor-internal/utc-Dali-TiltSensor.cpp
build/tizen/Makefile.am
build/tizen/adaptor/Makefile.am
build/tizen/adaptor/configure.ac
build/tizen/adaptor/dali-adaptor-cxx03.pc.in [new file with mode: 0644]
build/tizen/adaptor/dali-adaptor-integration-cxx03.pc.in [new file with mode: 0644]
build/tizen/plugins/Makefile.am
build/tizen/plugins/configure.ac
packaging/dali-adaptor.spec
platform-abstractions/tizen/image-loaders/loader-ktx.cpp

index 08fe0e0..3d8f002 100644 (file)
@@ -20,6 +20,9 @@
 
 // EXTERNAL INCLUDES
 #include <dali/public-api/common/dali-common.h>
+#include <dali/public-api/common/stage.h>
+#include <dali/public-api/actors/layer.h>
+#include <dali/devel-api/actors/actor-devel.h>
 #include <dali/integration-api/debug.h>
 #include <dali/integration-api/core.h>
 #include <dali/integration-api/context-notifier.h>
@@ -55,6 +58,8 @@
 #include <tizen-logging.h>
 #include <image-loading.h>
 
+#include <locale-utils.h>
+
 using Dali::TextAbstraction::FontClient;
 
 namespace Dali
@@ -190,6 +195,8 @@ void Adaptor::Initialize( Dali::Configuration::ContextLoss configuration )
   {
     Dali::SetMaxTextureSize( mEnvironmentOptions->GetMaxTextureSize() );
   }
+
+  SetupSystemInformation();
 }
 
 Adaptor::~Adaptor()
@@ -737,6 +744,11 @@ void Adaptor::NotifyLanguageChanged()
   mLanguageChangedSignal.Emit( mAdaptor );
 }
 
+void Adaptor::RenderOnce()
+{
+  RequestUpdateOnce();
+}
+
 void Adaptor::RequestUpdateOnce()
 {
   if( PAUSED_WHILE_HIDDEN != mState )
@@ -824,6 +836,14 @@ float Adaptor::GetStereoBase() const
   return mCore->GetStereoBase();
 }
 
+void Adaptor::SetRootLayoutDirection( std::string locale )
+{
+  Dali::Stage stage = Dali::Stage::GetCurrent();
+
+  stage.GetRootLayer().SetProperty( DevelActor::Property::LAYOUT_DIRECTION,
+                                    static_cast< DevelActor::LayoutDirection::Type >( Internal::Adaptor::Locale::GetDirection( std::string( locale ) ) ) );
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index f48f29e..3ace87b 100644 (file)
@@ -345,6 +345,17 @@ public:
    */
   void SurfaceResizeComplete( Dali::Adaptor::SurfaceSize surfaceSize );
 
+  /**
+   * Sets layout direction of root by system language
+   * @param[in] locale System locale
+   */
+  void SetRootLayoutDirection( std::string locale );
+
+  /**
+   * @copydoc Dali::Adaptor::RenderOnce
+   */
+  void RenderOnce();
+
 public:  //AdaptorInternalServices
 
   /**
@@ -516,6 +527,11 @@ private:
    */
   void GetDataStoragePath(std::string& path);
 
+  /**
+   * Sets up system information if needs
+   */
+  void SetupSystemInformation();
+
 private:
 
   /**
index 847f42e..78c33ab 100644 (file)
@@ -184,6 +184,11 @@ void Adaptor::SetStereoBase(  float stereoBase )
   mImpl->SetStereoBase( stereoBase );
 }
 
+void Adaptor::RenderOnce()
+{
+  mImpl->RenderOnce();
+}
+
 Adaptor::Adaptor()
 : mImpl( NULL )
 {
index 2777e21..6179d0e 100644 (file)
@@ -31,7 +31,11 @@ namespace Internal
 namespace Adaptor
 {
 
+#if _GLIBCXX_USE_CXX11_ABI
 const char * const FeedbackPluginProxy::DEFAULT_OBJECT_NAME( "libdali-feedback-plugin.so" );
+#else
+const char * const FeedbackPluginProxy::DEFAULT_OBJECT_NAME( "libdali-feedback-plugin-cxx03.so" );
+#endif
 
 FeedbackPluginProxy::FeedbackPluginProxy( const std::string& sharedObjectName )
 : mInitializeAttempted( false ),
index dd2a59e..b55470b 100644 (file)
@@ -155,6 +155,8 @@ void EglImplementation::DestroySurface()
 {
   if(mIsOwnSurface && mCurrentEglSurface)
   {
+    // Make context null to prevent crash in driver side
+    MakeContextNull();
     eglDestroySurface( mEglDisplay, mCurrentEglSurface );
     mCurrentEglSurface = 0;
   }
@@ -221,9 +223,7 @@ void EglImplementation::TerminateGles()
 {
   if ( mGlesInitialized )
   {
-    // in latest Mali DDK (r2p3 ~ r3p0 in April, 2012),
-    // MakeContextNull should be called before eglDestroy surface
-    // to prevent crash in _mali_surface_destroy_callback
+    // Make context null to prevent crash in driver side
     MakeContextNull();
 
     if(mIsOwnSurface && mCurrentEglSurface)
index d50b52e..12a3538 100644 (file)
@@ -45,7 +45,11 @@ Debug::Filter* gKeyExtensionLogFilter = Debug::Filter::New(Debug::NoLogging, fal
 #endif
 
 // Path for loading extension keys
+#if _GLIBCXX_USE_CXX11_ABI
 const char* KEY_EXTENSION_PLUGIN_SO( "libdali-key-extension.so" );
+#else
+const char* KEY_EXTENSION_PLUGIN_SO( "libdali-key-extension-cxx03.so" );
+#endif
 
 class KeyMap
 {
index d14856b..a036736 100644 (file)
@@ -33,128 +33,125 @@ namespace Locale
 namespace
 {
 
-struct LocaleDirection
+struct LocaleDirectionInfo
 {
   const char * locale;
   const char * name;
-  Dali::ImfManager::TextDirection direction;
+  Locale::Direction direction;
 };
 
-const LocaleDirection LOCALE_DIRECTION_LOOKUP_TABLE[] =
+const LocaleDirectionInfo LOCALE_DIRECTION_LOOKUP_TABLE[] =
 {
-  { "af", "Afrikaans",          Dali::ImfManager::LeftToRight },
-  { "am", "Amharic",            Dali::ImfManager::LeftToRight },
-  { "ar", "Arabic",             Dali::ImfManager::RightToLeft },
-  { "as", "Assamese",           Dali::ImfManager::LeftToRight },
-  { "az", "Azeri",              Dali::ImfManager::LeftToRight },
-  { "be", "Belarusian",         Dali::ImfManager::LeftToRight },
-  { "bg", "Bulgarian",          Dali::ImfManager::LeftToRight },
-  { "bn", "Bengali",            Dali::ImfManager::LeftToRight },
-  { "bo", "Tibetan",            Dali::ImfManager::LeftToRight },
-  { "bs", "Bosnian",            Dali::ImfManager::LeftToRight },
-  { "ca", "Catalan",            Dali::ImfManager::LeftToRight },
-  { "cs", "Czech",              Dali::ImfManager::LeftToRight },
-  { "cy", "Welsh",              Dali::ImfManager::LeftToRight },
-  { "da", "Danish",             Dali::ImfManager::LeftToRight },
-  { "de", "German",             Dali::ImfManager::LeftToRight },
-  { "dv", "Divehi",             Dali::ImfManager::RightToLeft },
-  { "el", "Greek",              Dali::ImfManager::LeftToRight },
-  { "en", "English",            Dali::ImfManager::LeftToRight },
-  { "es", "Spanish",            Dali::ImfManager::LeftToRight },
-  { "et", "Estonian",           Dali::ImfManager::LeftToRight },
-  { "eu", "Basque",             Dali::ImfManager::LeftToRight },
-  { "fa", "Farsi",              Dali::ImfManager::RightToLeft },
-  { "fi", "Finnish",            Dali::ImfManager::LeftToRight },
-  { "fo", "Faroese",            Dali::ImfManager::LeftToRight },
-  { "fr", "French",             Dali::ImfManager::LeftToRight },
-  { "gd", "Gaelic",             Dali::ImfManager::LeftToRight },
-  { "gl", "Galician",           Dali::ImfManager::LeftToRight },
-  { "gn", "Guarani",            Dali::ImfManager::LeftToRight },
-  { "gu", "Gujarati",           Dali::ImfManager::LeftToRight },
-  { "he", "Hebrew",             Dali::ImfManager::RightToLeft },
-  { "hi", "Hindi",              Dali::ImfManager::LeftToRight },
-  { "hr", "Croatian",           Dali::ImfManager::LeftToRight },
-  { "hu", "Hungarian",          Dali::ImfManager::LeftToRight },
-  { "hy", "Armenian",           Dali::ImfManager::LeftToRight },
-  { "id", "Indonesian",         Dali::ImfManager::LeftToRight },
-  { "is", "Icelandic",          Dali::ImfManager::LeftToRight },
-  { "it", "Italian",            Dali::ImfManager::LeftToRight },
-  { "ja", "Japanese",           Dali::ImfManager::LeftToRight },
-  { "ka", "Georgian",           Dali::ImfManager::LeftToRight },
-  { "kk", "Kazakh",             Dali::ImfManager::RightToLeft },
-  { "km", "Khmer",              Dali::ImfManager::LeftToRight },
-  { "kn", "Kannada",            Dali::ImfManager::LeftToRight },
-  { "ko", "Korean",             Dali::ImfManager::LeftToRight },
-  { "ks", "Kashmiri",           Dali::ImfManager::RightToLeft },
-  { "la", "Latin",              Dali::ImfManager::LeftToRight },
-  { "lo", "Lao",                Dali::ImfManager::LeftToRight },
-  { "lt", "Lithuanian",         Dali::ImfManager::LeftToRight },
-  { "lv", "Latvian",            Dali::ImfManager::LeftToRight },
-  { "mi", "Maori",              Dali::ImfManager::LeftToRight },
-  { "mk", "FYRO Macedonia",     Dali::ImfManager::LeftToRight },
-  { "ml", "Malayalam",          Dali::ImfManager::LeftToRight },
-  { "mn", "Mongolian",          Dali::ImfManager::LeftToRight },
-  { "mr", "Marathi",            Dali::ImfManager::LeftToRight },
-  { "ms", "Malay",              Dali::ImfManager::LeftToRight },
-  { "mt", "Maltese",            Dali::ImfManager::LeftToRight },
-  { "my", "Burmese",            Dali::ImfManager::LeftToRight },
-  { "nb", "Norwegian: Bokml",   Dali::ImfManager::LeftToRight },
-  { "ne", "Nepali",             Dali::ImfManager::LeftToRight },
-  { "nl", "Dutch",              Dali::ImfManager::LeftToRight },
-  { "nn", "Norwegian: Nynorsk", Dali::ImfManager::LeftToRight },
-  { "or", "Oriya",              Dali::ImfManager::LeftToRight },
-  { "pa", "Punjabi",            Dali::ImfManager::LeftToRight },
-  { "pl", "Polish",             Dali::ImfManager::LeftToRight },
-  { "pt", "Portuguese",         Dali::ImfManager::LeftToRight },
-  { "rm", "Raeto-Romance",      Dali::ImfManager::LeftToRight },
-  { "ro", "Romanian",           Dali::ImfManager::LeftToRight },
-  { "ru", "Russian",            Dali::ImfManager::LeftToRight },
-  { "sa", "Sanskrit",           Dali::ImfManager::LeftToRight },
-  { "sb", "Sorbian",            Dali::ImfManager::LeftToRight },
-  { "sd", "Sindhi",             Dali::ImfManager::LeftToRight },
-  { "si", "Sinhala",            Dali::ImfManager::LeftToRight },
-  { "sk", "Slovak",             Dali::ImfManager::LeftToRight },
-  { "sl", "Slovenian",          Dali::ImfManager::LeftToRight },
-  { "so", "Somali",             Dali::ImfManager::LeftToRight },
-  { "sq", "Albanian",           Dali::ImfManager::LeftToRight },
-  { "sr", "Serbian",            Dali::ImfManager::LeftToRight },
-  { "sv", "Swedish",            Dali::ImfManager::LeftToRight },
-  { "sw", "Swahili",            Dali::ImfManager::LeftToRight },
-  { "ta", "Tamil",              Dali::ImfManager::LeftToRight },
-  { "te", "Telugu",             Dali::ImfManager::LeftToRight },
-  { "tg", "Tajik",              Dali::ImfManager::RightToLeft },
-  { "th", "Thai",               Dali::ImfManager::LeftToRight },
-  { "tk", "Turkmen",            Dali::ImfManager::LeftToRight },
-  { "tn", "Setsuana",           Dali::ImfManager::LeftToRight },
-  { "tr", "Turkish",            Dali::ImfManager::LeftToRight },
-  { "ts", "Tsonga",             Dali::ImfManager::LeftToRight },
-  { "tt", "Tatar",              Dali::ImfManager::LeftToRight },
-  { "uk", "Ukrainian",          Dali::ImfManager::LeftToRight },
-  { "ur", "Urdu",               Dali::ImfManager::RightToLeft },
-  { "uz", "Uzbek",              Dali::ImfManager::LeftToRight },
-  { "vi", "Vietnamese",         Dali::ImfManager::LeftToRight },
-  { "xh", "Xhosa",              Dali::ImfManager::LeftToRight },
-  { "yi", "Yiddish",            Dali::ImfManager::RightToLeft },
-  { "zh", "Chinese",            Dali::ImfManager::LeftToRight },
-  { "zu", "Zulu",               Dali::ImfManager::LeftToRight },
-
-  { NULL, NULL, Dali::ImfManager::LeftToRight }
+  { "af", "Afrikaans",          Locale::LeftToRight },
+  { "am", "Amharic",            Locale::LeftToRight },
+  { "ar", "Arabic",             Locale::RightToLeft },
+  { "as", "Assamese",           Locale::LeftToRight },
+  { "az", "Azerbaijani",        Locale::RightToLeft },
+  { "be", "Belarusian",         Locale::LeftToRight },
+  { "bg", "Bulgarian",          Locale::LeftToRight },
+  { "bn", "Bengali",            Locale::LeftToRight },
+  { "bo", "Tibetan",            Locale::LeftToRight },
+  { "bs", "Bosnian",            Locale::LeftToRight },
+  { "ca", "Catalan",            Locale::LeftToRight },
+  { "cs", "Czech",              Locale::LeftToRight },
+  { "cy", "Welsh",              Locale::LeftToRight },
+  { "da", "Danish",             Locale::LeftToRight },
+  { "de", "German",             Locale::LeftToRight },
+  { "dv", "Divehi",             Locale::RightToLeft },
+  { "el", "Greek",              Locale::LeftToRight },
+  { "en", "English",            Locale::LeftToRight },
+  { "es", "Spanish",            Locale::LeftToRight },
+  { "et", "Estonian",           Locale::LeftToRight },
+  { "eu", "Basque",             Locale::LeftToRight },
+  { "fa", "Farsi",              Locale::RightToLeft },
+  { "fi", "Finnish",            Locale::LeftToRight },
+  { "fo", "Faroese",            Locale::LeftToRight },
+  { "fr", "French",             Locale::LeftToRight },
+  { "gd", "Gaelic",             Locale::LeftToRight },
+  { "gl", "Galician",           Locale::LeftToRight },
+  { "gn", "Guarani",            Locale::LeftToRight },
+  { "gu", "Gujarati",           Locale::LeftToRight },
+  { "he", "Hebrew",             Locale::RightToLeft },
+  { "hi", "Hindi",              Locale::LeftToRight },
+  { "hr", "Croatian",           Locale::LeftToRight },
+  { "hu", "Hungarian",          Locale::LeftToRight },
+  { "hy", "Armenian",           Locale::LeftToRight },
+  { "id", "Indonesian",         Locale::LeftToRight },
+  { "is", "Icelandic",          Locale::LeftToRight },
+  { "it", "Italian",            Locale::LeftToRight },
+  { "ja", "Japanese",           Locale::LeftToRight },
+  { "ka", "Georgian",           Locale::LeftToRight },
+  { "kk", "Kazakh",             Locale::RightToLeft },
+  { "km", "Khmer",              Locale::LeftToRight },
+  { "kn", "Kannada",            Locale::LeftToRight },
+  { "ko", "Korean",             Locale::LeftToRight },
+  { "ks", "Kashmiri",           Locale::RightToLeft },
+  { "la", "Latin",              Locale::LeftToRight },
+  { "lo", "Lao",                Locale::LeftToRight },
+  { "lt", "Lithuanian",         Locale::LeftToRight },
+  { "lv", "Latvian",            Locale::LeftToRight },
+  { "mi", "Maori",              Locale::LeftToRight },
+  { "mk", "FYRO Macedonia",     Locale::LeftToRight },
+  { "ml", "Malayalam",          Locale::LeftToRight },
+  { "mn", "Mongolian",          Locale::LeftToRight },
+  { "mr", "Marathi",            Locale::LeftToRight },
+  { "ms", "Malay",              Locale::LeftToRight },
+  { "mt", "Maltese",            Locale::LeftToRight },
+  { "my", "Burmese",            Locale::LeftToRight },
+  { "nb", "Norwegian: Bokml",   Locale::LeftToRight },
+  { "ne", "Nepali",             Locale::LeftToRight },
+  { "nl", "Dutch",              Locale::LeftToRight },
+  { "nn", "Norwegian: Nynorsk", Locale::LeftToRight },
+  { "or", "Oriya",              Locale::LeftToRight },
+  { "pa", "Punjabi",            Locale::LeftToRight },
+  { "pl", "Polish",             Locale::LeftToRight },
+  { "pt", "Portuguese",         Locale::LeftToRight },
+  { "rm", "Raeto-Romance",      Locale::LeftToRight },
+  { "ro", "Romanian",           Locale::LeftToRight },
+  { "ru", "Russian",            Locale::LeftToRight },
+  { "sa", "Sanskrit",           Locale::LeftToRight },
+  { "sb", "Sorbian",            Locale::LeftToRight },
+  { "sd", "Sindhi",             Locale::LeftToRight },
+  { "si", "Sinhala",            Locale::LeftToRight },
+  { "sk", "Slovak",             Locale::LeftToRight },
+  { "sl", "Slovenian",          Locale::LeftToRight },
+  { "so", "Somali",             Locale::LeftToRight },
+  { "sq", "Albanian",           Locale::LeftToRight },
+  { "sr", "Serbian",            Locale::LeftToRight },
+  { "sv", "Swedish",            Locale::LeftToRight },
+  { "sw", "Swahili",            Locale::LeftToRight },
+  { "ta", "Tamil",              Locale::LeftToRight },
+  { "te", "Telugu",             Locale::LeftToRight },
+  { "tg", "Tajik",              Locale::RightToLeft },
+  { "th", "Thai",               Locale::LeftToRight },
+  { "tk", "Turkmen",            Locale::LeftToRight },
+  { "tn", "Setsuana",           Locale::LeftToRight },
+  { "tr", "Turkish",            Locale::LeftToRight },
+  { "ts", "Tsonga",             Locale::LeftToRight },
+  { "tt", "Tatar",              Locale::LeftToRight },
+  { "uk", "Ukrainian",          Locale::LeftToRight },
+  { "ur", "Urdu",               Locale::RightToLeft },
+  { "uz", "Uzbek",              Locale::LeftToRight },
+  { "vi", "Vietnamese",         Locale::LeftToRight },
+  { "xh", "Xhosa",              Locale::LeftToRight },
+  { "yi", "Yiddish",            Locale::RightToLeft },
+  { "zh", "Chinese",            Locale::LeftToRight },
+  { "zu", "Zulu",               Locale::LeftToRight },
+
+  { NULL, NULL, Locale::LeftToRight }
 };
 
 } // unnamed namespace
 
-Dali::ImfManager::TextDirection GetTextDirection( std::string locale )
+Locale::Direction GetDirection( const std::string& locale )
 {
-  Dali::ImfManager::TextDirection direction( Dali::ImfManager::LeftToRight );
+  Locale::Direction direction( Locale::LeftToRight );
 
   if ( !locale.empty() && locale.size() > 2 )
   {
-    // We're only interested in the first two characters
-    locale.resize(2);
-
-    for ( const LocaleDirection* iter = &LOCALE_DIRECTION_LOOKUP_TABLE[0]; iter->locale; ++iter )
+    for ( const LocaleDirectionInfo* iter = &LOCALE_DIRECTION_LOOKUP_TABLE[0]; iter->locale; ++iter )
     {
-      if ( !locale.compare( iter->locale ) )
+      if ( !locale.compare( 0, 2, iter->locale ) )
       {
         direction = iter->direction;
         break;
index b04182b..ecb251a 100644 (file)
@@ -21,9 +21,6 @@
 // EXTERNAL INCLUDES
 #include <string>
 
-// INTERNAL INCLUDES
-#include <imf-manager.h>
-
 namespace Dali
 {
 
@@ -36,7 +33,13 @@ namespace Adaptor
 namespace Locale
 {
 
-Dali::ImfManager::TextDirection GetTextDirection( std::string locale );
+enum Direction
+{
+  LeftToRight,
+  RightToLeft,
+};
+
+Locale::Direction GetDirection( const std::string& locale );
 
 } // namespace Locale
 
index 2585b17..feab793 100644 (file)
@@ -38,7 +38,12 @@ namespace Adaptor
 
 namespace // unnamed namespace
 {
+
+#if _GLIBCXX_USE_CXX11_ABI
 const char* VIDEO_PLUGIN_SO( "libdali-video-player-plugin.so" );
+#else
+const char* VIDEO_PLUGIN_SO( "libdali-video-player-plugin-cxx03.so" );
+#endif
 
 Dali::BaseHandle Create()
 {
index f7eac57..8f341dd 100644 (file)
@@ -40,19 +40,19 @@ TiltSensor::~TiltSensor()
 {
 }
 
-bool TiltSensor::Enable()
+bool TiltSensor::Start()
 {
-  return GetImplementation(*this).Enable();
+  return GetImplementation(*this).Start();
 }
 
-void TiltSensor::Disable()
+void TiltSensor::Stop()
 {
-  GetImplementation(*this).Disable();
+  GetImplementation(*this).Stop();
 }
 
-bool TiltSensor::IsEnabled() const
+bool TiltSensor::IsStarted() const
 {
-  return GetImplementation(*this).IsEnabled();
+  return GetImplementation(*this).IsStarted();
 }
 
 float TiltSensor::GetRoll() const
index 7ea0ede..e24b910 100644 (file)
@@ -43,18 +43,18 @@ class TiltSensor;
  *  {
  *    TiltSensor sensor = TiltSensor::Get();
  *
- *    // Try to enable the sensor
- *    if ( sensor.Enable() )
+ *    // Try to start the tilt sensor
+ *    if ( sensor.Start() )
  *    {
  *      // Query the current values
  *      std::cout << "Roll = " << sensor.GetRoll() << ", Pitch = " << sensor.GetPitch() << std::endl;
  *
  *      // Get notifications when the device is tilted
- *      sensor.SignalTilted().Connect( &OnTilted );
+ *      sensor.TiltedSignal().Connect( &OnTilted );
  *    }
  *  }
  *
- *  void OnTilted()
+ *  void OnTilted( const TiltSensor& sensor )
  *  {
  *    // Query the new values
  *    std::cout << "Roll = " << sensor.GetRoll() << ", Pitch = " << sensor.GetPitch() << std::endl;
@@ -62,15 +62,15 @@ class TiltSensor;
  *
  * @endcode
  *
- * While the tilt sensor is enabled, it will periodically poll for the latest pitch & roll values.
+ * While the tilt sensor is started, it will periodically poll for the latest pitch & roll values.
  * For performance & power-saving, applications should disable this polling when no longer needed:
  *
  * @code
  *
  *  void EndExample()
  *  {
- *    // Disable the sensor when no longer needed
- *    TiltSensor::Get().Disable();
+ *    // Stop the sensor when no longer needed
+ *    TiltSensor::Get().Stop();
  *  }
  *
  * @endcode
@@ -103,30 +103,30 @@ public:
   ~TiltSensor();
 
   /**
-   * Attempt to enable the tilt-sensor. This will fail if the underlying sensor hardware is powered-down,
+   * Attempt to start the tilt-sensor. This will fail if the underlying sensor hardware is powered-down,
    * typically this occurs when the device is set to "sleep" mode.
-   * @return True if the tilt-sensor is enabled.
+   * @return True if the tilt-sensor is started.
    */
-  bool Enable();
+  bool Start();
 
   /**
-   * Disable the tilt-sensor.
+   * Stop the tilt-sensor.
    */
-  void Disable();
+  void Stop();
 
   /**
-   * Query whether the tilt-sensor is disabled.
+   * Query whether the tilt-sensor is started.
    * The sensor may be disabled automatically; typically this occurs when the device is set to "sleep" mode.
-   * @return True if the tilt-sensor is enabled.
+   * @return True if the tilt-sensor is started.
    */
-  bool IsEnabled() const;
+  bool IsStarted() const;
 
   /**
    * Query the roll value. This is in the range -1 to 1.
    * When the device is lying face-up on a flat surface, this method will return a value close to zero.
    * A value close to 1 indicates that the right-side of the device is pointing upwards.
    * A value close to -1 indicates that the right-side of the device is pointing downwards.
-   * @pre The tilt-sensor is enabled.
+   * @pre The tilt-sensor is started.
    * @return The roll value.
    */
   float GetRoll() const;
@@ -136,7 +136,7 @@ public:
    * When the device is lying face-up on a flat surface, this method will return a value close to zero.
    * A value close to 1 indicates that the top of the device is pointing upwards.
    * A value close to -1 indicates that the top of the device is pointing downwards.
-   * @pre The tilt-sensor is enabled.
+   * @pre The tilt-sensor is started.
    * @return The pitch value.
    */
   float GetPitch() const;
@@ -145,13 +145,13 @@ public:
    * Retrieve the rotation of the device.
    * When the device is lying face-up on a flat surface, the rotation angle will be approximately zero.
    * The roll & pitch of the device is considered to be a rotation around the Y and X axes respectively.
-   * @pre The tilt-sensor is enabled.
+   * @pre The tilt-sensor is started.
    * @return The rotation in quaternion format.
    */
   Quaternion GetRotation() const;
 
   /**
-   * This signal will be emitted when the device is tilted, if the tilt-sensor is enabled.
+   * This signal will be emitted when the device is tilted, if the tilt-sensor is started.
    * The frequency of the signals can be controlled using SetUpdateFrequency().
    * @return The signal to connect to.
    *
index 7747cd3..affbda2 100644 (file)
@@ -325,7 +325,7 @@ Dali::VirtualKeyboard::TextDirection GetTextDirection()
 
         if ( locale )
         {
-          direction = (Dali::VirtualKeyboard::TextDirection)Locale::GetTextDirection( std::string( locale ) );
+          direction = static_cast< Dali::VirtualKeyboard::TextDirection >( Locale::GetDirection( std::string( locale ) ) );
           free( locale );
         }
       }
index 5764c3a..edd8899 100644 (file)
@@ -699,7 +699,7 @@ Dali::ImfManager::TextDirection ImfManager::GetTextDirection()
 
       if ( locale )
       {
-        direction = Locale::GetTextDirection( std::string( locale ) );
+        direction = static_cast< Dali::ImfManager::TextDirection >( Locale::GetDirection( std::string( locale ) ) );
         free( locale );
       }
     }
index 6f9b2a7..6f785d0 100644 (file)
@@ -95,7 +95,6 @@ struct Window::EventHandler
     if( mWindow->mEcoreEventHander )
     {
       mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL_EVENT_WINDOW_ICONIFY_STATE_CHANGE, EcoreEventWindowIconifyStateChanged, this ) );
-      mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL_EVENT_WINDOW_VISIBILITY_CHANGE, EcoreEventWindowVisibilityChanged, this ) );
       mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL_EVENT_FOCUS_IN, EcoreEventWindowFocusIn, this ) );
       mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL_EVENT_FOCUS_OUT, EcoreEventWindowFocusOut, this ) );
       mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL_EVENT_OUTPUT_TRANSFORM, EcoreEventOutputTransform, this) );
@@ -171,35 +170,6 @@ struct Window::EventHandler
     return handled;
   }
 
-  /// Called when the window visibility is changed.
-  static Eina_Bool EcoreEventWindowVisibilityChanged( void* data, int type, void* event )
-  {
-    Ecore_Wl_Event_Window_Visibility_Change* visibilityChangedEvent( static_cast< Ecore_Wl_Event_Window_Visibility_Change* >( event ) );
-    EventHandler* handler( static_cast< EventHandler* >( data ) );
-    Eina_Bool handled( ECORE_CALLBACK_PASS_ON );
-
-    if ( handler && handler->mWindow )
-    {
-      WindowVisibilityObserver* observer( handler->mWindow->mAdaptor );
-      if ( observer && ( visibilityChangedEvent->win == static_cast< unsigned int >( ecore_wl_window_id_get( handler->mEcoreWindow ) ) ) )
-      {
-        if( visibilityChangedEvent->fully_obscured == 1 )
-        {
-          observer->OnWindowHidden();
-          DALI_LOG_INFO( gWindowLogFilter, Debug::General, "Window (%d) full obscured\n", handler->mEcoreWindow );
-        }
-        else
-        {
-          observer->OnWindowShown();
-          DALI_LOG_INFO( gWindowLogFilter, Debug::General, "Window (%d) Shown\n", handler->mEcoreWindow );
-        }
-        handled = ECORE_CALLBACK_DONE;
-      }
-    }
-
-    return handled;
-  }
-
   /// Called when the window gains focus
   static Eina_Bool EcoreEventWindowFocusIn( void* data, int type, void* event )
   {
index 08d7f4b..cbb290e 100644 (file)
@@ -339,6 +339,12 @@ public:
    */
   void SetStereoBase( float stereoBase );
 
+  /**
+   * @brief Renders once more even if we're paused
+   * @note Will not work if the window is hidden.
+   */
+  void RenderOnce();
+
 public:  // Signals
 
   /**
index 7668053..4f5585c 100644 (file)
@@ -28,7 +28,7 @@ namespace Dali
 
 const unsigned int ADAPTOR_MAJOR_VERSION = 1;
 const unsigned int ADAPTOR_MINOR_VERSION = 2;
-const unsigned int ADAPTOR_MICRO_VERSION = 54;
+const unsigned int ADAPTOR_MICRO_VERSION = 56;
 const char * const ADAPTOR_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 1619139..67afe39 100644 (file)
@@ -25,6 +25,8 @@
 #include <ecore-wl-render-surface.h>
 #endif
 
+#include <system_settings.h>
+
 namespace Dali
 {
 
@@ -34,6 +36,30 @@ namespace Internal
 namespace Adaptor
 {
 
+namespace
+{
+
+static void OnSystemLanguageChanged( system_settings_key_e key, void* data )
+{
+  char* locale = NULL;
+  if( system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale ) != SYSTEM_SETTINGS_ERROR_NONE ||
+      locale == NULL )
+  {
+    DALI_LOG_ERROR( "DALI OnSystemLanguageChanged failed " );
+    return;
+  }
+
+  Adaptor* adaptor = static_cast< Adaptor* >( data );
+  if( adaptor != NULL )
+  {
+    adaptor->SetRootLayoutDirection( locale );
+  }
+
+  free( locale );
+}
+
+} // namesapce
+
 void Adaptor::GetDataStoragePath( std::string& path)
 {
 #ifdef USE_APPFW
@@ -82,6 +108,28 @@ void Adaptor::SurfaceInitialized()
 #endif
 }
 
+void Adaptor::SetupSystemInformation()
+{
+  if( system_settings_set_changed_cb( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, OnSystemLanguageChanged, this ) != SYSTEM_SETTINGS_ERROR_NONE )
+  {
+    DALI_LOG_ERROR( "DALI system_settings_set_changed_cb failed.\n" );
+    return;
+  }
+
+  char* locale = NULL;
+  if( system_settings_get_value_string( SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale ) != SYSTEM_SETTINGS_ERROR_NONE ||
+      locale == NULL )
+  {
+    DALI_LOG_ERROR( "DALI OnSystemLanguageChanged failed " );
+    return;
+  }
+
+  SetRootLayoutDirection( locale );
+
+  free( locale );
+
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 1f989f7..58cf46d 100644 (file)
@@ -229,7 +229,7 @@ void TiltSensor::Disconnect()
 
 bool TiltSensor::Start()
 {
-  if(mSensorListener && mState == CONNECTED)
+  if( mSensorListener && ( mState == CONNECTED || mState == STOPPED ) )
   {
 #ifdef SENSOR_ENABLED
     int ret = 0;
@@ -247,9 +247,14 @@ bool TiltSensor::Start()
   }
   else
   {
-    if(mState != CONNECTED)
+    if( mState == STARTED )
     {
-      DALI_LOG_ERROR("Wrong state [%d]\n", mState);
+      DALI_LOG_ERROR("TiltSensor is already started. Current state [%d]\n", mState);
+    }
+    else
+    {
+      // mState is DISCONNECTED
+      DALI_LOG_ERROR("TiltSensor is disconnected. Current state [%d]\n", mState);
     }
     return false;
   }
@@ -267,19 +272,7 @@ void TiltSensor::Stop()
 #endif
 }
 
-bool TiltSensor::Enable()
-{
-  // start sensor callback
-  return Start();
-}
-
-void TiltSensor::Disable()
-{
-  // stop sensor callback
-  Stop();
-}
-
-bool TiltSensor::IsEnabled() const
+bool TiltSensor::IsStarted() const
 {
   return ( mSensorListener && mState == STARTED );
 }
index 18b6acb..f4d81d2 100644 (file)
@@ -63,19 +63,19 @@ public:
   static Dali::TiltSensor Get();
 
   /**
-   * @copydoc Dali::TiltSensor::Enable()
+   * @copydoc Dali::TiltSensor::Start()
    */
-  bool Enable();
+  bool Start();
 
   /**
-   * @copydoc Dali::TiltSensor::Disable()
+   * @copydoc Dali::TiltSensor::Stop()
    */
-  void Disable();
+  void Stop();
 
   /**
-   * @copydoc Dali::TiltSensor::IsEnabled()
+   * @copydoc Dali::TiltSensor::IsStarted()
    */
-  bool IsEnabled() const;
+  bool IsStarted() const;
 
   /**
    * @copydoc Dali::TiltSensor::GetRoll()
@@ -166,15 +166,6 @@ private:
    */
   void Disconnect();
 
-  /**
-   * Start sensor operation
-   */
-  bool Start();
-  /**
-   * Stop sensor operation
-   */
-  void Stop();
-
   // Undefined
   TiltSensor(const TiltSensor&);
 
index be25b7b..4f1201c 100644 (file)
@@ -41,6 +41,10 @@ void Adaptor::SurfaceInitialized()
 {
 }
 
+void Adaptor::SetupSystemInformation()
+{
+}
+
 } // namespace Adaptor
 
 } // namespace Internal
index 482b173..95f5724 100644 (file)
@@ -92,10 +92,10 @@ Dali::TiltSensor TiltSensor::Get()
 
 TiltSensor::~TiltSensor()
 {
-  Disable();
+  Stop();
 }
 
-bool TiltSensor::Enable()
+bool TiltSensor::Start()
 {
   // Make sure sensor API is responding
   bool success = Update();
@@ -118,7 +118,7 @@ bool TiltSensor::Enable()
   return success;
 }
 
-void TiltSensor::Disable()
+void TiltSensor::Stop()
 {
   if ( mTimer )
   {
@@ -127,7 +127,7 @@ void TiltSensor::Disable()
   }
 }
 
-bool TiltSensor::IsEnabled() const
+bool TiltSensor::IsStarted() const
 {
   return ( mTimer && mTimer.IsRunning() );
 }
index 4f864ad..6851908 100644 (file)
@@ -57,19 +57,19 @@ public:
   static Dali::TiltSensor Get();
 
   /**
-   * @copydoc Dali::TiltSensor::Enable()
+   * @copydoc Dali::TiltSensor::Start()
    */
-  bool Enable();
+  bool Start();
 
   /**
-   * @copydoc Dali::TiltSensor::Disable()
+   * @copydoc Dali::TiltSensor::Stop()
    */
-  void Disable();
+  void Stop();
 
   /**
-   * @copydoc Dali::TiltSensor::IsEnabled()
+   * @copydoc Dali::TiltSensor::IsStarted()
    */
-  bool IsEnabled() const;
+  bool IsStarted() const;
 
   /**
    * @copydoc Dali::TiltSensor::GetRoll()
index e0fa762..c9bef9c 100644 (file)
@@ -538,7 +538,7 @@ Dali::ImfManager::TextDirection ImfManager::GetTextDirection()
 
       if ( locale )
       {
-        direction = Locale::GetTextDirection( std::string( locale ) );
+        direction = static_cast< Dali::ImfManager::TextDirection >( Locale::GetDirection( std::string( locale ) ) );
         free( locale );
       }
     }
index c3d6598..8f66578 100644 (file)
@@ -110,49 +110,49 @@ void tilt_sensor_cleanup(void)
 }
 
 
-int UtcDaliTiltSensorEnable(void)
+int UtcDaliTiltSensorStart(void)
 {
   TestApplication application;
 
-  tet_infoline("UtcDaliTiltSensorEnable");
+  tet_infoline("UtcDaliTiltSensorStart");
 
   TiltSensor sensor = GetTiltSensor();
   DALI_TEST_CHECK( sensor );
 
-  sensor.Enable();
-  DALI_TEST_CHECK( sensor.IsEnabled() );
+  sensor.Start();
+  DALI_TEST_CHECK( sensor.IsStarted() );
 
   END_TEST;
 }
 
-int UtcDaliTiltSensorDisable(void)
+int UtcDaliTiltSensorStop(void)
 {
   TestApplication application;
 
-  tet_infoline("UtcDaliTiltSensorDisable");
+  tet_infoline("UtcDaliTiltSensorStop");
 
   TiltSensor sensor = GetTiltSensor();
   DALI_TEST_CHECK( sensor );
 
-  sensor.Enable();
-  DALI_TEST_CHECK( sensor.IsEnabled() );
+  sensor.Start();
+  DALI_TEST_CHECK( sensor.IsStarted() );
 
-  sensor.Disable();
-  DALI_TEST_CHECK( !sensor.IsEnabled() );
+  sensor.Stop();
+  DALI_TEST_CHECK( !sensor.IsStarted() );
   END_TEST;
 }
 
-int UtcDaliTiltSensorIsEnabled(void)
+int UtcDaliTiltSensorIsStarted(void)
 {
   TestApplication application;
 
-  tet_infoline("UtcDaliTiltSensorIsEnabled");
+  tet_infoline("UtcDaliTiltSensorIsStarted");
 
   TiltSensor sensor = GetTiltSensor();
   DALI_TEST_CHECK( sensor );
 
   // Should be disabled by default
-  DALI_TEST_CHECK( !sensor.IsEnabled() );
+  DALI_TEST_CHECK( !sensor.IsStarted() );
   END_TEST;
 }
 
@@ -214,7 +214,7 @@ int UtcDaliTiltSensorSignalTilted(void)
 
   TiltSensor sensor = GetTiltSensor();
   DALI_TEST_CHECK( sensor );
-  sensor.Enable();
+  sensor.Start();
 
   Radian angle(Degree(-45));
   //Setting a negative threshold for testing purpose
@@ -249,7 +249,7 @@ int UtcDaliTiltSensorSetRotationThreshold01(void)
 
   TiltSensor sensor = GetTiltSensor();
   DALI_TEST_CHECK( sensor );
-  sensor.Enable();
+  sensor.Start();
 
   Radian angle(Degree(-45));
   sensor.SetRotationThreshold( angle );
index 3210dfa..108ccb2 100644 (file)
@@ -42,8 +42,8 @@ rename_cov_data:
        @test -z $(COVERAGE_DIR) || mkdir -p $(COVERAGE_DIR)
        @rm -f $(COVERAGE_DIR)/*
        @-cp adaptor/.libs/*.gcda adaptor/.libs/*.gcno  $(COVERAGE_DIR)
-       @for i in `find $(COVERAGE_DIR) -name "libdali_adaptor_la-*.gcda" -o -name "libdali_adaptor_la-*.gcno"` ;\
-               do mv $$i `echo $$i | sed s/libdali_adaptor_la-//` ; echo $$i ; done
+       @for i in `find $(COVERAGE_DIR) -name "libdali_adaptor*_la-*.gcda" -o -name "libdali_adaptor*_la-*.gcno"` ;\
+               do mv $$i `echo $$i | sed s/libdali_adaptor*_la-//` ; echo $$i ; done
 
 cov_data: rename_cov_data
        @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --base-directory . --directory . -c -o dali.info
index 496a96f..6ade662 100644 (file)
@@ -266,11 +266,14 @@ DALI_ADAPTOR_CFLAGS += -DENABLE_VECTOR_BASED_TEXT_RENDERING
 endif
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = dali-adaptor.pc dali-adaptor-integration.pc
 
-lib_LTLIBRARIES = libdali-adaptor.la
+if ENABLE_CXX03_ABI
+pkgconfig_DATA = dali-adaptor-cxx03.pc dali-adaptor-integration-cxx03.pc
+else
+pkgconfig_DATA = dali-adaptor.pc dali-adaptor-integration.pc
+endif
 
-libdali_adaptor_la_SOURCES = \
+LIBDALI_ADAPTOR_LA_SOURCES = \
                      $(base_adaptor_src_files) \
                      $(main_loop_integration_src_files) \
                      $(tizen_platform_abstraction_src_files) \
@@ -283,14 +286,14 @@ libdali_adaptor_la_SOURCES = \
 
 
 if ENABLE_NETWORK_LOGGING
-libdali_adaptor_la_SOURCES += \
+LIBDALI_ADAPTOR_LA_SOURCES += \
   $(base_adaptor_networking_src_files)
 endif
 
 libdali_adaptor_la_DEPENDENCIES =
 
 # List include directories with more platform-specific (tizen) before portable root:
-libdali_adaptor_la_includes = \
+LIBDALI_ADAPTOR_LA_includes = \
                       -I../../.. \
                       -I../../../platform-abstractions/tizen \
                       -I../../../platform-abstractions/tizen/resource-loader \
@@ -308,39 +311,39 @@ libdali_adaptor_la_includes = \
                       -I../../../third-party/image-resampler
 
 if WAYLAND
-libdali_adaptor_la_includes += -I../../../adaptors/integration-api/wayland
+LIBDALI_ADAPTOR_LA_includes += -I../../../adaptors/integration-api/wayland
 
 if USE_ECORE_WAYLAND
-libdali_adaptor_la_includes += \
+LIBDALI_ADAPTOR_LA_includes += \
                       -I../../../adaptors/ecore/common \
                       -I../../../adaptors/ecore/wayland
 else
-libdali_adaptor_la_includes += -I../../../adaptors/wayland \
+LIBDALI_ADAPTOR_LA_includes += -I../../../adaptors/wayland \
                                -I../../../adaptors/wayland/input/text/imf \
                                -I../../../adaptors/wayland/clipboard
 endif # USE_ECORE_WAYLADN
 
-libdali_adaptor_la_includes += \
+LIBDALI_ADAPTOR_LA_includes += \
                       -I../../../adaptors/tizen
 else
-libdali_adaptor_la_includes += \
+LIBDALI_ADAPTOR_LA_includes += \
                       -I../../../adaptors/ecore/common \
                       -I../../../adaptors/x11 \
                       -I../../../adaptors/integration-api/x11
 endif # WAYLAND
 
 if UBUNTU_PROFILE
-libdali_adaptor_la_includes += \
+LIBDALI_ADAPTOR_LA_includes += \
                       -I../../../adaptors/ubuntu
 else
-libdali_adaptor_la_includes += \
+LIBDALI_ADAPTOR_LA_includes += \
                       -I../../../adaptors/tizen
 endif
 
 daliDefaultThemeDir  = ${dataReadWriteDir}/theme/
 daliShaderbinCacheDir = ${dataReadOnlyDir}/core/shaderbin/
 
-libdali_adaptor_la_CXXFLAGS = \
+LIBDALI_ADAPTOR_LA_CXXFLAGS = \
                       -DDALI_DATA_RW_DIR="\"${daliReadWriteDir}\"" \
                       -DDALI_DATA_RO_DIR="\"${daliReadOnlyDir}\"" \
                       -DDALI_DEFAULT_FONT_CACHE_DIR="\"${daliDefaultFontCacheDir}\"" \
@@ -355,7 +358,7 @@ libdali_adaptor_la_CXXFLAGS = \
                       -DNON_POWER_OF_TWO_TEXTURES \
                       -DDALI_COMPILATION -DDALI_ADAPTOR_COMPILATION \
                       -Werror -Wall -lgcc -Wold-style-cast\
-                      $(libdali_adaptor_la_includes) \
+                      $(LIBDALI_ADAPTOR_LA_includes) \
                       $(DALI_ADAPTOR_CFLAGS) \
                       $(DALICORE_CFLAGS) \
                       $(OPENGLES20_CFLAGS) \
@@ -376,15 +379,15 @@ libdali_adaptor_la_CXXFLAGS = \
 
 # Todo, as soon as common repos are updated on build server remove this.
 if !COMMON_PROFILE
-libdali_adaptor_la_CXXFLAGS += -DWAYLAND_EXTENSIONS_SUPPORTED
+LIBDALI_ADAPTOR_LA_CXXFLAGS += -DWAYLAND_EXTENSIONS_SUPPORTED
 endif
 
-libdali_adaptor_la_CFLAGS = \
+LIBDALI_ADAPTOR_LA_CFLAGS = \
                       -Werror -Wall \
                       -DDALI_COMPILATION -DDALI_ADAPTOR_COMPILATION \
                       $(DALI_ADAPTOR_CFLAGS)
 
-libdali_adaptor_la_LIBADD = \
+LIBDALI_ADAPTOR_LA_LIBADD = \
                       $(DALICORE_LIBS) \
                       $(OPENGLES20_LIBS) \
                       $(FREETYPE_LIBS) \
@@ -407,110 +410,110 @@ libdali_adaptor_la_LIBADD = \
                       -ljpeg
 
 # EVAS used indicator
-libdali_adaptor_la_CXXFLAGS += $(EVAS_CFLAGS) \
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(EVAS_CFLAGS) \
                                $(ECORE_CFLAGS) \
                                $(ECORE_IPC_CFLAGS) \
                                $(ELDBUS_CFLAGS)
 
 
-libdali_adaptor_la_LIBADD += $(ECORE_IPC_LIBS) \
+LIBDALI_ADAPTOR_LA_LIBADD += $(ECORE_IPC_LIBS) \
                              $(ELDBUS_LIBS)
 
 if USE_APPFW
 
-libdali_adaptor_la_CXXFLAGS += $(CAPI_APPFW_APPLICATION_CFLAGS) \
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(CAPI_APPFW_APPLICATION_CFLAGS) \
                                $(CAPI_SYSTEM_SYSTEM_SETTINGS_CFLAGS) \
                                $(CAPI_SYSTEM_INFO_CFLAGS) \
                                $(TTS_CFLAGS) \
                                $(SENSOR_CFLAGS)
 
-libdali_adaptor_la_LIBADD += $(CAPI_APPFW_APPLICATION_LIBS) \
+LIBDALI_ADAPTOR_LA_LIBADD += $(CAPI_APPFW_APPLICATION_LIBS) \
                              $(CAPI_SYSTEM_SYSTEM_SETTINGS_LIBS) \
                              $(CAPI_SYSTEM_INFO_LIBS) \
                              $(TTS_LIBS) \
                              $(SENSOR_LIBS)
 if USE_APPFW_EFL_BASE
-libdali_adaptor_la_CXXFLAGS += $(ELEMENTARY_CFLAGS)
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(ELEMENTARY_CFLAGS)
 
-libdali_adaptor_la_LIBADD += $(ELEMENTARY_LIBS)
+LIBDALI_ADAPTOR_LA_LIBADD += $(ELEMENTARY_LIBS)
 
 else
-libdali_adaptor_la_CXXFLAGS += $(CAPI_APPFW_COMMON_CFLAGS) \
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(CAPI_APPFW_COMMON_CFLAGS) \
                                $(CAPI_APPFW_CONTROL_CFLAGS) \
                                $(ECORE_IMF_CFLAGS) \
                                $(FRIBIDI_CFLAGS)
 
-libdali_adaptor_la_LIBADD += $(CAPI_APPFW_COMMON_LIBS) \
+LIBDALI_ADAPTOR_LA_LIBADD += $(CAPI_APPFW_COMMON_LIBS) \
                              $(CAPI_APPFW_CONTROL_LIBS) \
                              $(ECORE_IMF_LIBS) \
                              $(FRIBIDI_LIBS)
 endif
 else
-libdali_adaptor_la_CXXFLAGS += $(ELEMENTARY_CFLAGS)
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(ELEMENTARY_CFLAGS)
 
-libdali_adaptor_la_LIBADD += $(ELEMENTARY_LIBS)
+LIBDALI_ADAPTOR_LA_LIBADD += $(ELEMENTARY_LIBS)
 endif
 
 if WAYLAND
 # This is to avoid having to include wayland-egl.h everywhere
-libdali_adaptor_la_CXXFLAGS += -DWL_EGL_PLATFORM
-libdali_adaptor_la_CXXFLAGS += $(WAYLAND_CFLAGS)
-libdali_adaptor_la_LIBADD += $(WAYLAND_LIBS)
+LIBDALI_ADAPTOR_LA_CXXFLAGS += -DWL_EGL_PLATFORM
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(WAYLAND_CFLAGS)
+LIBDALI_ADAPTOR_LA_LIBADD += $(WAYLAND_LIBS)
 else
-libdali_adaptor_la_CXXFLAGS += $(X11_CFLAGS)
-libdali_adaptor_la_LIBADD += $(X11_LIBS)
-libdali_adaptor_la_LIBADD += $(ECORE_X_LIBS)
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(X11_CFLAGS)
+LIBDALI_ADAPTOR_LA_LIBADD += $(X11_LIBS)
+LIBDALI_ADAPTOR_LA_LIBADD += $(ECORE_X_LIBS)
 endif
 
 if COMMON_PROFILE
-libdali_adaptor_la_CXXFLAGS += $(HAPTIC_CFLAGS)
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(HAPTIC_CFLAGS)
 endif
 
 if MOBILE_PROFILE
-libdali_adaptor_la_CXXFLAGS += \
+LIBDALI_ADAPTOR_LA_CXXFLAGS += \
                       $(DEVICED_CFLAGS) \
                       $(EFL_ASSIST_CFLAGS) \
                       $(NATIVE_BUFFER_CFLAGS) \
                       $(NATIVE_BUFFER_POOL_CFLAGS)
 
-libdali_adaptor_la_LIBADD += \
+LIBDALI_ADAPTOR_LA_LIBADD += \
                       $(EFL_ASSIST_LIBS) \
                       $(NATIVE_BUFFER_LIBS) \
                       $(NATIVE_BUFFER_POOL_LIBS)
 endif
 
 if WEARABLE_PROFILE
-libdali_adaptor_la_CXXFLAGS += \
+LIBDALI_ADAPTOR_LA_CXXFLAGS += \
                       $(HAPTIC_CFLAGS) \
                       $(EFL_ASSIST_CFLAGS) \
                       $(SCREENCONNECTORPROVIDER_CFLAGS) \
                       $(APPCORE_WATCH_CFLAGS)
 
-libdali_adaptor_la_LIBADD += \
+LIBDALI_ADAPTOR_LA_LIBADD += \
                       $(SCREENCONNECTORPROVIDER_LIBS) \
                       $(APPCORE_WATCH_LIBS)
 endif
 
 if TV_PROFILE
-libdali_adaptor_la_CXXFLAGS += $(HAPTIC_CFLAGS)
-libdali_adaptor_la_LIBADD +=
+LIBDALI_ADAPTOR_LA_CXXFLAGS += $(HAPTIC_CFLAGS)
+LIBDALI_ADAPTOR_LA_LIBADD +=
 endif
 
 if IVI_PROFILE
-libdali_adaptor_la_CXXFLAGS += \
+LIBDALI_ADAPTOR_LA_CXXFLAGS += \
                       $(DEVICED_CFLAGS) \
                       $(EFL_ASSIST_CFLAGS) \
                       $(NATIVE_BUFFER_CFLAGS) \
                       $(NATIVE_BUFFER_POOL_CFLAGS)
 
-libdali_adaptor_la_LIBADD += \
+LIBDALI_ADAPTOR_LA_LIBADD += \
                       $(EFL_ASSIST_LIBS) \
                       $(NATIVE_BUFFER_LIBS) \
                       $(NATIVE_BUFFER_POOL_LIBS)
 endif
 
 if UBUNTU_PROFILE
-libdali_adaptor_la_LIBADD += -ljpeg
+LIBDALI_ADAPTOR_LA_LIBADD += -ljpeg
 CFLAGS += -fPIC
 endif
 
@@ -576,6 +579,30 @@ bin_SCRIPTS = ../../../adaptors/scripts/dalireslog.sh
 packagedoxydir = $(devincludepath)/dali/doc
 packagedoxy_HEADERS = $(package_doxy_files)
 
+
+
+if ENABLE_CXX03_ABI
+
+lib_LTLIBRARIES = libdali-adaptor.la
+
+libdali_adaptor_la_SOURCES = $(LIBDALI_ADAPTOR_LA_SOURCES)
+libdali_adaptor_la_includes = $(LIBDALI_ADAPTOR_LA_INCLUDES)
+libdali_adaptor_la_CFLAGS = $(LIBDALI_ADAPTOR_LA_CFLAGS)
+libdali_adaptor_la_CXXFLAGS = $(LIBDALI_ADAPTOR_LA_CXXFLAGS)
+libdali_adaptor_la_LIBADD = $(LIBDALI_ADAPTOR_LA_LIBADD)
+
+else
+
+lib_LTLIBRARIES = libdali-adaptor-cxx11.la
+
+libdali_adaptor_cxx11_la_SOURCES = $(LIBDALI_ADAPTOR_LA_SOURCES)
+libdali_adaptor_cxx11_la_includes = $(LIBDALI_ADAPTOR_LA_INCLUDES)
+libdali_adaptor_cxx11_la_CFLAGS = $(LIBDALI_ADAPTOR_LA_CFLAGS)
+libdali_adaptor_cxx11_la_CXXFLAGS = $(LIBDALI_ADAPTOR_LA_CXXFLAGS)
+libdali_adaptor_cxx11_la_LIBADD = $(LIBDALI_ADAPTOR_LA_LIBADD)
+
+endif
+
 # linking test
 noinst_PROGRAMS = linker.test
 
@@ -604,11 +631,36 @@ linker_test_CXXFLAGS += \
   -I../../../adaptors/integration-api/x11
 endif
 
-
-linker_test_DEPENDENCIES = libdali-adaptor.la
 linker_test_LDADD = \
   $(DALICORE_LIBS) \
   $(VCONF_LIBS) \
-  libdali-adaptor.la \
   $(HARFBUZZ_LIBS) \
   -L${prefix}/lib
+
+if ENABLE_CXX03_ABI
+
+linker_test_LDADD += libdali-adaptor.la
+linker_test_DEPENDENCIES = libdali-adaptor.la
+
+if ENABLE_RENAME_SO
+#rename
+install: install-am
+       rm -rf $(libdir)/libdali-adaptor.so
+       rm -rf $(libdir)/libdali-adaptor-cxx03.so
+       ln -s $(libdir)/libdali-adaptor.so.0.0.* $(libdir)/libdali-adaptor-cxx03.so
+endif
+
+else
+
+linker_test_LDADD += libdali-adaptor-cxx11.la
+linker_test_DEPENDENCIES = libdali-adaptor-cxx11.la
+
+if ENABLE_RENAME_SO
+#rename
+install: install-am
+       rm -rf $(libdir)/libdali-adaptor-cxx11.so
+       rm -rf $(libdir)/libdali-adaptor.so
+       ln -s $(libdir)/libdali-adaptor-cxx11.so.0.0.* $(libdir)/libdali-adaptor.so
+endif
+
+endif
index 2e5000c..2bd1a7c 100644 (file)
@@ -35,7 +35,6 @@ FREETYPE_REQUIRED=9.16.3
 # 17.1.11 = Freetype version 2.5.2
 FREETYPE_BITMAP_SUPPORT_VERSION=17.1.11
 
-PKG_CHECK_MODULES(DALICORE, dali-core)
 PKG_CHECK_MODULES(EXIF, libexif)
 PKG_CHECK_MODULES(FREETYPE, [freetype2 >= $FREETYPE_REQUIRED])
 PKG_CHECK_MODULES(FREETYPE_BITMAP_SUPPORT, [freetype2 >= $FREETYPE_BITMAP_SUPPORT_VERSION], [ freetype_bitmap_support=yes  ], [ freetype_bitmap_support=no ] )
@@ -67,7 +66,11 @@ fi
 AC_SUBST(DALI_ELDBUS_AVAILABLE)
 
 
+if test "x$enable_cxx03_abi" = "xyes"; then
+PKG_CHECK_MODULES(TPKP_CURL, tpkp-curl-deprecated, [ tpkp_curl_available=yes ], [ tpkp_curl_available=no ] )
+else
 PKG_CHECK_MODULES(TPKP_CURL, tpkp-curl, [ tpkp_curl_available=yes ], [ tpkp_curl_available=no ] )
+fi
 
 if test "x$tpkp_curl_available" = "xyes"; then
   DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DTPK_CURL_ENABLED "
@@ -171,6 +174,18 @@ AC_ARG_ENABLE(wayland,
               enable_wayland=yes,
               enable_wayland=no)
 
+AC_ARG_ENABLE([cxx03_abi],
+              [AC_HELP_STRING([--enable-cxx03-abi],
+                              [Specify abi for the build])],
+              [enable_cxx03_abi=$enableval],
+              [enable_cxx03_abi=no])
+
+AC_ARG_ENABLE([rename_so],
+              [AC_HELP_STRING([--enable-rename-so],
+                              [Specify whether so file is renamed or not])],
+              [enable_rename_so=$enableval],
+              [enable_rename_so=yes])
+
 DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DDALI_PROFILE_${enable_profile}"
 DALI_PROFILE_CFLAGS=" -DDALI_PROFILE_${enable_profile}"
 AM_CONDITIONAL([COMMON_PROFILE], [test x$enable_profile = xCOMMON])
@@ -182,6 +197,8 @@ AM_CONDITIONAL([UBUNTU_PROFILE], [test x$enable_profile = xUBUNTU])
 AM_CONDITIONAL([WAYLAND], [test x$enable_wayland = xyes])
 AM_CONDITIONAL([USE_APPFW], [test x$enable_appfw = xyes])
 AM_CONDITIONAL([USE_APPFW_EFL_BASE], [test x$enable_tizen_major_version = x3])
+AM_CONDITIONAL([ENABLE_CXX03_ABI], [test x$enable_cxx03_abi = xyes])
+AM_CONDITIONAL([ENABLE_RENAME_SO], [test x$enable_rename_so = xyes])
 
 # Platforms with highp shader support can use vector based text
 AM_CONDITIONAL([ENABLE_VECTOR_BASED_TEXT_RENDERING], [test x$enable_profile = xUBUNTU])
@@ -205,6 +222,12 @@ if test "x$enable_profile" = "xLITE"; then
 PKG_CHECK_MODULES(OPENGLES20, gles20)
 fi
 
+if test "x$enable_cxx03_abi" = "xyes"; then
+PKG_CHECK_MODULES(DALICORE, dali-core-cxx03)
+else
+PKG_CHECK_MODULES(DALICORE, dali-core)
+fi
+
 if test "x$enable_profile" = "xWEARABLE"; then
 PKG_CHECK_MODULES(OPENGLES20, glesv2)
 PKG_CHECK_MODULES(SCREENCONNECTORPROVIDER, screen_connector_provider)
@@ -228,6 +251,10 @@ if test "x$enable_profile" = "xUBUNTU"; then
 PKG_CHECK_MODULES(OPENGLES20, glesv2 egl)
 else
 
+if test "x$enable_cxx03_abi" = "xyes"; then
+ DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
+fi
+
 PKG_CHECK_MODULES(DLOG, dlog)
 PKG_CHECK_MODULES(TTS, tts)
 PKG_CHECK_MODULES(VCONF, vconf)
@@ -316,11 +343,13 @@ AC_SUBST(tizenPlatformConfigSupported)
 devincludepath=${includedir}
 AC_SUBST(devincludepath)
 
-AC_CONFIG_FILES([
- Makefile
- dali-adaptor.pc
- dali-adaptor-integration.pc
-])
+AC_CONFIG_FILES([Makefile])
+
+if test "x$enable_cxx03_abi" = "xyes"; then
+AC_CONFIG_FILES([dali-adaptor-cxx03.pc dali-adaptor-integration-cxx03.pc])
+else
+AC_CONFIG_FILES([dali-adaptor.pc dali-adaptor-integration.pc])
+fi
 
 if test "x$freetype_bitmap_support" = "xyes"; then
 DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DFREETYPE_BITMAP_SUPPORT"
diff --git a/build/tizen/adaptor/dali-adaptor-cxx03.pc.in b/build/tizen/adaptor/dali-adaptor-cxx03.pc.in
new file mode 100644 (file)
index 0000000..edf75d5
--- /dev/null
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+apiversion=@DALI_ADAPTOR_VERSION@
+libdir=@libdir@
+includedir=@devincludepath@
+
+Name: dali-adaptor-cxx03
+Description: DALi adaptor using ecore
+Version: ${apiversion}
+Requires: dali-core-cxx03
+Libs: -L${libdir} -ldali-adaptor-cxx03
+Cflags: -I${includedir}/dali
diff --git a/build/tizen/adaptor/dali-adaptor-integration-cxx03.pc.in b/build/tizen/adaptor/dali-adaptor-integration-cxx03.pc.in
new file mode 100644 (file)
index 0000000..db22442
--- /dev/null
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+apiversion=@DALI_ADAPTOR_VERSION@
+libdir=@libdir@
+includedir=@devincludepath@
+
+Name: dali-adaptor-integration-cxx03
+Description: Integration APIs for dali-adaptor
+Version: ${apiversion}
+Requires: dali-adaptor-cxx03
+Libs: -L${libdir}
+Cflags: -I${includedir}/dali/public-api/adaptor-framework/ -I${includedir}/dali/devel-api/adaptor-framework/ -I${includedir}/dali/integration-api/adaptors/
index 5944acd..7e690be 100644 (file)
@@ -25,6 +25,8 @@ plugin_sounds_dir = ../../../plugins/sounds
 
 lib_LTLIBRARIES =
 
+if ENABLE_CXX03_ABI
+
 if USE_FEEDBACK
 lib_LTLIBRARIES += libdali-feedback-plugin.la
 endif
@@ -35,17 +37,32 @@ lib_LTLIBRARIES += libdali-video-player-plugin.la
 endif
 endif
 
+else
+
+if USE_FEEDBACK
+lib_LTLIBRARIES += libdali-feedback-plugin-cxx11.la
+endif
+
+if WAYLAND
+
+if USE_VIDEOPLAYER
+lib_LTLIBRARIES += libdali-video-player-plugin-cxx11.la
+endif
+endif
+endif
+
 if USE_FEEDBACK
 dalisounddir = ${dataReadOnlyDir}/plugins/sounds/
 dalisound_DATA = ${dali_plugin_sound_files}
 
 # Feedback
-libdali_feedback_plugin_la_SOURCES = \
+LIBDALI_FEEDBACK_PLUGIN_LA_SOURCES = \
                      $(feedback_plugin_src_files)
 
+
 libdali_feedback_plugin_la_DEPENDENCIES =
 
-libdali_feedback_plugin_la_CXXFLAGS = -DDALI_COMPILATION \
+LIBDALI_FEEDBACK_PLUGIN_LA_CXXFLAGS = -DDALI_COMPILATION \
                       -DDALI_SOUND_DIR="\"${dalisounddir}\"" \
                       $(DLOG_CFLAGS) \
                       $(DALICORE_CFLAGS) \
@@ -59,14 +76,14 @@ libdali_feedback_plugin_la_CXXFLAGS = -DDALI_COMPILATION \
                       -I../../../adaptors/devel-api/adaptor-framework \
                       -Werror -Wall
 
-libdali_feedback_plugin_la_LIBADD = \
+LIBDALI_FEEDBACK_PLUGIN_LA_LIBADD = \
                       $(DLOG_LIBS) \
                       $(MMFSOUND_LIBS)
 
-libdali_feedback_plugin_la_LDFLAGS = \
+LIBDALI_FEEDBACK_PLUGIN_LA_LDFLAGS = \
                       -rdynamic
 
-libdali_feedback_plugin_la_LIBADD += \
+LIBDALI_FEEDBACK_PLUGIN_LA_LIBADD += \
                       $(FEEDBACK_LIBS)
 
 endif
@@ -75,12 +92,12 @@ endif
 if WAYLAND
 if USE_VIDEOPLAYER
 
-libdali_video_player_plugin_la_SOURCES = \
+LIBDALI_VIDEO_PLAYER_PLUGIN_LA_SOURCES = \
                      $(video_player_plugin_src_files)
 
-libdali_video_player_plugin_la_DEPENDENCIES =
+libdali_video_player_plugin_la__DEPENDENCIES =
 
-libdali_video_player_plugin_la_CXXFLAGS = -DDALI_COMPILATION \
+LIBDALI_VIDEO_PLAYER_PLUGIN_LA_CXXFLAGS = -DDALI_COMPILATION \
                       -DDALI_ADAPTOR_COMPILATION \
                       $(DLOG_CFLAGS) \
                       $(DALICORE_CFLAGS) \
@@ -96,13 +113,83 @@ libdali_video_player_plugin_la_CXXFLAGS = -DDALI_COMPILATION \
                       -I../../../plugins/video-player \
                       -Werror -Wall
 
-libdali_video_player_plugin_la_LIBADD = \
+LIBDALI_VIDEO_PLAYER_PLUGIN_LA_LIBADD = \
                       $(DLOG_LIBS) \
                       $(ECORE_WAYLAND_LIBS) \
                       $(CAPI_MEDIA_PLAYER_LIBS)
 
-libdali_video_player_plugin_la_LDFLAGS = \
+LIBDALI_VIDEO_PLAYER_PLUGIN_LA_LDFLAGS = \
                       -rdynamic
 
 endif # USE_VIDEOPLAYER
 endif # WAYLAND
+
+if ENABLE_CXX03_ABI
+
+if USE_FEEDBACK
+libdali_feedback_plugin_la_SOURCES = $(LIBDALI_FEEDBACK_PLUGIN_LA_SOURCES)
+libdali_feedback_plugin_la_LIBADD = $(LIBDALI_FEEDBACK_PLUGIN_LA_LIBADD)
+libdali_feedback_plugin_la_CXXFLAGS = $(LIBDALI_FEEDBACK_PLUGIN_LA_CXXFLAGS)
+libdali_feedback_plugin_la_LDFLAGS = $(LIBDALI_FEEDBACK_PLUGIN_LA_LDFLAGS)
+
+if ENABLE_RENAME_SO
+#rename
+install: install-am
+       rm -rf $(libdir)/libdali_feedback_plugin.so
+       rm -rf $(libdir)/libdali_feedback_plugin-cxx03.so
+       ln -s $(libdir)/libdali_feedback_plugin.so.0.0.* $(libdir)/libdali_feedback_plugin-cxx03.so
+endif
+endif
+
+if WAYLAND
+if USE_VIDEOPLAYER
+libdali_video_player_plugin_la_SOURCES = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_SOURCES)
+libdali_video_player_plugin_la_CXXFLAGS = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_CXXFLAGS)
+libdali_video_player_plygin_la_LIBADD = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_LIBADD)
+libdali_video_player_plugin_la_LDFLAGS = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_LDFLAGS)
+
+if ENABLE_RENAME_SO
+#rename
+install: install-am
+       rm -rf $(libdir)/libdali_video_player_plugin.so
+       rm -rf $(libdir)/libdali_video_player_plugin-cxx03.so
+       ln -s $(libdir)/libdali_video_player_plugin.so.0.0.* $(libdir)/libdali_video_player_plugin-cxx03.so
+endif
+endif
+endif
+
+else # CXX03
+
+if USE_FEEDBACK
+libdali_feedback_plugin_cxx11_la_SOURCES = $(LIBDALI_FEEDBACK_PLUGIN_LA_SOURCES)
+libdali_feedback_plugin_cxx11_la_LIBADD = $(LIBDALI_FEEDBACK_PLUGIN_LA_LIBADD)
+libdali_feedback_plugin_cxx11_la_CXXFLAGS = $(LIBDALI_FEEDBACK_PLUGIN_LA_CXXFLAGS)
+libdali_feedback_plugin_cxx11_la_LDFLAGS = $(LIBDALI_FEEDBACK_PLUGIN_LA_LDFLAGS)
+
+if ENABLE_RENAME_SO
+#rename
+install: install-am
+       rm -rf $(libdir)/libdali_feedback_plugin-cxx11.so
+       rm -rf $(libdir)/libdali_feedback_plugin.so
+       ln -s $(libdir)/libdali_feedback_plugin-cxx11.so.0.0.* $(libdir)/libdali_feedback_plugin.so
+endif
+endif
+
+if WAYLAND
+if USE_VIDEOPLAYER
+libdali_video_player_plugin_cxx11_la_SOURCES = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_SOURCES)
+libdali_video_player_plugin_cxx11_la_CXXFLAGS = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_CXXFLAGS)
+libdali_video_player_plygin_cxx11_la_LIBADD = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_LIBADD)
+libdali_video_player_plugin_cxx11_la_LDFLAGS = $(LIBDALI_VIDEO_PLAYER_PLUGIN_LA_LDFLAGS)
+
+if ENABLE_RENAME_SO
+#rename
+install: install-am
+       rm -rf $(libdir)/libdali_video_player_plugin-cxx11.so
+       rm -rf $(libdir)/libdali_video_player_plugin.so
+       ln -s $(libdir)/libdali_video_player_plugin-cxx11.so.0.0.* $(libdir)/libdali_video_player_plugin.so
+endif
+endif
+endif
+
+endif # CXX03
index 3bd8eb9..fc950ba 100644 (file)
@@ -25,6 +25,13 @@ AM_CONDITIONAL([WAYLAND], [test x$enable_wayland = xyes])
 AM_CONDITIONAL([USE_FEEDBACK], [test x$enable_feedback = xyes])
 AM_CONDITIONAL([USE_VIDEOPLAYER], [test x$enable_videoplayer = xyes])
 
+AM_CONDITIONAL([ENABLE_CXX03_ABI], [test x$enable_cxx03_abi = xyes])
+AM_CONDITIONAL([ENABLE_RENAME_SO], [test x$enable_rename_so = xyes])
+
+if test "x$enable_cxx03_abi" = "xyes"; then
+ DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
+fi
+
 if test "x$enable_wayland" = "xyes"; then
 if test "x$enable_videoplayer" = "xyes"; then
 if test "x$enable_profile" != "xUBUNTU"; then
index 4b1ef3c..af5ba44 100644 (file)
@@ -19,7 +19,7 @@
 
 Name:       dali-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    1.2.54
+Version:    1.2.56
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT
@@ -37,6 +37,10 @@ Requires:       giflib
 BuildRequires:  pkgconfig(libtzplatform-config)
 %endif
 
+%if 0%{?tizen_version_major} < 4
+%define disable_cxx03_build 1
+%endif
+
 # Get the profile from tizen_profile_name if tizen version is 2.x and tizen_profile_name exists.
 
 %if "%{tizen_version_major}" == "2" && 0%{?tizen_profile_name:1}
@@ -54,13 +58,18 @@ BuildRequires:  pkgconfig(screen_connector_provider)
 BuildRequires:  pkgconfig(gles20)
 BuildRequires:  pkgconfig(glesv2)
 
+%if !0%{?disable_cxx03_build}
+BuildRequires:  dali-devel-cxx03
+BuildRequires:  dali-integration-devel-cxx03
+%endif
+BuildRequires:  dali-devel
+BuildRequires:  dali-integration-devel
+
 BuildRequires:  pkgconfig
 BuildRequires:  gawk
 BuildRequires:  giflib-devel
 BuildRequires:  pkgconfig(fontconfig)
 BuildRequires:  libjpeg-turbo-devel
-BuildRequires:  dali-devel
-BuildRequires:  dali-integration-devel
 BuildRequires:  pkgconfig(vconf)
 BuildRequires:  tts-devel
 BuildRequires:  pkgconfig(dlog)
@@ -90,6 +99,9 @@ BuildRequires:  pkgconfig(ecore-wayland)
 BuildRequires:  pkgconfig(libtbm)
 
 # tpkp-curl (certificate pinning for libcurl functions) is only available in Tizen 3.0
+%if !0%{?disable_cxx03_build}
+BuildRequires:  pkgconfig(tpkp-curl-deprecated)
+%endif
 BuildRequires:  pkgconfig(tpkp-curl)
 
 ####### BUILDING FOR X11#######
@@ -114,6 +126,7 @@ BuildRequires:  pkgconfig(capi-appfw-app-common)
 BuildRequires:  pkgconfig(capi-appfw-app-control)
 BuildRequires:  pkgconfig(ecore-imf)
 %endif
+
 BuildRequires:  pkgconfig(capi-system-system-settings)
 
 # for feedback plugin
@@ -134,6 +147,16 @@ Recommends: %{name}-profile_common = %{version}-%{release}
 The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core
 platform abstraction and application shell
 
+%if !0%{?disable_cxx03_build}
+%package cxx03
+Summary:       The DALi Tizen Adaptor with cxx03 abi
+Provides:      %{name}-cxx03 = %{version}-%{release}
+
+%description cxx03
+The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core
+platform abstraction and application shell
+%endif
+
 ###########################################
 # Dali adapter for profiles
 ###########################################
@@ -210,6 +233,84 @@ Conflicts:      %{name}-profile_ivi
 The DALi Tizen Adaptor for common.
 %endif
 
+%if !0%{?disable_cxx03_build}
+###########################################
+# Dali adapter for profiles for cxx03 ABI
+###########################################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_mobile-cxx03
+Summary:       The DALi Tizen Adaptor for mobile with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_mobile-cxx03
+The DALi Tizen Adaptor for mobile.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%package profile_tv-cxx03
+Summary:       The DALi Tizen Adaptor for tv with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_tv-cxx03
+The DALi Tizen Adaptor for tv.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_wearable-cxx03
+Summary:       The DALi Tizen Adaptor for wearable with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_wearable-cxx03
+The DALi Tizen Adaptor for wearable.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%package profile_ivi-cxx03
+Summary:       The DALi Tizen Adaptor for ivi with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_ivi-cxx03
+The DALi Tizen Adaptor for ivi.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+# Currently Tizen Common we use does not have wayland extensions like xdg-shell
+%package profile_common-cxx03
+%define tizen_2_2_compatibility 0
+Summary:  The DALi Tizen Adaptor for common with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+%description profile_common-cxx03
+The DALi Tizen Adaptor for common.
+%endif
+%endif
+
 ##############################
 # devel
 ##############################
@@ -233,6 +334,31 @@ Requires:   %{name} = %{version}-%{release}
 %description integration-devel
 Integration development package for the Adaptor - headers for integrating with an adaptor library.
 
+%if !0%{?disable_cxx03_build}
+##############################
+# devel cxx03
+##############################
+%package devel-cxx03
+Summary:    Development components for the DALi Tizen Adaptor with cxx03 abi
+Group:      Development/Building
+Requires:   %{name}-cxx03 = %{version}-%{release}
+Requires:   %{name}-integration-devel-cxx03 = %{version}-%{release}
+
+%description devel-cxx03
+Development components for the DALi Tizen Adaptor - public headers and package configs
+
+##############################
+# integration-devel cxx03
+##############################
+%package integration-devel-cxx03
+Summary:    Integration development package for the Adaptor with cxx03 abi
+Group:      Development/Building
+Requires:   %{name}-cxx03 = %{version}-%{release}
+
+%description integration-devel-cxx03
+Integration development package for the Adaptor - headers for integrating with an adaptor library.
+%endif
+
 ##############################
 # Dali Feedback Plugin
 ##############################
@@ -255,6 +381,31 @@ Group:      System/Libraries
 VideoPlayer plugin to play a video file for Dali
 %endif
 
+%if !0%{?disable_cxx03_build}
+##############################
+# Dali Feedback Plugin cxx03
+##############################
+
+%package dali-feedback-plugin-cxx03
+Summary:    Plugin to play haptic and audio feedback for Dali with cxx03 abi
+Group:      System/Libraries
+Requires:   %{name}-cxx03 = %{version}-%{release}
+%description dali-feedback-plugin-cxx03
+Feedback plugin to play haptic and audio feedback for Dali
+
+##############################
+# Dali VideoPlayer Plugin
+##############################
+%if %{with wayland}
+
+%package dali-video-player-plugin-cxx03
+Summary:    Plugin to play a video file for Dali with cxx03 abi
+Group:      System/Libraries
+%description dali-video-player-plugin-cxx03
+VideoPlayer plugin to play a video file for Dali
+%endif
+%endif
+
 ##############################
 # Preparation
 ##############################
@@ -326,7 +477,9 @@ TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TI
 %endif
 
 # Default to GLES 2.0 if not specified.
-%{!?target_gles_version: %define target_gles_version 20}
+%if 0%{?target_gles_version} == 0
+%define target_gles_version 20
+%endif
 
 # Set up the build via configure.
 #######################################################################
@@ -352,7 +505,8 @@ TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TI
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -363,8 +517,12 @@ popd
 
 pushd %{buildroot}%{_libdir}
 for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
+
 %endif
 
 #######################################################################
@@ -390,7 +548,8 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -401,8 +560,11 @@ popd
 
 pushd %{buildroot}%{_libdir}
 for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
 %endif
 
 #######################################################################
@@ -428,7 +590,8 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -439,8 +602,11 @@ popd
 
 pushd %{buildroot}%{_libdir}
 for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
 %endif
 
 #######################################################################
@@ -466,7 +632,8 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -476,9 +643,13 @@ pushd %{_builddir}/%{name}-%{version}/build/tizen
 popd
 
 pushd %{buildroot}%{_libdir}
-for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
+for FILE in libdali-adaptor*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
 %endif
 
 #######################################################################
@@ -505,12 +676,240 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
+popd
+
+make clean
+
+%endif
+
+%if !0%{?disable_cxx03_build}
+#######################################################################
+#BUILD for cxx03 ABI
+#######################################################################
+
+# Set up the build via configure.
+#######################################################################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=MOBILE \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
+
+%endif
+
+#######################################################################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=TV \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
+%endif
+
+#######################################################################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=WEARABLE \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
 %endif
 
+#######################################################################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=IVI \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
+%endif
+
+#######################################################################
+# common ( build dali_videoplayer_plugin for common uses )
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=COMMON \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+%endif
+%endif
 
 ##############################
 # Installation
@@ -532,6 +931,63 @@ rm -rf %{buildroot}%{_libdir}/libdali-adap*.so*
 # wearable || tv || ivi || mobile || unified
 %if "%{?profile}" != "common"
 for FILE in libdali-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+mv dali-adaptor*.pc %{buildroot}%{_libdir}/pkgconfig/
+%endif
+popd
+
+################################################
+#rename 
+###############################################
+pushd %{buildroot}%{_libdir}
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+#%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+rm -rf libdali-adaptor*.so
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.0 libdali-adaptor-cxx03.so
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.0 libdali-adaptor.so
+#%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+rm -rf libdali-adaptor*.so.wearable
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.wearable libdali-adaptor-cxx03.so.wearable
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.wearable libdali-adaptor.so.wearable
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+rm -rf libdali-adaptor*.so.tv
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.tv libdali-adaptor-cxx03.so.tv
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.tv libdali-adaptor.so.tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+rm -rf libdali-adaptor*.so.ivi
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.ivi libdali-adaptor-cxx03.so.ivi
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.ivi libdali-adaptor.so.ivi
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+rm -rf libdali-adaptor*.so.mobile
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.mobile libdali-adaptor-cxx03.so.mobile
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.mobile libdali-adaptor.so.mobile
 %endif
 popd
 
@@ -588,7 +1044,7 @@ exit 0
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %post profile_mobile
 pushd %{_libdir}
-for FILE in libdali-adap*.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
+for FILE in libdali-adaptor-cxx11.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
 popd
 /sbin/ldconfig
 exit 0
@@ -605,7 +1061,7 @@ exit 0
 %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %post profile_tv
 pushd %{_libdir}
-for FILE in libdali-adap*.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+for FILE in libdali-adaptor-cxx11.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
 popd
 /sbin/ldconfig
 exit 0
@@ -622,7 +1078,7 @@ exit 0
 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %post profile_wearable
 pushd %{_libdir}
-for FILE in libdali-adap*.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+for FILE in libdali-adaptor-cxx11.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
 popd
 /sbin/ldconfig
 exit 0
@@ -639,7 +1095,7 @@ exit 0
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
 %post profile_ivi
 pushd %{_libdir}
-for FILE in libdali-adap*.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
+for FILE in libdali-adaptor-cxx11.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
 popd
 /sbin/ldconfig
 exit 0
@@ -649,6 +1105,76 @@ exit 0
 exit 0
 %endif
 
+%if !0%{?disable_cxx03_build}
+##############################
+#cxx03 ABI
+#############################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_mobile-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_mobile-cxx03
+/sbin/ldconfig
+exit 0
+%endif
+
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%post profile_tv-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_tv-cxx03
+/sbin/ldconfig
+exit 0
+%endif
+
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_wearable-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_wearable-cxx03
+/sbin/ldconfig
+exit 0
+%endif
+
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%post profile_ivi-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_ivi-cxx03
+/sbin/ldconfig
+exit 0
+%endif
+%endif
 
 ##############################
 # Files in Binary Packages
@@ -664,9 +1190,30 @@ exit 0
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if common ||"undefined"
+#%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx11.so.0*
+%{_libdir}/libdali-adaptor.so
+%exclude %{_libdir}/libdali-adap*.so*.mobile
+%exclude %{_libdir}/libdali-adap*.so*.wearable
+%exclude %{_libdir}/libdali-adap*.so*.tv
+%exclude %{_libdir}/libdali-adap*.so*.ivi
+#%endif
+
+%if !0%{?disable_cxx03_build}
+%files cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%defattr(-,app,app,-)
+%dir %{user_shader_cache_dir}
+%{_bindir}/*
+%license LICENSE
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*
+%{_libdir}/libdali-adaptor.so.0*
+%{_libdir}/libdali-adaptor-cxx03.so
 %exclude %{_libdir}/libdali-adap*.so*.mobile
 %exclude %{_libdir}/libdali-adap*.so*.wearable
 %exclude %{_libdir}/libdali-adap*.so*.tv
@@ -674,7 +1221,7 @@ exit 0
 %endif
 
 %if %{with wayland}
-%files dali-video-player-plugin
+%files dali-video-player-plugin-cxx03
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
 %{_libdir}/libdali-video-player-plugin.so*
@@ -682,12 +1229,33 @@ exit 0
 %endif
 
 %if 0%{?tizen_version_major} >= 3
-%files dali-feedback-plugin
+%files dali-feedback-plugin-cxx03
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
 %{_libdir}/libdali-feedback-plugin.so*
 %{dali_plugin_sound_files}/*
 %endif
+%endif
+
+#################################################
+
+%if %{with wayland}
+%files dali-video-player-plugin
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-video-player-plugin-cxx11.so*
+%license LICENSE
+%endif
+
+%if 0%{?tizen_version_major} >= 3
+%files dali-feedback-plugin
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-feedback-plugin-cxx11.so*
+%{dali_plugin_sound_files}/*
+%endif
+
+#################################################
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if common ||"undefined"
@@ -702,7 +1270,8 @@ exit 0
 %files profile_mobile
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.mobile
+%{_libdir}/libdali-adaptor.so.mobile
+%{_libdir}/libdali-adaptor-cxx11.so.0*.mobile
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
@@ -711,7 +1280,8 @@ exit 0
 %files profile_tv
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.tv
+%{_libdir}/libdali-adaptor.so.tv
+%{_libdir}/libdali-adaptor-cxx11.so.0*.tv
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
@@ -720,7 +1290,8 @@ exit 0
 %files profile_wearable
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.wearable
+%{_libdir}/libdali-adaptor.so.wearable
+%{_libdir}/libdali-adaptor-cxx11.so.0*.wearable
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
@@ -729,7 +1300,8 @@ exit 0
 %files profile_ivi
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.ivi
+%{_libdir}/libdali-adaptor.so.ivi
+%{_libdir}/libdali-adaptor-cxx11.so.0*.ivi
 %endif
 
 
@@ -745,3 +1317,70 @@ exit 0
 %defattr(-,root,root,-)
 %{dev_include_path}/dali/integration-api/adaptors/*
 %{_libdir}/pkgconfig/dali-adaptor-integration.pc
+
+%if !0%{?disable_cxx03_build}
+################################################
+# cxx03 ABI
+################################################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%files profile_common-cxx03
+# default .so files are housed in the main pkg.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%files profile_mobile-cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx03.so.mobile
+%{_libdir}/libdali-adaptor.so.0*mobile
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%files profile_tv-cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx03.so.tv
+%{_libdir}/libdali-adaptor.so.0*.tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%files profile_wearable-cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx03.so.wearable
+%{_libdir}/libdali-adaptor.so.0*.wearable
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%files profile_ivi-cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx03.so.ivi
+%{_libdir}/libdali-adaptor.so.0*.ivi
+%endif
+
+
+%files devel-cxx03
+%defattr(-,root,root,-)
+%{dev_include_path}/dali/dali.h
+%{dev_include_path}/dali/public-api/*
+%{dev_include_path}/dali/devel-api/*
+%{dev_include_path}/dali/doc/*
+%{_libdir}/pkgconfig/dali-adaptor-cxx03.pc
+
+%files integration-devel-cxx03
+%defattr(-,root,root,-)
+%{dev_include_path}/dali/integration-api/adaptors/*
+%{_libdir}/pkgconfig/dali-adaptor-integration-cxx03.pc
+%endif
index fe474f5..d39c361 100755 (executable)
@@ -108,6 +108,9 @@ enum KtxInternalFormat
   KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR      = 0x93DC,
   KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR      = 0x93DD,
 
+  // Uncompressed Alpha format
+  KTX_UNCOMPRESSED_ALPHA8                         = 0x1906,
+
   KTX_SENTINEL = ~0u
 };
 
@@ -159,6 +162,9 @@ const unsigned KtxInternalFormats[] =
   KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
   KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
 
+  // Uncompressed Alpha format
+  KTX_UNCOMPRESSED_ALPHA8,
+
   KTX_SENTINEL
 };
 
@@ -445,6 +451,13 @@ bool ConvertPixelFormat(const uint32_t ktxPixelFormat, Dali::Pixel::Format& form
       break;
     }
 
+    // Uncompressed Alpha format
+    case KTX_UNCOMPRESSED_ALPHA8:
+    {
+      format = A8;
+      break;
+    }
+
     default:
     {
        return false;
@@ -482,10 +495,21 @@ bool LoadKtxHeader( FILE * const fp, unsigned int& width, unsigned int& height,
   const bool textureHasNoMipmapLevels                 = fileHeader.numberOfMipmapLevels == 0 || fileHeader.numberOfMipmapLevels == 1;
   const bool keyValueDataNotTooLarge                  = fileHeader.bytesOfKeyValueData <= MAX_BYTES_OF_KEYVALUE_DATA;
 
-  const bool headerIsValid = signatureGood && fileEndiannessMatchesSystemEndianness && glTypeIsCompressed &&
-                           glTypeSizeCompatibleWithCompressedTex && glFormatCompatibleWithCompressedTex &&
-                           textureIsNot3D && textureIsNotAnArray && textureIsNotACubemap && textureHasNoMipmapLevels &&
-                           glInternalFormatIsSupportedCompressedTex & keyValueDataNotTooLarge;
+  bool headerIsValid = signatureGood && fileEndiannessMatchesSystemEndianness &&
+                     glTypeSizeCompatibleWithCompressedTex && textureIsNot3D && textureIsNotAnArray &&
+                     textureIsNotACubemap && textureHasNoMipmapLevels && keyValueDataNotTooLarge;
+
+  if( !glTypeIsCompressed )  // check for uncompressed Alpha
+  {
+    const bool isAlpha = ( ( fileHeader.glBaseInternalFormat == KTX_UNCOMPRESSED_ALPHA8 ) && ( fileHeader.glFormat == KTX_UNCOMPRESSED_ALPHA8 ) &&
+                         ( fileHeader.glInternalFormat == KTX_UNCOMPRESSED_ALPHA8 ) );
+    headerIsValid = headerIsValid && isAlpha;
+  }
+  else
+  {
+    headerIsValid = headerIsValid && glFormatCompatibleWithCompressedTex && glInternalFormatIsSupportedCompressedTex;
+  }
+
   if( !headerIsValid )
   {
      DALI_LOG_ERROR( "KTX file invalid or using unsupported features. Header tests: sig: %d, endian: %d, gl_type: %d, gl_type_size: %d, gl_format: %d, internal_format: %d, depth: %d, array: %d, faces: %d, mipmap: %d, vey-vals: %d.\n", 0+signatureGood, 0+fileEndiannessMatchesSystemEndianness, 0+glTypeIsCompressed, 0+glTypeSizeCompatibleWithCompressedTex, 0+glFormatCompatibleWithCompressedTex, 0+glInternalFormatIsSupportedCompressedTex, 0+textureIsNot3D, 0+textureIsNotAnArray, 0+textureIsNotACubemap, 0+textureHasNoMipmapLevels, 0+keyValueDataNotTooLarge);