communication: expand the initial protocol for blank-guide
authorGiWoong Kim <giwoong.kim@samsung.com>
Wed, 11 Sep 2013 12:54:56 +0000 (21:54 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Mon, 16 Sep 2013 02:04:17 +0000 (11:04 +0900)
Change-Id: I86f3ebf00516c7d7d16d0b3f255be3d61e819957
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
13 files changed:
tizen/src/maru_display.c
tizen/src/maru_display.h
tizen/src/maru_sdl.c
tizen/src/maru_sdl.h
tizen/src/maru_shm.c
tizen/src/maru_shm.h
tizen/src/skin/client/src/org/tizen/emulator/skin/EmulatorSkin.java
tizen/src/skin/client/src/org/tizen/emulator/skin/comm/sock/SocketCommunicator.java
tizen/src/skin/client/src/org/tizen/emulator/skin/comm/sock/data/StartData.java
tizen/src/skin/client/src/org/tizen/emulator/skin/custom/KeyWindow.java
tizen/src/skin/maruskin_operation.c
tizen/src/skin/maruskin_operation.h
tizen/src/skin/maruskin_server.c

index 577fe1c419759904c3fac385b143d5e1ca728636..582f842ae06966065d5c57566397db626a719630 100644 (file)
@@ -75,12 +75,15 @@ void maru_display_fini(void)
 }
 
 void maruskin_init(uint64 swt_handle,
-    int lcd_size_width, int lcd_size_height)
+    unsigned int display_width, unsigned int display_height,
+    bool blank_guide)
 {
 #ifndef CONFIG_USE_SHM
-    maruskin_sdl_init(swt_handle, lcd_size_width, lcd_size_height);
+    maruskin_sdl_init(swt_handle,
+        display_width, display_height, blank_guide);
 #else
-    maruskin_shm_init(swt_handle, lcd_size_width, lcd_size_height);
+    maruskin_shm_init(swt_handle,
+        display_width, display_height, blank_guide);
 #endif
 }
 
index 1d043ba4e216a8369996188f98b520a20774208a..3c1f7568ad6dbfd59388924825655b97e7672918 100644 (file)
@@ -42,7 +42,8 @@ typedef struct MaruScreenshot {
 void maru_display_init(DisplayState *ds);
 void maru_display_fini(void);
 void maruskin_init(uint64 swt_handle,
-    int lcd_size_width, int lcd_size_height);
+    unsigned int display_width, unsigned int display_height,
+    bool blank_guide);
 
 MaruScreenshot *get_maru_screenshot(void);
 void set_maru_screenshot(DisplaySurface *surface);
index 597bc6eb51053887ca975cf82607f09a41605b8d..f530ea1248ef31294e398e3badcbe27d10fd9d0d 100644 (file)
@@ -785,7 +785,8 @@ static void maru_sdl_init_bh(void *opaque)
 }
 
 void maruskin_sdl_init(uint64 swt_handle,
-    int lcd_size_width, int lcd_size_height)
+    unsigned int display_width, unsigned int display_height,
+    bool blank_guide)
 {
     gchar SDL_windowhack[32] = { 0, };
     long window_id = swt_handle;
@@ -801,7 +802,7 @@ void maruskin_sdl_init(uint64 swt_handle,
     INFO("register SDL environment variable. "
         "(SDL_WINDOWID = %s)\n", SDL_windowhack);
 
-    set_emul_lcd_size(lcd_size_width, lcd_size_height);
+    set_emul_lcd_size(display_width, display_height);
     set_emul_sdl_bpp(SDL_BPP);
     init_multi_touch_state();
 
index f18a924758444986ee591685851c30387fb8f46a..79fed28d4cbeb35f521d2df08e76bdef7476da4b 100644 (file)
@@ -40,7 +40,8 @@
 extern DisplayChangeListenerOps maru_dcl_ops;
 
 void maruskin_sdl_init(uint64 swt_handle,
-    int lcd_size_width, int lcd_size_height);
+    unsigned int display_width, unsigned int display_height,
+    bool blank_guide);
 void maruskin_sdl_resize(void);
 void maruskin_sdl_quit(void);
 
index ae0c4fa2d61986bef1a963320b6d78aa3546dec9..271bf3e431f9c80614bc29a649974b528aec7494 100644 (file)
@@ -188,11 +188,12 @@ DisplayChangeListenerOps maru_dcl_ops = {
 };
 
 void maruskin_shm_init(uint64 swt_handle,
-    int lcd_size_width, int lcd_size_height)
+    unsigned int display_width, unsigned int display_height,
+    bool blank_guide)
 {
     INFO("maru shm init\n");
 
-    set_emul_lcd_size(lcd_size_width, lcd_size_height);
+    set_emul_lcd_size(display_width, display_height);
     set_emul_sdl_bpp(32);
 
     /* byte */
index 50e694c17f008a1ef3a9f4c28402e08bdfadfd4e..ed2898874c1f57bfd88e3bb2fdffe866318a5526 100644 (file)
@@ -36,7 +36,8 @@
 extern DisplayChangeListenerOps maru_dcl_ops;
 
 void maruskin_shm_init(uint64 swt_handle,
-    int lcd_size_width, int lcd_size_height);
+    unsigned int display_width, unsigned int display_height,
+    bool blank_guide);
 void maruskin_shm_resize(void);
 void maruskin_shm_quit(void);
 
