add missing else
[platform/core/dotnet/launcher.git] / NativeLauncher / installer-plugin / nitool.cc
index bb996af..5c1ea0a 100644 (file)
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "common.h"
+#include "ni_common.h"
 
 #include <cstdio>
 #include <cstring>
@@ -22,9 +22,9 @@
 #include <algorithm>
 #include <vector>
 
-std::vector<const char*> getCmdArgs(char** begin, char** end)
+std::vector<std::string> getCmdArgs(char** begin, char** end)
 {
-       std::vector<const char*> list;
+       std::vector<std::string> list;
        for (char** itr = begin+1; itr != end; itr++) {
                if (strncmp(*itr, "--", 2) != 0)
                        list.push_back(*itr);
@@ -68,6 +68,13 @@ int main(int argc, char* argv[])
        bool dirMode = false;
        bool rmPkgMode = false;
        bool enableR2R = false;
+       bool pkgDllMode = false;
+
+       NiCommonOption option = {std::string(), std::string(), std::string()};
+       if (initNICommon(&option) < 0) {
+               fprintf(stderr, "Fail to initialize NI Common\n");
+               return -1;
+       }
 
        if (cmdOptionExists(argv, argv+argc, "--r2r")) {
                enableR2R = true;
@@ -93,12 +100,14 @@ int main(int argc, char* argv[])
        } else if (cmdOptionExists(argv, argv+argc, "--regen-all-app")) {
                regenerateAppNI();
                return 0;
+       } else if (cmdOptionExists(argv, argv+argc, "--pkg-dll")) {
+               pkgDllMode = true;
        } else {
                help(argv[0]);
-               return 1;
+               return 0;
        }
 
-       std::vector<const char*> args = getCmdArgs(argv, argv+argc);
+       std::vector<std::string> args = getCmdArgs(argv, argv+argc);
 
        if (args.size() < 1) {
                if (pkgMode)
@@ -110,24 +119,29 @@ int main(int argc, char* argv[])
        }
 
        if (pkgMode) {
-               for (const char* pkg : args) {
+               for (const std::string pkg : args) {
                        if (createNiUnderPkgRoot(pkg, enableR2R) != 0) {
-                               fprintf(stderr, "Failed to get root path from [%s]\n", pkg);
-                               return 1;
+                               fprintf(stderr, "Failed to get root path from [%s]\n", pkg.c_str());
+                               return -1;
                        }
                }
+       } else if (pkgDllMode) {
+               if (createNiDllUnderPkgRoot(args[0], args[1], enableR2R) != 0) {
+                       fprintf(stderr, "Failed to get root path from [%s]\n", args[0].c_str());
+                       return -1;
+               }
        } else if (rmPkgMode) {
-               for (const char* pkg : args) {
+               for (const std::string pkg : args) {
                        if (removeNiUnderPkgRoot(pkg) != 0) {
-                               fprintf(stderr, "Failed to get root path from [%s]\n", pkg);
-                               return 1;
+                               fprintf(stderr, "Failed to get root path from [%s]\n", pkg.c_str());
+                               return -1;
                        }
                }
        } else if (dllMode) {
-               for (const char* dll : args)
-                       createNiSelect(dll, enableR2R);
+               for (const std::string dll : args)
+                       createNiDll(dll, enableR2R);
        } else if (dirMode) {
-               createNiUnderDirs(args.data(), args.size(), false, enableR2R);
+               createNiUnderDirs(args.data(), args.size(), enableR2R);
        }
 
        return 0;