emulator: modify popup command
authormunkyu.im <munkyu.im@samsung.com>
Wed, 16 Jan 2013 10:55:28 +0000 (19:55 +0900)
committermunkyu.im <munkyu.im@samsung.com>
Wed, 16 Jan 2013 11:04:08 +0000 (20:04 +0900)
1. arrange source code
2. add library path in command
3. fix shared memory check and show popup when error occurs

Signed-off-by: munkyu.im <munkyu.im@samsung.com>
tizen/src/emulator.c
tizen/src/hw/maru_vga.c
tizen/src/skin/maruskin_client.c

index 33b0d21..c6a8601 100644 (file)
@@ -143,8 +143,8 @@ void check_shdmem(void)
                     }
                     shmdt(shm_addr);
                     maru_register_exit_msg(MARU_EXIT_UNKNOWN,
-                                        (char *)"Can not execute this VM.\n \
-                                        The same name is running now.");
+                                        "Can not execute this VM.\n"
+                                        "The same name is running now.");
                     exit(0);
                 } else {
                     shmdt(shm_addr);
@@ -173,7 +173,8 @@ void check_shdmem(void)
 
             if (strcmp(pBuf, tizen_target_path) == 0) {
                 maru_register_exit_msg(MARU_EXIT_UNKNOWN,
-                    "Can not execute this VM.\nThe same name is running now.");
+                    "Can not execute this VM.\n"
+                    "The same name is running now.");
                 UnmapViewOfFile(pBuf);
                 CloseHandle(hMapFile);
                 free(base_port);
index 2f96628..a63da73 100644 (file)
@@ -60,6 +60,7 @@
 #include <sys/types.h>
 #include <sys/ipc.h>
 #include <sys/shm.h>
+#include "maru_err_table.h"
 #endif
 
 #ifdef USE_SHM
@@ -1896,9 +1897,11 @@ void maru_vga_common_init(VGACommonState *s)
     INFO("shared memory key: %d, vga ram_size : %d\n", mykey, s->vram_size);
     shmid = shmget((key_t)mykey, (size_t)s->vram_size, 0666 | IPC_CREAT);
     if (shmid == -1) {
-    ERR("shmget failed\n");
+           ERR( "shmget failed\n");
         perror("maru_vga: ");
-        exit(1);
+        maru_register_exit_msg(MARU_EXIT_UNKNOWN, (char*)"Cannot launch this VM.\n"
+                        "Shared memory is not enough.");
+        exit(0);
     }
 
     shared_memory = shmat(shmid, (void*)0, 0);
index d7e09d7..4dacfe7 100644 (file)
@@ -104,6 +104,7 @@ static void* run_skin_client(void* arg)
     } else {
         strcpy(JAVA_EXEFILE_PATH, "java");
     }
+
     char* bin_dir = get_bin_path();
     int bin_len = strlen(bin_dir);
     char bin_dir_win[bin_len];
@@ -121,9 +122,12 @@ static void* run_skin_client(void* arg)
         len_maxtouchpoint = 1;
     }
 
+    int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) +
 #ifdef CONFIG_WIN32
-    int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + strlen((char*)bin_dir_win) +
-        strlen(bin_dir) + strlen(JAR_SKINFILE) +
+            strlen((char*)bin_dir_win) + strlen(bin_dir) + strlen(JAR_SKINFILE) +
+#else
+            strlen(bin_dir) + strlen(bin_dir) + strlen(JAR_SKINFILE) +
+#endif
         strlen(OPT_SVR_PORT) + strlen(buf_skin_server_port) + strlen(OPT_UID) + strlen(buf_uid) +
         strlen(OPT_VM_PATH) + strlen(vm_path) + strlen(OPT_NET_BASE_PORT) + strlen(buf_tizen_base_port) +
         strlen(OPT_MAX_TOUCHPOINT) + len_maxtouchpoint + strlen(argv) + 46;