index e0cf32df270c760a72dba5a796422a4fa1bc95e3..d4290b4a72c9e4da762d01d9bf311839941c8de8 100755 (executable)
@@ -1727,7 +1727,7 @@ public class EmulatorSkin {
 
                                int answer = SkinUtil.openMessage(shell, null,
                                                "If you force stop an emulator, it may cause some problems.\n"
-                                                               + "Are you sure you want to contiue?",
+                                                               + "Are you sure you want to continue?",
                                                SWT.ICON_QUESTION | SWT.OK | SWT.CANCEL, config);
 
                                if (answer == SWT.OK) {
index 5fc923018a0ff00c6e1fad53921446125bc0b31f..146e4d71572ab2631abba5d09513ff98a64f6a6a 100755 (executable)
@@ -225,30 +225,29 @@ public class SocketCommunicator implements ICommunicator {
                try {
                        dis = new DataInputStream(socket.getInputStream());
                        dos = new DataOutputStream(socket.getOutputStream());
-
-                       sendThread.setDaemon(true);
-                       sendThread.start();
-
-                       int width = config.getArgInt(ArgsConstants.RESOLUTION_WIDTH);
-                       int height = config.getArgInt(ArgsConstants.RESOLUTION_HEIGHT);
-                       int scale = SkinUtil.getValidScale(config);
-//                     short rotation = config.getSkinPropertyShort( SkinPropertiesConstants.WINDOW_ROTATION,
-//                                     EmulatorConfig.DEFAULT_WINDOW_ROTATION );
-                       // has to be portrait mode at first booting time
-                       short rotation = EmulatorConfig.DEFAULT_WINDOW_ROTATION;
-
-                       StartData startData =
-                                       new StartData(initialData, width, height, scale, rotation);
-                       logger.info("StartData" + startData);
-
-                       sendToQEMU(SendCommand.SEND_START, startData, false);
-
                } catch (IOException e) {
                        logger.log(Level.SEVERE, e.getMessage(), e);
                        terminate();
                        return;
                }
 
+               sendThread.setDaemon(true);
+               sendThread.start();
+
+               int width = config.getArgInt(ArgsConstants.RESOLUTION_WIDTH);
+               int height = config.getArgInt(ArgsConstants.RESOLUTION_HEIGHT);
+               int scale = SkinUtil.getValidScale(config);
+               short rotation = EmulatorConfig.DEFAULT_WINDOW_ROTATION;
+
+               boolean isBlankGuide = true;
+               // TODO:
+
+               StartData startData = new StartData(initialData,
+                               width, height, scale, rotation, isBlankGuide);
+               logger.info("" + startData);
+
+               sendToQEMU(SendCommand.SEND_START, startData, false);
+
                boolean ignoreHeartbeat =
                                config.getArgBoolean(ArgsConstants.HEART_BEAT_IGNORE);
 
index 502216655200721b18597616264b3652920726f9..b87becb9c07c1c42de01caefb97808af6350cf3a 100644 (file)
@@ -1,7 +1,7 @@
 /**
- * 
+ * initial data for Qemu
  *
- * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
  *
  * Contact:
  * GiWoong Kim <giwoong.kim@samsung.com>
@@ -36,28 +36,37 @@ import java.io.IOException;
  *
  */
 public class StartData extends AbstractSendData {
-
        private long windowHandleId;
-       private int lcdSizeWidth;
-       private int lcdSizeHeight;
+       private int displayWidth;
+       private int displayHeight;
        private int scale;
        private short rotation;
+       private boolean isBlankGuide;
        
-       public StartData(long windowHandleId, int lcdSizeWidth, int lcdSizeHeight, int scale, short rotation ) {
+       public StartData(long windowHandleId,
+                       int displayWidth, int displayHeight, int scale, short rotation,
+                       boolean isBlankGuide) {
                this.windowHandleId = windowHandleId;
-               this.lcdSizeWidth = lcdSizeWidth;
-               this.lcdSizeHeight = lcdSizeHeight;
+               this.displayWidth = displayWidth;
+               this.displayHeight = displayHeight;
                this.scale = scale;
                this.rotation = rotation;
+               this.isBlankGuide = isBlankGuide;
        }
 
        @Override
        protected void write() throws IOException {
-               writeLong( windowHandleId );
-               writeInt( lcdSizeWidth );
-               writeInt( lcdSizeHeight );
-               writeInt( scale );
-               writeShort( rotation );
+               writeLong(windowHandleId);
+               writeInt(displayWidth);
+               writeInt(displayHeight);
+               writeInt(scale);
+               writeShort(rotation);
+
+               if (isBlankGuide == true) {
+                       writeShort(1);
+               } else {
+                       writeShort(0);
+               }
        }
 
        @Override
@@ -65,11 +74,13 @@ public class StartData extends AbstractSendData {
                StringBuilder builder = new StringBuilder();
                builder.append("StartData [windowHandleId=");
                builder.append(windowHandleId);
-               builder.append(", lcd size " + lcdSizeWidth +"x" + lcdSizeHeight);
+               builder.append(", display size " + displayWidth + "x" + displayHeight);
                builder.append(", scale=");
                builder.append(scale);
                builder.append(", rotation=");
                builder.append(rotation);
+               builder.append(", blank guide=");
+               builder.append(isBlankGuide);
                builder.append("]");
                return builder.toString();
        }
index f4c63a30dc9b39e946c8d997a798adcccbc2d5eb..b2d784bc28170431527c3e825766542fd0afd09a 100644 (file)
@@ -236,7 +236,7 @@ public class KeyWindow extends SkinWindow {
                /* attach HW keys */
                if (keyMapList != null && keyMapList.isEmpty() == false) {
                        for (KeyMapType keyEntry : keyMapList) {
-                               CustomButton HWKeyButton = new CustomButton(composite,
+                               final CustomButton HWKeyButton = new CustomButton(composite,
                                                SWT.NO_FOCUS, imageNormal, imageHover, imagePushed);
                                HWKeyButton.setText(keyEntry.getEventInfo().getKeyName());
                                HWKeyButton.setToolTipText(keyEntry.getTooltip());
@@ -248,6 +248,8 @@ public class KeyWindow extends SkinWindow {
                                HWKeyButton.addMouseListener(new MouseListener() {
                                        @Override
                                        public void mouseDown(MouseEvent e) {
+                                               logger.info(HWKeyButton.getText() + " key is pressed");
+
                                                KeyEventData keyEventData = new KeyEventData(
                                                                KeyEventType.PRESSED.value(), keycode, 0, 0);
                                                communicator.sendToQEMU(
@@ -256,6 +258,8 @@ public class KeyWindow extends SkinWindow {
 
                                        @Override
                                        public void mouseUp(MouseEvent e) {
+                                               logger.info(HWKeyButton.getText() + " key is released");
+
                                                KeyEventData keyEventData = new KeyEventData(
                                                                KeyEventType.RELEASED.value(), keycode, 0, 0);
                                                communicator.sendToQEMU(
index cf0ad5fa98929b275496a9402fe1baaa747411f7..6c6dae698f630c2db2c88107e647b0f6b8341bfa 100644 (file)
@@ -81,16 +81,17 @@ static void send_to_emuld(const char* request_type,
 
 
 void start_display(uint64 handle_id,
-    int lcd_size_width, int lcd_size_height,
-    double scale_factor, short rotation_type)
+    unsigned int display_width, unsigned int display_height,
+    double scale_factor, short rotation_type, bool blank_guide)
 {
-    INFO("start_display handle_id:%ld, display size:%dx%d, \
-scale_factor:%f, rotation_type:%d\n",
-        (long) handle_id, lcd_size_width, lcd_size_height,
-        scale_factor, rotation_type);
+    INFO("start display : handle_id=%ld, display size=%dx%d, "
+        "scale factor=%f, rotation=%d, blank guide=%d\n",
+        (long) handle_id, display_width, display_height,
+        scale_factor, rotation_type, blank_guide);
 
     set_emul_win_scale(scale_factor);
-    maruskin_init(handle_id, lcd_size_width, lcd_size_height);
+    maruskin_init(handle_id,
+        display_width, display_height, blank_guide);
 }
 
 void do_mouse_event(int button_type, int event_type,
index 0ef20c90e991d28253f1d185512411486abbeb64..bf189a4342bbeeec2e793063c4cea3334f5c2d5a 100644 (file)
@@ -47,8 +47,9 @@ struct DetailInfo {
 };
 typedef struct DetailInfo DetailInfo;
 
-void start_display(uint64 handle_id, int lcd_size_width, int lcd_size_height,
-    double scale_factor, short rotation_type);
+void start_display(uint64 handle_id,
+    unsigned int display_width, unsigned int display_height,
+    double scale_factor, short rotation_type, bool blank_guide);
 
 void do_mouse_event(int button_type, int event_type,
     int origin_x, int origin_y, int x, int y, int z);
index 15f435bc7291b34090c5250fcb1bac5f92754017..e5e4c67616fbeec1b26a3ad5d8f478b3d8e20578 100644 (file)
@@ -778,34 +778,37 @@ static void* run_skin_server(void* args)
 
                 }
 
-                switch ( cmd ) {
+                switch (cmd) {
                 case RECV_START: {
-                    log_cnt += sprintf( log_buf + log_cnt, "RECV_START ==\n" );
-                    INFO( log_buf );
+                    log_cnt += sprintf(log_buf + log_cnt, "RECV_START ==\n");
+                    INFO(log_buf);
 
-                    if ( 0 >= length ) {
-                        ERR( "there is no data looking at 0 length." );
+                    if (0 >= length) {
+                        ERR("there is no data looking at 0 length.");
                         continue;
                     }
 
                     /* keep it consistent with emulator-skin definition */
                     uint64 handle_id = 0;
-                    int lcd_size_width = 0;
-                    int lcd_size_height = 0;
+                    int display_width = 0;
+                    int display_height = 0;
                     int scale = 0;
                     double scale_ratio = 0.0;
                     short rotation = 0;
+                    short blank_guide = 0;
 
                     char* p = recvbuf;
-                    memcpy( &handle_id, p, sizeof( handle_id ) );
-                    p += sizeof( handle_id );
-                    memcpy( &lcd_size_width, p, sizeof( lcd_size_width ) );
-                    p += sizeof( lcd_size_width );
-                    memcpy( &lcd_size_height, p, sizeof( lcd_size_height ) );
-                    p += sizeof( lcd_size_height );
-                    memcpy( &scale, p, sizeof( scale ) );
-                    p += sizeof( scale );
-                    memcpy( &rotation, p, sizeof( rotation ) );
+                    memcpy(&handle_id, p, sizeof(handle_id));
+                    p += sizeof(handle_id);
+                    memcpy(&display_width, p, sizeof(display_width));
+                    p += sizeof(display_width);
+                    memcpy(&display_height, p, sizeof(display_height));
+                    p += sizeof(display_height);
+                    memcpy(&scale, p, sizeof(scale));
+                    p += sizeof(scale);
+                    memcpy(&rotation, p, sizeof(rotation));
+                    p += sizeof(rotation);
+                    memcpy(&blank_guide, p, sizeof(blank_guide));
 
                     int low_id = (int)handle_id;
                     int high_id = (int)(handle_id >> 32);
@@ -814,15 +817,18 @@ static void* run_skin_server(void* args)
                     handle_id = high_id;
                     handle_id = (handle_id << 32) | low_id;
 
-                    lcd_size_width = ntohl( lcd_size_width );
-                    lcd_size_height = ntohl( lcd_size_height );
-                    scale = ntohl( scale );
-                    scale_ratio = ( (double) scale ) / 100;
-                    rotation = ntohs( rotation );
+                    display_width = ntohl(display_width);
+                    display_height = ntohl(display_height);
+                    scale = ntohl(scale);
+                    scale_ratio = ((double) scale) / 100;
+                    rotation = ntohs(rotation);
+                    blank_guide = ntohs(blank_guide);
 
-                    set_emul_win_scale( scale_ratio );
+                    set_emul_win_scale(scale_ratio);
 
-                    start_display( handle_id, lcd_size_width, lcd_size_height, scale_ratio, rotation );
+                    start_display(handle_id,
+                        display_width, display_height, scale_ratio, rotation,
+                        (blank_guide == 1) ? true : false);
 
                     break;
                 }