[Title] added sdl event queue
authorgiwoong.kim <giwoong.kim@samsung.com>
Tue, 13 Mar 2012 06:45:37 +0000 (15:45 +0900)
committergiwoong.kim <giwoong.kim@samsung.com>
Tue, 13 Mar 2012 06:45:37 +0000 (15:45 +0900)
[Type]
[Module]
[Priority]
[Jira#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

tizen/src/emulator.c
tizen/src/maru_sdl.c
vl.c

index 98db5b0..91bc5d2 100644 (file)
@@ -30,6 +30,7 @@
  */
 
 
+#include <SDL/SDL.h>
 #include "maru_common.h"
 #include "emulator.h"
 #include "sdb.h"
@@ -48,17 +49,18 @@ int _emulator_condition = 0; //TODO:
 
 int get_emulator_condition(void)
 {
-       return _emulator_condition;
+    return _emulator_condition;
 }
 
 void set_emulator_condition(int state)
 {
-       _emulator_condition = state;
+    _emulator_condition = state;
 }
 
 void exit_emulator(void)
 {
-
+    shutdown_skin_server();
+    SDL_Quit();
 }
 
 static void construct_main_window(int skin_argc, char* skin_argv[])
@@ -77,76 +79,79 @@ static void construct_main_window(int skin_argc, char* skin_argv[])
 
 static void parse_options(int argc, char* argv[], int* skin_argc, char*** skin_argv, int* qemu_argc, char*** qemu_argv)
 {
-       int i;
-       int j;
+    int i;
+    int j;
 
 // FIXME !!!
 // TODO:
-       for(i = 1; i < argc; ++i)
-       {
-               if(strncmp(argv[i], "--skin-args", 11) == 0)
-               {
-                       *skin_argv = &(argv[i + 1]);
-                       break;
-               }
-       }
-       for(j = i; j < argc; ++j)
-       {
-               if(strncmp(argv[j], "--qemu-args", 11) == 0)
-               {
-                       *skin_argc = j - i - 1;
-
-                       *qemu_argc = argc - j - i + 1;
-                       *qemu_argv = &(argv[j]);
-
-                       argv[j] = argv[0];
-
-                       break;
-               }
-       }
+    for(i = 1; i < argc; ++i)
+    {
+        if(strncmp(argv[i], "--skin-args", 11) == 0)
+        {
+            *skin_argv = &(argv[i + 1]);
+            break;
+        }
+    }
+    for(j = i; j < argc; ++j)
+    {
+        if(strncmp(argv[j], "--qemu-args", 11) == 0)
+        {
+            *skin_argc = j - i - 1;
+
+            *qemu_argc = argc - j - i + 1;
+            *qemu_argv = &(argv[j]);
+
+            argv[j] = argv[0];
+
+            break;
+        }
+    }
 }
 
 int qemu_main(int argc, char** argv, char** envp);
 
 int main(int argc, char* argv[])
 {
-       tizen_base_port = get_sdb_base_port();
-       
-       int skin_argc = 0;
-       char** skin_argv = NULL;
+    tizen_base_port = get_sdb_base_port();
+
+    int skin_argc = 0;
+    char** skin_argv = NULL;
 
-       int qemu_argc = 0;
-       char** qemu_argv = NULL;
+    int qemu_argc = 0;
+    char** qemu_argv = NULL;
 
-       parse_options(argc, argv, &skin_argc, &skin_argv, &qemu_argc, &qemu_argv);
+    parse_options(argc, argv, &skin_argc, &skin_argv, &qemu_argc, &qemu_argv);
 
-       int i;
+    int i;
 
 /*
-       printf("%d\n", skin_argc);
-       for(i = 0; i < skin_argc; ++i)
-       {
-               printf("%s\n", skin_argv[i]);
-       }
+    printf("%d\n", skin_argc);
+    for(i = 0; i < skin_argc; ++i)
+    {
+        printf("%s\n", skin_argv[i]);
+    }
 */
 
-//     printf("%d\n", qemu_argc);
-       INFO("Start emulator : =====================================\n");
-       for(i = 0; i < qemu_argc; ++i)
-       {
-           INFO("%s ", qemu_argv[i]);
-       }
-       INFO("\n");
-       INFO("======================================================\n");
+//  printf("%d\n", qemu_argc);
+    INFO("Start emulator : =====================================\n");
+    for(i = 0; i < qemu_argc; ++i)
+    {
+        INFO("%s ", qemu_argv[i]);
+    }
+    INFO("\n");
+    INFO("======================================================\n");
+
+    construct_main_window(skin_argc, skin_argv);
 
-       construct_main_window(skin_argc, skin_argv);
+    sdb_setup();
 
-       sdb_setup();
+    INFO("qemu main start!\n");
+    qemu_main(qemu_argc, qemu_argv, NULL);
 
-       qemu_main(qemu_argc, qemu_argv, NULL);
+//  shutdown_guest_server();
 
-//     shutdown_guest_server();
+    exit_emulator();
 
-       return 0;
+    return 0;
 }
 
index 1f8a8a4..6860c60 100644 (file)
@@ -139,7 +139,19 @@ static void qemu_ds_resize(DisplayState *ds)
 
 static void qemu_ds_refresh(DisplayState *ds)
 {
+    SDL_Event ev1, *ev = &ev1;
+
     vga_hw_update();
+
+    while (SDL_PollEvent(ev)) {
+        switch (ev->type) {
+            case SDL_KEYDOWN:
+            case SDL_KEYUP:
+                break;
+            default:
+                break;
+        }
+    }
 }
 
 
diff --git a/vl.c b/vl.c
index 7edd02f..9334818 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -177,7 +177,6 @@ int qemu_main(int argc, char **argv, char **envp);
 
 #ifdef CONFIG_MARU
 #include "tizen/src/maru_sdl.h"
-#include "tizen/src/skin/maruskin_server.h"
 #endif
 
 //#define DEBUG_NET
@@ -1420,9 +1419,6 @@ void qemu_system_killed(int signal, pid_t pid)
 
 void qemu_system_shutdown_request(void)
 {
-#ifdef CONFIG_MARU
-    shutdown_skin_server();
-#endif
     shutdown_requested = 1;
     qemu_notify_event();
 }