Parse api-version of applications 10/199510/5
authorSangyoon Jang <jeremy.jang@samsung.com>
Tue, 12 Feb 2019 08:06:34 +0000 (17:06 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Tue, 23 Apr 2019 02:16:50 +0000 (11:16 +0900)
Since tizen 5.5, attribute 'api-version' will be added at each applications.

Change-Id: I4490864e1b0958297186b34b63e0f6ccb3af8c01
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/tpk_manifest_handlers/common/application_handler.h
src/tpk_manifest_handlers/service_application_handler.cc
src/tpk_manifest_handlers/ui_application_handler.cc
src/tpk_manifest_handlers/watch_application_handler.cc
src/tpk_manifest_handlers/widget_application_handler.cc

index 543d0515e17d030fc970122dabaf17d0c3c86e3b..dea3e1092d494f3692e49b9b30dfc8375b6c01f6 100644 (file)
@@ -99,6 +99,10 @@ class ApplicationInfo : public parser::ManifestData {
     mainapp_ = std::move(mainapp);
   }
 
+  void set_api_version(std::string api_version) {
+    api_version_ = std::move(api_version);
+  }
+
   const std::string& appid() const {
     return appid_;
   }
@@ -111,10 +115,15 @@ class ApplicationInfo : public parser::ManifestData {
     return mainapp_;
   }
 
+  const std::string& api_version() const {
+    return api_version_;
+  }
+
  private:
   std::string appid_;
   std::string exec_;
   std::string mainapp_;
+  std::string api_version_;
 };
 
 template<typename T>
index b2a79fede99c5f0f84e74bcb561648da1ed238e4..6cecdc7c0caff8fe02e5d763ea3aa4ceab316883 100644 (file)
@@ -34,6 +34,7 @@ const char kServiceApplicationMultipleKey[] = "@multiple";
 const char kServiceApplicationTaskManageKey[] = "@taskmanage";
 const char kServiceApplicationSupportModeKey[] = "@support-mode";
 const char kServiceApplicationMainappKey[] = "@mainapp";
+const char kServiceApplicationAPIVersionKey[] = "@api-version";
 const char kServiceApplicationKeyText[] = "#text";
 
 const char kTrue[] = "true";
@@ -139,6 +140,10 @@ bool ParseServiceApplicationAndStore(
   if (app_dict.GetString(kServiceApplicationMainappKey, &mainapp))
     serviceapplicationinfo->app_info.set_mainapp(mainapp);
 
+  std::string api_version;
+  if (app_dict.GetString(kServiceApplicationAPIVersionKey, &api_version))
+    serviceapplicationinfo->app_info.set_api_version(api_version);
+
   ParsingFuncPtr<ServiceApplicationSingleEntry> parsingFunc =
       ParseAppControl<ServiceApplicationSingleEntry>;
   if (!InitializeParsingElement(app_dict, tpk_app_keys::kAppControlKey,
index b1ed0f1af94216833e77b30e09c0c3d51193ca1b..187d4a1bc732175e770c73cfec486247c4a6d32d 100644 (file)
@@ -43,6 +43,7 @@ const char kUIApplicationEffectImageTypeKey[] = "@effectimage-type";
 const char kUIApplicationHwAccelerationKey[] = "@hw-acceleration";
 const char kUIApplicationSplashScreenDisplayKey[] = "@splash-screen-display";
 const char kUIApplicationMainappKey[] = "@mainapp";
+const char kUIApplicationAPIVersionKey[] = "@api-version";
 const char kUIApplicationKey[] = "manifest.ui-application";
 
 const char kTrue[] = "true";
@@ -290,6 +291,10 @@ bool ParseUIApplicationAndStore(
   if (app_dict.GetString(kUIApplicationMainappKey, &mainapp))
     uiapplicationinfo->app_info.set_mainapp(mainapp);
 
+  std::string api_version;
+  if (app_dict.GetString(kUIApplicationAPIVersionKey, &api_version))
+    uiapplicationinfo->app_info.set_api_version(api_version);
+
   return InitializeParsing(app_dict, uiapplicationinfo, error);
 }
 
index a4cc91df6098e358c9d58e0f85282717a2b6b8eb..8bcf704013a98cadb5aa3a0db51592546afd49bf 100644 (file)
@@ -28,6 +28,7 @@ const char kWatchApplicationSupportModeKey[] = "@support-mode";
 const char kWatchApplicationAmbientSupportKey[] = "@ambient-support";
 const char kWatchApplicationMainappKey[] = "@mainapp";
 const char kWatchApplicationSetupAppidKey[] = "@setup-appid";
+const char kWatchApplicationAPIVersionKey[] = "@api-version";
 const char kWatchApplicationKey[] = "manifest.watch-application";
 
 const char kTrue[] = "true";
@@ -134,6 +135,10 @@ bool ParseWatchApplication(
   if (app_dict.GetString(kWatchApplicationSetupAppidKey, &setup_appid))
     watch_app_info->app_info.set_setup_appid(setup_appid);
 
+  std::string api_version;
+  if (app_dict.GetString(kWatchApplicationAPIVersionKey, &api_version))
+    watch_app_info->app_info.set_api_version(api_version);
+
   return InitializeParsing(app_dict, watch_app_info, error);
 }
 
index 5964ff51a5a1b7b626fb97dc010b49c24871e1f2..ce4551669da60183c591c8696739b6322dddf999 100644 (file)
@@ -39,6 +39,7 @@ const char kWidgetApplicationNoDisplayKey[] = "@nodisplay";
 const char kWidgetApplicationSupportModeKey[] = "@support-mode";
 const char kWidgetApplicationHwAccelerationKey[] = "@hwacceleration";
 const char kWidgetApplicationMainappKey[] = "@mainapp";
+const char kWidgetApplicationAPIVersionKey[] = "@api-version";
 const char kWidgetApplicationKey[] = "manifest.widget-application";
 const char kWidgetApplicationTypeKey[] = "@type";
 
@@ -213,6 +214,10 @@ bool ParseWidgetApplicationAndStore(
   if (app_dict.GetString(kWidgetApplicationMainappKey, &mainapp))
     widgetapplicationinfo->app_info.set_mainapp(mainapp);
 
+  std::string api_version;
+  if (app_dict.GetString(kWidgetApplicationAPIVersionKey, &api_version))
+    widgetapplicationinfo->app_info.set_api_version(api_version);
+
   return InitializeParsing(app_dict, widgetapplicationinfo, error);
 }