int main(int argc, char *argv[])
{
int i;
- bool standalone = false;
+ bool standaloneMode = false;
char* standalonePath = nullptr;
+ bool corerunMode = false;
std::vector<char*> vargs;
printf("Dotnet launcher Version %s\n", LAUNCHER_VERSION_STR);
return 0;
} else if (StandaloneOption.compare(argv[i]) == 0) {
- standalone = true;
+ standaloneMode = true;
if (i > argc-1) {
fprintf(stderr, "Assembly path must be after \"--standalone\" option\n");
}
}
+ if (isManagedAssembly(argv[1])) {
+ corerunMode = true;
+ }
+
using tizen::runtime::LauncherInterface;
using tizen::runtime::Launchpad;
using tizen::runtime::AppInfo;
std::unique_ptr<LauncherInterface> coreRuntime(new CoreRuntime());
runtime = std::move(coreRuntime);
- if (standalone) {
- _DBG("##### Run it standalone #########");
+ if (corerunMode) {
+ _DBG("##### Run it corerun Mode #########");
+ char appId[1024] = {0,};
+ std::string appRoot;
+ snprintf(appId, 16, "%s", "dotnet-launcher");
+ appRoot = baseName(argv[1]);
+
+ if (runtime->initialize(true) != 0) {
+ _ERR("Failed to initialize");
+ return 1;
+ }
+
+ int argsLen = vargs.size();
+ char** args = &vargs[0];
+ if (runtime->launch(appId, appRoot.c_str(), argv[1], argsLen, args)) {
+ _ERR("Failed to launch");
+ return 1;
+ }
+ } else if (standaloneMode) {
+ _DBG("##### Run it standalone Mode #########");
char appId[1024] = {0,};
std::string appRoot;
if (AUL_R_OK == aul_app_get_appid_bypid(getpid(), appId, sizeof(appId))) {