emulator_options: "SKIN_OPTIONS" field is deprecated
authorSeokYeon Hwang <syeon.hwang@samsung.com>
Sun, 19 Jul 2015 05:19:05 +0000 (14:19 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Mon, 20 Jul 2015 07:58:43 +0000 (16:58 +0900)
Change-Id: I33f8dac13f3fcf96716d84112b365f6387770f24
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
tizen/src/emulator.c
tizen/src/emulator_options.c
tizen/src/emulator_options.h

index 97902f1e5f32ac78d59e77bff40421ca8a83f9bb..ac7b64d0784da0bca53aa14a0fe727827300a384 100644 (file)
@@ -71,8 +71,10 @@ extern bool yagl_enabled(void);
 
 int enable_spice = 0;
 
+#if defined(CONFIG_SDL) || defined(CONFIG_USE_SHM)
 int _skin_argc;
 char **_skin_argv;
+#endif
 int _qemu_argc;
 char **_qemu_argv;
 
@@ -110,9 +112,11 @@ static void emulator_notify_exit(Notifier *notifier, void *data)
     for (i = 0; i < _qemu_argc; ++i) {
         g_free(_qemu_argv[i]);
     }
+#if defined(CONFIG_SDL) || defined(CONFIG_USE_SHM)
     for (i = 0; i < _skin_argc; ++i) {
         g_free(_skin_argv[i]);
     }
+#endif
     reset_variables();
 
     LOG_INFO("Exit emulator...\n");
@@ -164,11 +168,13 @@ static void print_options_info(void)
     }
     fprintf(stdout, "\n====================================================\n");
 
+#if defined(CONFIG_SDL) || defined(CONFIG_USE_SHM)
     fprintf(stdout, "skin args: =========================================\n");
     for (i = 0; i < _skin_argc; ++i) {
         fprintf(stdout, "%s ", _skin_argv[i]);
     }
     fprintf(stdout, "\n====================================================\n");
+#endif
 
     fflush(stdout);
 }
@@ -238,7 +244,9 @@ static int emulator_main(int argc, char *argv[], char **envp)
     int c = 0;
 
     _qemu_argv = g_malloc(sizeof(char*) * ARGS_LIMIT);
+#if defined(CONFIG_SDL) || defined(CONFIG_USE_SHM)
     _skin_argv = g_malloc(sizeof(char*) * ARGS_LIMIT);
+#endif
 
     // parse arguments
     // prevent the error message for undefined options
@@ -305,10 +313,26 @@ static int emulator_main(int argc, char *argv[], char **envp)
     }
 
     // assemble arguments for qemu and skin
+#ifdef SUPPORT_SKIN_OPTIONS
     if (!assemble_emulator_args(&_qemu_argc, _qemu_argv,
                         &_skin_argc, _skin_argv)) {
         return -1;
     }
+#else
+    if (!assemble_emulator_args(&_qemu_argc, _qemu_argv)) {
+        return -1;
+    }
+ #if defined(CONFIG_SDL) || defined(CONFIG_USE_SHM)
+    // java skin is deprecated, it is used for only debugging...
+    _skin_argv[_skin_argc++] =
+        g_strdup_printf("skin.path=%s", get_emul_skin_path());
+    _skin_argv[_skin_argc++] =
+        g_strdup_printf("resolution=%s", get_variable("resolution"));
+    _skin_argv[_skin_argc++] =
+        g_strdup_printf("vm.path=%s/%s",
+                get_variable("vms_path"), get_variable("vm_name"));
+ #endif
+#endif
 
 
     LOG_INFO("Start emulator...\n");
@@ -363,9 +387,9 @@ int main(int argc, char *argv[], char **envp)
 #else // WIN32
 int main(int argc, char *argv[])
 {
-#ifndef CONFIG_DARWIN
+ #ifndef CONFIG_DARWIN
     maru_register_exception_handler();
-#endif
+ #endif
     return emulator_main(argc, argv, NULL);
 }
 #endif
