[4.0] Enhance application device signal
[platform/core/uifw/dali-adaptor.git] / adaptors / ubuntu / framework-ubuntu.cpp
index e3832df..5fce3b6 100644 (file)
@@ -62,7 +62,9 @@ struct Framework::Impl
 
   Impl(void* data)
   : mAbortCallBack( NULL ),
-    mCallbackManager( CallbackManager::New() )
+    mCallbackManager( CallbackManager::New() ),
+    mLanguage( "NOT_SUPPORTED" ),
+    mRegion( "NOT_SUPPORTED" )
   {
   }
 
@@ -76,10 +78,22 @@ struct Framework::Impl
     delete mCallbackManager;
   }
 
-  // Data
+  std::string GetLanguage() const
+  {
+    return mLanguage;
+  }
+
+  std::string GetRegion() const
+  {
+    return mRegion;
+  }
 
+  // Data
   CallbackBase* mAbortCallBack;
   CallbackManager *mCallbackManager;
+  std::string mLanguage;
+  std::string mRegion;
+
   // Static methods
 
   /**
@@ -124,13 +138,12 @@ struct Framework::Impl
 
 };
 
-Framework::Framework(Framework::Observer& observer, int *argc, char ***argv, const std::string& name)
+Framework::Framework( Framework::Observer& observer, int *argc, char ***argv, Type type )
 : mObserver(observer),
   mInitialised(false),
   mRunning(false),
   mArgc(argc),
   mArgv(argv),
-  mName(name),
   mBundleName(""),
   mBundleId(""),
   mAbortHandler( MakeCallback( this, &Framework::AbortCallback ) ),
@@ -195,6 +208,20 @@ std::string Framework::GetBundleId() const
   return mBundleId;
 }
 
+std::string Framework::GetResourcePath()
+{
+  // "DALI_APPLICATION_PACKAGE" is used by Ubuntu specifically to get the already configured Application package path.
+  const char* ubuntuEnvironmentVariable = "DALI_APPLICATION_PACKAGE";
+  char* value = getenv( ubuntuEnvironmentVariable );
+  std::string resourcePath;
+  if ( value != NULL )
+  {
+    resourcePath = value;
+  }
+
+  return resourcePath;
+}
+
 void Framework::SetBundleId(const std::string& id)
 {
   mBundleId = id;
@@ -221,11 +248,6 @@ bool Framework::AppStatusHandler(int type, void *bundleData)
     {
       mInitialised = true;
 
-      // Connect to abnormal exit signals
-      mAbortHandler.AbortOnSignal( SIGINT );
-      mAbortHandler.AbortOnSignal( SIGQUIT );
-      mAbortHandler.AbortOnSignal( SIGKILL );
-
       mObserver.OnInit();
       break;
     }
@@ -239,7 +261,7 @@ bool Framework::AppStatusHandler(int type, void *bundleData)
       break;
 
     case APP_TERMINATE:
-     mObserver.OnTerminate();
+      mObserver.OnTerminate();
       break;
 
     case APP_PAUSE:
@@ -262,6 +284,16 @@ void Framework::InitThreads()
   XInitThreads();
 }
 
+std::string Framework::GetLanguage() const
+{
+  return mImpl->GetLanguage();
+}
+
+std::string Framework::GetRegion() const
+{
+  return mImpl->GetRegion();
+}
+
 } // namespace Adaptor
 
 } // namespace Internal