@@ -134,34 +138,17 @@ static void* run_skin_client(void* arg)
 
     snprintf(cmd, len, "%s %s %s=\"%s\" \"%s%s\" %s=\"%d\" %s=\"%d\" %s=\"%s\" %s=\"%d\" %s=%d %s",
         JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH,
+#ifdef CONFIG_WIN32
         bin_dir_win, bin_dir, JAR_SKINFILE,
-        OPT_SVR_PORT, skin_server_port,
-        OPT_UID, uid,
-        OPT_VM_PATH, vm_path,
-        OPT_NET_BASE_PORT, tizen_base_port,
-        OPT_MAX_TOUCHPOINT, maxtouchpoint,
-        argv );
 #else
-    int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) +
-        strlen(bin_dir) + strlen(JAR_SKINFILE) + strlen(bin_dir) +
-        strlen(OPT_SVR_PORT) + strlen(buf_skin_server_port) + strlen(OPT_UID) + strlen(buf_uid) +
-        strlen(OPT_VM_PATH) + strlen(vm_path) + strlen(OPT_NET_BASE_PORT) + strlen(buf_tizen_base_port) +
-        strlen(OPT_MAX_TOUCHPOINT) + len_maxtouchpoint + strlen(argv) + 46;
-    if (len > JAVA_MAX_COMMAND_LENGTH) {
-        INFO("swt command length is too long! (%d)\n", len);
-        len = JAVA_MAX_COMMAND_LENGTH;
-    }
-
-    snprintf(cmd, len, "%s %s %s=\"%s\" \"%s%s\" %s=\"%d\" %s=\"%d\" %s=\"%s\" %s=\"%d\" %s=%d %s",
-        JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, bin_dir,
-        bin_dir, JAR_SKINFILE,
+        bin_dir, bin_dir, JAR_SKINFILE,
+#endif
         OPT_SVR_PORT, skin_server_port,
         OPT_UID, uid,
         OPT_VM_PATH, vm_path,
         OPT_NET_BASE_PORT, tizen_base_port,
         OPT_MAX_TOUCHPOINT, maxtouchpoint,
         argv );
-#endif
 
     INFO("command for swt : %s\n", cmd);
 
@@ -316,21 +303,34 @@ int start_simple_client(char* msg)
     } else {
         strcpy(JAVA_EXEFILE_PATH, "java");
     }
-#endif
-
     char* bin_dir = get_bin_path();
+    int bin_dir_len = strlen(bin_dir);
+    char bin_dir_win[bin_dir_len];
+    strcpy(bin_dir_win, bin_dir);
+    bin_dir_win[strlen(bin_dir_win) -1] = '\0';
+#else
+    char* bin_dir = get_bin_path();
+#endif
     INFO("bin directory : %s\n", bin_dir);
 
-    int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) +
-        strlen(bin_dir) + strlen(JAR_SKINFILE) +
-        strlen(JAVA_SIMPLEMODE_OPTION) + strlen(msg) + 7;
+
+    int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + strlen(JAVA_LIBRARY_PATH) +
+#ifdef CONFIG_WIN32
+            strlen((char*)bin_dir_win) + strlen(bin_dir) + strlen(JAR_SKINFILE) +
+#else
+            strlen(bin_dir) + strlen(bin_dir) + strlen(JAR_SKINFILE) +
+#endif
+            strlen(bin_dir) + strlen(JAVA_SIMPLEMODE_OPTION) + strlen(msg) + 11;
     if (len > JAVA_MAX_COMMAND_LENGTH) {
         len = JAVA_MAX_COMMAND_LENGTH;
     }
-
-    snprintf(cmd, len, "%s %s %s%s %s=\"%s\"",
-        JAVA_EXEFILE_PATH, JAVA_EXEOPTION,
-        bin_dir, JAR_SKINFILE, JAVA_SIMPLEMODE_OPTION, msg);
+    snprintf(cmd, len, "%s %s %s=\"%s\" %s%s %s=\"%s\"",
+#ifdef CONFIG_WIN32
+    JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, bin_dir_win,
+#else
+    JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, bin_dir,
+#endif
+    bin_dir, JAR_SKINFILE, JAVA_SIMPLEMODE_OPTION, msg);
     INFO("command for swt : %s\n", cmd);
 
 #ifdef CONFIG_WIN32