index 19cd12dea1663002477f7c22989fcf6bc8d61397..c19e49eaea3cb6c038fa8a956c31b08f2f2c51b7 100644 (file)
@@ -52,7 +52,9 @@ struct emulator_opts {
 };
 
 static struct emulator_opts default_qemu_opts;
+#ifdef SUPPORT_SKIN_OPTIONS
 static struct emulator_opts default_skin_opts;
+#endif
 
 void set_variable(const char * const arg1, const char * const arg2,
                 bool override)
@@ -130,9 +132,11 @@ static void reset_default_opts(void)
     for (i = 0; i < default_qemu_opts.num; ++i) {
         g_free(default_qemu_opts.options[i]);
     }
+#ifdef SUPPORT_SKIN_OPTIONS
     for (i = 0; i < default_skin_opts.num; ++i) {
         g_free(default_skin_opts.options[i]);
     }
+#endif
 }
 
 static char *substitute_variables(char *src, bool recursive)
@@ -277,16 +281,18 @@ bool load_conf(const char * const conf)
                 classification = 0;
                 continue;
             }
-            else if (!g_strcmp0(token, "[[SKIN_OPTIONS]]")) {
-                default_opts = &default_skin_opts;
+            else if (!g_strcmp0(token, "[[QEMU_OPTIONS]]")) {
+                default_opts = &default_qemu_opts;
                 classification = 1;
                 continue;
             }
-            else if (!g_strcmp0(token, "[[QEMU_OPTIONS]]")) {
-                default_opts = &default_qemu_opts;
+#ifdef SUPPORT_SKIN_OPTIONS
+            else if (!g_strcmp0(token, "[[SKIN_OPTIONS]]")) {
+                default_opts = &default_skin_opts;
                 classification = 2;
                 continue;
             }
+#endif
 
             // process line
             switch (classification) {
@@ -306,8 +312,10 @@ bool load_conf(const char * const conf)
 
                     break;
                 }
-            case 1: // skin options
-            case 2: // qemu options
+            case 1: // qemu options
+#ifdef SUPPORT_SKIN_OPTIONS
+            case 2: // skin options
+#endif
                 default_opts->options[default_opts->num++] = g_strdup(token);
 
                 break;
@@ -369,6 +377,7 @@ static bool assemble_args(int *argc, char **argv,
     return true;
 }
 
+#ifdef SUPPORT_SKIN_OPTIONS
 bool assemble_emulator_args(int *qemu_argc, char **qemu_argv,
         int *skin_argc, char **skin_argv)
 {
@@ -386,3 +395,16 @@ bool assemble_emulator_args(int *qemu_argc, char **qemu_argv,
     reset_default_opts();
     return true;
 }
+#else
+bool assemble_emulator_args(int *qemu_argc, char **qemu_argv)
+{
+    if (!assemble_args(qemu_argc, qemu_argv,
+                &default_qemu_opts)) {
+        reset_default_opts();
+        return false;
+    }
+
+    reset_default_opts();
+    return true;
+}
+#endif
index f3d3a4694559dc4a295f0b631c0813ec37fd7440..d1b58154e16493524a595c61fac03751ed1760bf 100644 (file)
 
 #include "emulator_common.h"
 
+// "SKIN_OPTIONS" field is deprecated
+// but it still can be used
+#define SUPPORT_SKIN_OPTIONS
+
 #define KEYWORD_BIN_PATH    "_BIN_PATH_"
 
 void set_variable(const char * const arg1, const char * const arg2, bool override);
 char *get_variable(const char * const name);
 void reset_variables(void);
 bool load_conf(const char * const conf);
+#ifdef SUPPORT_SKIN_OPTIONS
 bool assemble_emulator_args(int *qemu_argc, char **qemu_argv,
         int *skin_argc, char **skin_argv);
+#else
+bool assemble_emulator_args(int *qemu_argc, char **qemu_argv);
+#endif
 
 #endif /* __EMULATOR_OPTIONS_H__ */