Enable r2r/fnv selection for -regen-all-app option.
authorWoongsuk Cho <ws77.cho@samsung.com>
Wed, 6 Mar 2019 04:05:52 +0000 (13:05 +0900)
committer조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 <ws77.cho@samsung.com>
Mon, 11 Mar 2019 23:25:01 +0000 (08:25 +0900)
Previous implemenataion supports r2r mode only for --regen-all-app.
For convinence of development enable --r2r option for --regen-all-app.

ex) nitool --r2r --rege-all-app

NativeLauncher/installer-plugin/ni_common.cc
NativeLauncher/installer-plugin/ni_common.h
NativeLauncher/installer-plugin/nitool.cc

index 9ca229e..8384fea 100644 (file)
@@ -208,6 +208,7 @@ static int appAotCb(pkgmgrinfo_appinfo_h handle, void *userData)
 {
        char *pkgId = NULL;
        int ret = 0;
+       bool* enableR2R = (bool*)userData;
 
        ret = pkgmgrinfo_appinfo_get_pkgid(handle, &pkgId);
        if (ret != PMINFO_R_OK) {
@@ -221,7 +222,7 @@ static int appAotCb(pkgmgrinfo_appinfo_h handle, void *userData)
        }
 
        // Regenerate ni files with R2R mode forcibiliy. (there is no way to now which option is used)
-       if (createNiUnderPkgRoot(pkgId, true) != 0) {
+       if (createNiUnderPkgRoot(pkgId, *enableR2R) != 0) {
                fprintf(stderr, "Failed to get root path from [%s]\n", pkgId);
                return -1;
        } else {
@@ -464,7 +465,7 @@ int removeNiUnderPkgRoot(const std::string& pkgName)
        return 0;
 }
 
-int regenerateAppNI()
+int regenerateAppNI(bool enableR2R)
 {
        int ret = 0;
        pkgmgrinfo_appinfo_metadata_filter_h handle;
@@ -479,7 +480,7 @@ int regenerateAppNI()
                return -1;
        }
 
-       ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, appAotCb, NULL);
+       ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, appAotCb, &enableR2R);
        if (ret != PMINFO_R_OK) {
                fprintf(stderr, "Failed pkgmgrinfo_appinfo_metadata_filter_foreach\n");
                pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
index d142f7d..4b17905 100644 (file)
@@ -122,6 +122,6 @@ int removeNiUnderPkgRoot(const std::string& pkgId);
 /**
  * @brief regenerate native image for all installed application
  */
-int regenerateAppNI();
+int regenerateAppNI(bool enableR2R);
 
 #endif /* __NI_COMMON_H__ */
index 5c1ea0a..5339bae 100644 (file)
@@ -98,7 +98,7 @@ int main(int argc, char* argv[])
        } else if (cmdOptionExists(argv, argv+argc, "--reset-pkg")) {
                rmPkgMode = true;
        } else if (cmdOptionExists(argv, argv+argc, "--regen-all-app")) {
-               regenerateAppNI();
+               regenerateAppNI(enableR2R);
                return 0;
        } else if (cmdOptionExists(argv, argv+argc, "--pkg-dll")) {
                pkgDllMode = true;