Implement for support-mode 99/97699/3 accepted/tizen/3.0/common/20161116.143716 accepted/tizen/3.0/ivi/20161116.022309 accepted/tizen/3.0/mobile/20161116.022114 accepted/tizen/3.0/tv/20161116.022153 accepted/tizen/3.0/wearable/20161116.022232 submit/tizen_3.0/20161115.024443
authorJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 15 Nov 2016 02:33:04 +0000 (11:33 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 15 Nov 2016 07:48:10 +0000 (23:48 -0800)
Related changes:
[app-installers] : https://review.tizen.org/gerrit/97702
[pkgmgr-info] : https://review.tizen.org/gerrit/97508/

Change-Id: Ife4c8cc93c724d964d24ccc273fbd649a43a797d
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/tpk_manifest_handlers/package_handler.cc
src/tpk_manifest_handlers/package_handler.h
src/tpk_manifest_handlers/service_application_handler.cc
src/tpk_manifest_handlers/service_application_handler.h
src/tpk_manifest_handlers/ui_application_handler.cc
src/tpk_manifest_handlers/ui_application_handler.h
src/tpk_manifest_handlers/watch_application_handler.cc
src/tpk_manifest_handlers/watch_application_handler.h
src/tpk_manifest_handlers/widget_application_handler.cc
src/tpk_manifest_handlers/widget_application_handler.h

index d2c021c961904d2b555d0fe46fdc8fc2a76e0a9c..48c9ab3527ac9da9f0ec4dbd25251dc1ee9c8cea 100644 (file)
@@ -22,6 +22,7 @@ namespace parse {
 namespace {
 const char kNamespace[] = "@namespace";
 const char kAPI[] = "@api-version";
+const char kSupportMode[] = "@support-mode";
 const char kPackage[] = "@package";
 const char kVersion[] = "@version";
 const char kType[] = "@type";
@@ -45,6 +46,8 @@ bool ParsePackageAndStore(
   manifest_dict.GetString(kNamespace, &xmlns);
   std::string api_version;
   manifest_dict.GetString(kAPI, &api_version);
+  std::string support_mode;
+  manifest_dict.GetString(kSupportMode, &support_mode);
   std::string package;
   manifest_dict.GetString(kPackage, &package);
   std::string version;
@@ -60,6 +63,7 @@ bool ParsePackageAndStore(
 
   pkg_info->set_xmlns(xmlns);
   pkg_info->set_api_version(api_version);
+  pkg_info->set_support_mode(support_mode);
   pkg_info->set_package(package);
   pkg_info->set_version(version);
   pkg_info->set_type(type);
index b8632bd380a178b7a9e112cb43011dec26840cc8..4f5b5ebdbaacd37b45b8c91c869f0c361d56f31e 100644 (file)
@@ -40,6 +40,13 @@ class PackageInfo : public parser::ManifestData {
   void set_api_version(std::string api_version) {
     api_version_ = std::move(api_version);
   }
+  /**
+   * @brief set_support_mode set support mode
+   * @param support_mode
+   */
+  void set_support_mode(std::string support_mode) {
+    support_mode_ = std::move(support_mode);
+  }
   /**
    * @brief set_package set package
    * @param package
@@ -91,6 +98,14 @@ class PackageInfo : public parser::ManifestData {
   const std::string& api_version() const {
     return api_version_;
   }
+  /**
+   * @brief support_mode
+   * @return  support_mode string
+   */
+  const std::string& support_mode() const {
+    return support_mode_;
+  }
+
   /**
    * @brief package
    * @return package string
@@ -124,6 +139,7 @@ class PackageInfo : public parser::ManifestData {
  private:
   std::string xmlns_;
   std::string api_version_;
+       std::string support_mode_;
   std::string package_;
   std::string version_;
   std::string type_;
index 01d6eb8654de93d7c249de6f42321f816e4af18c..9a8866e09cd070c658385338187505621172f839 100644 (file)
@@ -31,6 +31,7 @@ const char kServiceApplicationTypeKey[] = "@type";
 const char kServiceApplicationProcessPoolKey[] = "@process-pool";
 const char kServiceApplicationMultipleKey[] = "@multiple";
 const char kServiceApplicationTaskManageKey[] = "@taskmanage";
+const char kServiceApplicationSupportModeKey[] = "@support-mode";
 const char kServiceApplicationKeyText[] = "#text";
 
 const char kTrue[] = "true";
@@ -104,6 +105,8 @@ bool ParseServiceApplicationAndStore(
   app_dict.GetString(kServiceApplicationMultipleKey, &multiple);
   std::string taskmanage("true");
   app_dict.GetString(kServiceApplicationTaskManageKey, &taskmanage);
+  std::string support_mode;
+  app_dict.GetString(kServiceApplicationSupportModeKey, &support_mode);
 
   serviceapplicationinfo->app_info.set_appid(appid);
   serviceapplicationinfo->app_info.set_exec(exec);
@@ -112,6 +115,7 @@ bool ParseServiceApplicationAndStore(
   serviceapplicationinfo->app_info.set_type(type);
   serviceapplicationinfo->app_info.set_multiple(multiple);
   serviceapplicationinfo->app_info.set_taskmanage(taskmanage);
+  serviceapplicationinfo->app_info.set_support_mode(support_mode);
 
   std::string process_pool;
   if (app_dict.GetString(kServiceApplicationProcessPoolKey, &process_pool)) {
index 802aeed933454e4b6ea21a707766bbe4c3a8e45c..81018dd3c27fef614a28278cb933289a34b8e1a2 100644 (file)
@@ -52,6 +52,10 @@ class ServiceApplicationInfo : public ApplicationInfo {
     taskmanage_ = std::move(taskmanage);
   }
 
+  void set_support_mode(std::string support_mode) {
+    support_mode_ = std::move(support_mode);
+  }
+
   const std::string& type() const {
     return type_;
   }
@@ -81,6 +85,10 @@ class ServiceApplicationInfo : public ApplicationInfo {
     return taskmanage_;
   }
 
+  const std::string& support_mode() const {
+    return support_mode_;
+  }
+
  private:
   std::string type_;
   std::string process_pool_;
@@ -88,6 +96,7 @@ class ServiceApplicationInfo : public ApplicationInfo {
   std::string on_boot_;
   std::string multiple_;
   std::string taskmanage_;
+  std::string support_mode_;
 };
 
 struct ServiceApplicationSingleEntry :
index 13ad911c9dd23752cf0e4301de6c3c717f67c613..85a18fed8f7c8df6b6365f191f75e50887d932fb 100644 (file)
@@ -29,6 +29,7 @@ const char kUIApplicationExecKey[] = "@exec";
 const char kUIApplicationLaunchModeKey[] = "@launch_mode";
 const char kUIApplicationMultipleKey[] = "@multiple";
 const char kUIApplicationNoDisplayKey[] = "@nodisplay";
+const char kUIApplicationSupportModeKey[] = "@support-mode";
 const char kUIApplicationTaskManageKey[] = "@taskmanage";
 const char kUIApplicationTypeKey[] = "@type";
 const char kUIApplicationUIGadgetKey[] = "@ui-gadget";
@@ -194,6 +195,9 @@ bool ParseUIApplicationAndStore(
   std::string nodisplay;
   if (app_dict.GetString(kUIApplicationNoDisplayKey, &nodisplay))
     uiapplicationinfo->app_info.set_nodisplay(nodisplay);
+  std::string support_mode;
+  if (app_dict.GetString(kUIApplicationSupportModeKey, &support_mode))
+    uiapplicationinfo->app_info.set_support_mode(support_mode);
   std::string taskmanage;
   if (app_dict.GetString(kUIApplicationTaskManageKey, &taskmanage))
     uiapplicationinfo->app_info.set_taskmanage(taskmanage);
index 49211fc88725b8b54c6f8ddc411efe2691659dd4..f260ade9c083b586a05fc291def05cc9c6d54802 100644 (file)
@@ -52,6 +52,13 @@ class UIApplicationInfo : public ApplicationInfo {
   void set_nodisplay(std::string nodisplay) {
     nodisplay_ = std::move(nodisplay);
   }
+  /**
+   * @brief set_support_mode sets support mode
+   * @param support_mode
+   */
+  void set_support_mode(std::string support_mode) {
+    support_mode_ = std::move(support_mode);
+  }
   /**
    * @brief set_taskmanage set task manage
    * @param taskmanage
@@ -114,6 +121,13 @@ class UIApplicationInfo : public ApplicationInfo {
   const std::string& nodisplay() const {
     return nodisplay_;
   }
+  /**
+   * @brief support_mode
+   * @return support_mode string
+   */
+  const std::string& support_mode() const {
+    return support_mode_;
+  }
   /**
    * @brief taskmanage
    * @return taskmanage
@@ -164,6 +178,7 @@ class UIApplicationInfo : public ApplicationInfo {
   std::string launch_mode_;
   std::string multiple_;
   std::string nodisplay_;
+  std::string support_mode_;
   std::string taskmanage_;
   std::string uigadget_;
   std::string submode_;
index 98c5199b6233428882a1fe20fc8436202056610e..2ee01d8434e64974ca772e71d90d2a8b43265053 100644 (file)
@@ -24,6 +24,7 @@ namespace {
 const char kWatchApplicationAppIDKey[] = "@appid";
 const char kWatchApplicationExecKey[] = "@exec";
 const char kWatchApplicationTypeKey[] = "@type";
+const char kWatchApplicationSupportModeKey[] = "@support-mode";
 const char kWatchApplicationAmbientSupport[] = "@ambient-support";
 const char kWatchApplicationKey[] = "manifest.watch-application";
 
@@ -116,6 +117,10 @@ bool ParseWatchApplication(
   if (app_dict.GetString(kWatchApplicationTypeKey, &type))
     watch_app_info->app_info.set_type(type);
 
+  std::string support_mode;
+  if (app_dict.GetString(kWatchApplicationSupportModeKey, &support_mode))
+    watch_app_info->app_info.set_support_mode(support_mode);
+
   return InitializeParsing(app_dict, watch_app_info, error);
 }
 
index 3bba83992be7d65055847b5f0e2acc531ba0c7ae..cf065b6333f9c9942ed5c7263da84416fe930cb9 100644 (file)
@@ -43,6 +43,10 @@ class WatchApplicationInfo : public ApplicationInfo {
     return type_;
   }
 
+  const std::string& support_mode() const {
+    return support_mode_;
+  }
+
   void set_ambient_support(std::string ambient_support) {
     ambient_support_ = std::move(ambient_support);
   }
@@ -51,9 +55,14 @@ class WatchApplicationInfo : public ApplicationInfo {
     type_ = std::move(type);
   }
 
+  void set_support_mode(std::string support_mode) {
+    support_mode_ = std::move(support_mode);
+  }
+
  private:
   std::string type_;
   std::string ambient_support_;
+  std::string support_mode_;
 };
 
 struct WatchApplicationSingleEntry :
index 41003e21702376806fa0ca10a381381cea5c1276..c5b3ddd5fee3ef1e9da706afd72a71d6de297adc 100644 (file)
@@ -35,6 +35,7 @@ const char kWidgetApplicationExecKey[] = "@exec";
 const char kWidgetApplicationLaunchModeKey[] = "@launch_mode";
 const char kWidgetApplicationMultipleKey[] = "@multiple";
 const char kWidgetApplicationNoDisplayKey[] = "@nodisplay";
+const char kWidgetApplicationSupportModeKey[] = "@support-mode";
 const char kWidgetApplicationHwAccelerationKey[] = "@hwacceleration";
 const char kWidgetApplicationKey[] = "manifest.widget-application";
 const char kWidgetApplicationTypeKey[] = "@type";
@@ -184,6 +185,9 @@ bool ParseWidgetApplicationAndStore(
   std::string nodisplay;
   if (app_dict.GetString(kWidgetApplicationNoDisplayKey, &nodisplay))
     widgetapplicationinfo->app_info.set_nodisplay(nodisplay);
+  std::string support_mode;
+  if (app_dict.GetString(kWidgetApplicationSupportModeKey, &support_mode))
+    widgetapplicationinfo->app_info.set_support_mode(support_mode);
   std::string type;
   if (app_dict.GetString(kWidgetApplicationTypeKey, &type))
     widgetapplicationinfo->app_info.set_type(type);
index 1b6efc04c44b132c3de54786e17dfa575e2dc41b..7037f8029e13e300c14e8d38b745d9e4f4a916c7 100644 (file)
@@ -46,6 +46,11 @@ class WidgetApplicationInfo : public ApplicationInfo {
   void set_nodisplay(std::string nodisplay) {
     nodisplay_ = std::move(nodisplay);
   }
+
+  void set_support_mode(std::string support_mode) {
+    support_mode_ = std::move(support_mode);
+  }
+
   void set_hwacceleration(std::string hwacceleration) {
     hwacceleration_ = std::move(hwacceleration);
   }
@@ -80,6 +85,10 @@ class WidgetApplicationInfo : public ApplicationInfo {
     return nodisplay_;
   }
 
+  const std::string& support_mode() const {
+    return support_mode_;
+  }
+
   const std::string& hwacceleration() const {
     return hwacceleration_;
   }
@@ -92,6 +101,7 @@ class WidgetApplicationInfo : public ApplicationInfo {
   std::string launch_mode_;
   std::string multiple_;
   std::string nodisplay_;
+  std::string support_mode_;
   std::string hwacceleration_;
   std::string type_;