sdb: add device_serial_number
authormunkyu.im <munkyu.im@samsung.com>
Thu, 22 Aug 2013 13:16:16 +0000 (22:16 +0900)
committermunkyu.im <munkyu.im@samsung.com>
Fri, 23 Aug 2013 05:44:13 +0000 (14:44 +0900)
device_serial_number = base_port + 1

Change-Id: I1cccf7f9135da3834dbf0f646f295b8564b97ee1
Signed-off-by: munkyu.im <munkyu.im@samsung.com>
tizen/src/emul_state.c
tizen/src/emul_state.h
tizen/src/emulator.c
tizen/src/osutil-darwin.c
tizen/src/osutil-linux.c
tizen/src/osutil-win32.c
tizen/src/osutil.h
tizen/src/sdb.c
tizen/src/sdb.h
tizen/src/skin/maruskin_operation.c

index b74666e..a3a1121 100644 (file)
@@ -42,7 +42,7 @@
 MULTI_DEBUG_CHANNEL(qemu, emul_state);
 
 
-static EmulatorConfigInfo _emul_info;
+static EmulatorConfigInfo _emul_info = {0,};
 static EmulatorConfigState _emul_state;
 
 /* start_skin_client or not ? */
@@ -142,6 +142,7 @@ int get_emul_max_touch_point(void)
 void set_emul_vm_base_port(int port)
 {
     _emul_info.vm_base_port = port;
+    _emul_info.device_serial_number = port + 1;
 }
 
 int get_emul_vm_base_port(void)
@@ -149,6 +150,12 @@ int get_emul_vm_base_port(void)
     return _emul_info.vm_base_port;
 }
 
+int get_device_serial_number(void)
+{
+    return _emul_info.device_serial_number;
+}
+
+
 /* current emulator condition */
 int get_emulator_condition(void)
 {
index ab7a566..80be40c 100644 (file)
@@ -83,6 +83,7 @@ typedef  struct EmulatorConfigInfo {
     bool input_touch_enable;
     int max_touch_point;
     int vm_base_port;
+    int device_serial_number;
     /* add here */
 } EmulatorConfigInfo;
 
@@ -122,6 +123,7 @@ bool is_emul_input_mouse_enable(void);
 bool is_emul_input_touch_enable(void);
 int get_emul_max_touch_point(void);
 int get_emul_vm_base_port(void);
+int get_device_serial_number(void);
 
 int get_emulator_condition(void);
 short get_emul_rotation(void);
index 8ed63b5..e93ec86 100644 (file)
@@ -89,7 +89,6 @@ gchar maru_kernel_cmdline[LEN_MARU_KERNEL_CMDLINE];
 gchar bin_path[PATH_MAX] = { 0, };
 gchar log_path[PATH_MAX] = { 0, };
 
-int tizen_base_port;
 char tizen_target_path[PATH_MAX];
 char tizen_target_img_path[PATH_MAX];
 
@@ -114,7 +113,7 @@ void exit_emulator(void)
     mloop_ev_stop();
     shutdown_skin_server();
     shutdown_guest_server();
-       stop_ecs();
+    stop_ecs();
 
 #ifdef CONFIG_LINUX
     /* clean up the vm lock memory by munkyu */
@@ -322,11 +321,11 @@ static void print_system_info(void)
     INFO("* Current time : %s\n", timeinfo);
 
 #ifdef CONFIG_SDL
-       /* Gets the version of the dynamically linked SDL library */
-       INFO("* Host sdl version : (%d, %d, %d)\n",
-                       SDL_Linked_Version()->major,
-                       SDL_Linked_Version()->minor,
-                       SDL_Linked_Version()->patch);
+    /* Gets the version of the dynamically linked SDL library */
+    INFO("* Host sdl version : (%d, %d, %d)\n",
+            SDL_Linked_Version()->major,
+            SDL_Linked_Version()->minor,
+            SDL_Linked_Version()->patch);
 #endif
 
     print_system_info_os();
@@ -358,21 +357,20 @@ static void prepare_basic_features(void)
         ftp_proxy[MIDBUF] = {0,}, socks_proxy[MIDBUF] = {0,},
         dns[MIDBUF] = {0};
 
-    tizen_base_port = get_sdb_base_port();
-
     qemu_add_opts(&qemu_ecs_opts);
 
-       start_ecs();
+    start_ecs();
 
     get_host_proxy(http_proxy, https_proxy, ftp_proxy, socks_proxy);
     /* using "DNS" provided by default QEMU */
     g_strlcpy(dns, DEFAULT_QEMU_DNS_IP, strlen(DEFAULT_QEMU_DNS_IP) + 1);
 
+    set_sdb_base_port();
+
     check_vm_lock();
     make_vm_lock();
 
     sdb_setup(); /* determine the base port for emulator */
-    set_emul_vm_base_port(tizen_base_port);
 
     gchar * const tmp_str = g_strdup_printf(" sdb_port=%d,"
         " http_proxy=%s https_proxy=%s ftp_proxy=%s socks_proxy=%s"
@@ -504,7 +502,7 @@ void prepare_maru(void)
 
     construct_main_window(_skin_argc, _skin_argv, _qemu_argc, _qemu_argv);
 
-    int guest_server_port = tizen_base_port + SDB_UDP_SENSOR_INDEX;
+    int guest_server_port = get_device_serial_number() + SDB_UDP_SENSOR_INDEX;
     start_guest_server(guest_server_port);
 
     mloop_ev_init();
index 88e56ba..c47ee89 100644 (file)
@@ -53,7 +53,6 @@
 MULTI_DEBUG_CHANNEL(qemu, osutil);
 
 extern char tizen_target_img_path[];
-extern int tizen_base_port;
 CFDictionaryRef proxySettings;
 
 static char *cfstring_to_cstring(CFStringRef str) {
@@ -87,8 +86,9 @@ void make_vm_lock_os(void)
 {
     int shmid;
     char *shared_memory;
-
-    shmid = shmget((key_t)tizen_base_port, MAXLEN, 0666|IPC_CREAT);
+    int base_port;
+    base_port = get_emul_vm_base_port();
+    shmid = shmget((key_t)base_port, MAXLEN, 0666|IPC_CREAT);
     if (shmid == -1) {
         ERR("shmget failed\n");
         perror("osutil-darwin: ");
@@ -102,7 +102,7 @@ void make_vm_lock_os(void)
         return;
     }
     sprintf(shared_memory, "%s", tizen_target_img_path);
-    INFO("shared memory key: %d, value: %s\n", tizen_base_port, (char *)shared_memory);
+    INFO("shared memory key: %d, value: %s\n", base_port, (char *)shared_memory);
     
     if (shmdt(shared_memory) == -1) {
         ERR("shmdt failed\n");
@@ -210,12 +210,12 @@ static int get_auto_proxy(char *http_proxy, char *https_proxy, char *ftp_proxy,
     char *p = NULL;
 
     CFStringRef pacURL = (CFStringRef)CFDictionaryGetValue(proxySettings,
-                               kSCPropNetProxiesProxyAutoConfigURLString);
-       if (pacURL) {
-               char url[MAXLEN] = {};
-               CFStringGetCString(pacURL, url, sizeof url, kCFStringEncodingASCII);
+                    kSCPropNetProxiesProxyAutoConfigURLString);
+    if (pacURL) {
+        char url[MAXLEN] = {};
+        CFStringGetCString(pacURL, url, sizeof url, kCFStringEncodingASCII);
                 INFO("pac address: %s\n", (char*)url);
-               download_url(url);
+        download_url(url);
         }
 
     fp_pacfile = fopen(pac_tempfile, "r");
@@ -252,7 +252,7 @@ static int get_auto_proxy(char *http_proxy, char *https_proxy, char *ftp_proxy,
     }
     else {
         ERR("fail to get pacfile fp\n");
-       return -1;
+    return -1;
     }
 
     remove(pac_tempfile);
@@ -344,7 +344,7 @@ void get_host_proxy_os(char *http_proxy, char *https_proxy, char *ftp_proxy, cha
         ret = get_auto_proxy(http_proxy, https_proxy, ftp_proxy, socks_proxy);
         if(strlen(http_proxy) == 0 && ret < 0) {
             INFO("MANUAL PROXY MODE\n");
-               get_proxy(http_proxy, https_proxy, ftp_proxy, socks_proxy);
-           }
+            get_proxy(http_proxy, https_proxy, ftp_proxy, socks_proxy);
+        }
     }
 }
index 855ff01..f7fd45d 100644 (file)
 MULTI_DEBUG_CHANNEL(emulator, osutil);
 
 extern char tizen_target_img_path[];
-extern int tizen_base_port;
 int g_shmid;
 char *g_shared_memory;
 int gproxytool = GCONFTOOL;
 
 /* Getting proxy commands */
 static const char* gproxycmds[][2] = {
-       { "gconftool-2 -g /system/proxy/mode" , "gsettings get org.gnome.system.proxy mode" },
-       { "gconftool-2 -g /system/proxy/autoconfig_url", "gsettings get org.gnome.system.proxy autoconfig-url" },
-       { "gconftool-2 -g /system/http_proxy/host", "gsettings get org.gnome.system.proxy.http host" },
-       { "gconftool-2 -g /system/http_proxy/port", "gsettings get org.gnome.system.proxy.http port"},
-       { "gconftool-2 -g /system/proxy/secure_host", "gsettings get org.gnome.system.proxy.https host" },
-       { "gconftool-2 -g /system/proxy/secure_port", "gsettings get org.gnome.system.proxy.https port" },
-       { "gconftool-2 -g /system/proxy/ftp_host", "gsettings get org.gnome.system.proxy.ftp host" },
-       { "gconftool-2 -g /system/proxy/ftp_port", "gsettings get org.gnome.system.proxy.ftp port" },
-       { "gconftool-2 -g /system/proxy/socks_host", "gsettings get org.gnome.system.proxy.socks host" },
-       { "gconftool-2 -g /system/proxy/socks_port", "gsettings get org.gnome.system.proxy.socks port" },
+    { "gconftool-2 -g /system/proxy/mode" , "gsettings get org.gnome.system.proxy mode" },
+    { "gconftool-2 -g /system/proxy/autoconfig_url", "gsettings get org.gnome.system.proxy autoconfig-url" },
+    { "gconftool-2 -g /system/http_proxy/host", "gsettings get org.gnome.system.proxy.http host" },
+    { "gconftool-2 -g /system/http_proxy/port", "gsettings get org.gnome.system.proxy.http port"},
+    { "gconftool-2 -g /system/proxy/secure_host", "gsettings get org.gnome.system.proxy.https host" },
+    { "gconftool-2 -g /system/proxy/secure_port", "gsettings get org.gnome.system.proxy.https port" },
+    { "gconftool-2 -g /system/proxy/ftp_host", "gsettings get org.gnome.system.proxy.ftp host" },
+    { "gconftool-2 -g /system/proxy/ftp_port", "gsettings get org.gnome.system.proxy.ftp port" },
+    { "gconftool-2 -g /system/proxy/socks_host", "gsettings get org.gnome.system.proxy.socks host" },
+    { "gconftool-2 -g /system/proxy/socks_port", "gsettings get org.gnome.system.proxy.socks port" },
 };
 
 void check_vm_lock_os(void)
@@ -118,7 +117,11 @@ void check_vm_lock_os(void)
 
 void make_vm_lock_os(void)
 {
-    g_shmid = shmget((key_t)tizen_base_port, MAXLEN, 0666|IPC_CREAT);
+    int base_port;
+
+    base_port = get_emul_vm_base_port();
+
+    g_shmid = shmget((key_t)base_port, MAXLEN, 0666|IPC_CREAT);
     if (g_shmid == -1) {
         ERR("shmget failed\n");
         perror("osutil-linux: ");
@@ -134,7 +137,7 @@ void make_vm_lock_os(void)
 
     g_sprintf(g_shared_memory, "%s", tizen_target_img_path);
     INFO("shared memory key: %d value: %s\n",
-        tizen_base_port, (char *)g_shared_memory);
+        base_port, (char *)g_shared_memory);
 
     if (shmdt(g_shared_memory) == -1) {
         ERR("shmdt failed\n");
@@ -274,7 +277,7 @@ static int get_auto_proxy(char *http_proxy, char *https_proxy, char *ftp_proxy,
     } 
     else {
         ERR("fail to get pacfile fp\n");
-       return -1;
+    return -1;
     }
 
     remove(pac_tempfile);
index a2117b3..35e40be 100644 (file)
@@ -51,7 +51,6 @@
 MULTI_DEBUG_CHANNEL (emulator, osutil);
 
 extern char tizen_target_img_path[];
-extern int tizen_base_port;
 
 static const char *pactempfile = ".autoproxy";
 
@@ -99,9 +98,11 @@ void make_vm_lock_os(void)
     char *pBuf;
     char *port_in_use;
     char *shared_memory;
+    int base_port;
 
+    base_port = get_emul_vm_base_port();
     shared_memory = g_strdup_printf("%s", tizen_target_img_path);
-    port_in_use =  g_strdup_printf("%d", tizen_base_port);
+    port_in_use =  g_strdup_printf("%d", base_port);
     hMapFile = CreateFileMapping(
                  INVALID_HANDLE_VALUE, /* use paging file */
                  NULL,                 /* default security */
index b421478..f90527a 100644 (file)
@@ -33,6 +33,7 @@
 #define __OSUTIL_H__
 
 #include "maru_common.h"
+#include "emul_state.h"
 
 #define HTTP_PROTOCOL "http="
 #define HTTP_PREFIX "http://"
index c13340c..f82e33d 100644 (file)
 #include "sdb.h"\r
 #include "include/block/nbd.h"\r
 #include "tizen/src/debug_ch.h"\r
+#include "emul_state.h"\r
 \r
 MULTI_DEBUG_CHANNEL(qemu, sdb);\r
 \r
 extern char tizen_target_path[];\r
-extern int tizen_base_port;\r
 \r
 #ifdef _WIN32\r
 \r
 static void socket_close_handler( void*  _fd )\r
 {\r
-       int   fd = (int)_fd;\r
-       int   ret;\r
-       char  buff[64];\r
+    int   fd = (int)_fd;\r
+    int   ret;\r
+    char  buff[64];\r
 \r
-       /* we want to drain the read side of the socket before closing it */\r
-       do {\r
-               ret = recv( fd, buff, sizeof(buff), 0 );\r
-       } while (ret < 0 && WSAGetLastError() == WSAEINTR);\r
+    /* we want to drain the read side of the socket before closing it */\r
+    do {\r
+        ret = recv( fd, buff, sizeof(buff), 0 );\r
+    } while (ret < 0 && WSAGetLastError() == WSAEINTR);\r
 \r
-       if (ret < 0 && WSAGetLastError() == EWOULDBLOCK)\r
-               return;\r
+    if (ret < 0 && WSAGetLastError() == EWOULDBLOCK)\r
+        return;\r
 \r
-       qemu_set_fd_handler( fd, NULL, NULL, NULL );\r
-       closesocket( fd );\r
+    qemu_set_fd_handler( fd, NULL, NULL, NULL );\r
+    closesocket( fd );\r
 }\r
 \r
 void socket_close( int  fd )\r
 {\r
-       int  old_errno = errno;\r
+    int  old_errno = errno;\r
 \r
-       shutdown( fd, SD_BOTH );\r
-       /* we want to drain the socket before closing it */\r
-       qemu_set_fd_handler( fd, socket_close_handler, NULL, (void*)fd );\r
+    shutdown( fd, SD_BOTH );\r
+    /* we want to drain the socket before closing it */\r
+    qemu_set_fd_handler( fd, socket_close_handler, NULL, (void*)fd );\r
 \r
-       errno = old_errno;\r
+    errno = old_errno;\r
 }\r
 \r
 #else /* !_WIN32 */\r
@@ -60,134 +60,140 @@ void socket_close( int  fd )
 \r
 void socket_close( int  fd )\r
 {\r
-       int  old_errno = errno;\r
+    int  old_errno = errno;\r
 \r
-       shutdown( fd, SHUT_RDWR );\r
-       close( fd );\r
+    shutdown( fd, SHUT_RDWR );\r
+    close( fd );\r
 \r
-       errno = old_errno;\r
+    errno = old_errno;\r
 }\r
 \r
 #endif /* !_WIN32 */\r
 \r
 int inet_strtoip(const char*  str, uint32_t  *ip)\r
 {\r
-       int  comp[4];\r
+    int  comp[4];\r
 \r
-       if (sscanf(str, "%d.%d.%d.%d", &comp[0], &comp[1], &comp[2], &comp[3]) != 4)\r
-               return -1;\r
+    if (sscanf(str, "%d.%d.%d.%d", &comp[0], &comp[1], &comp[2], &comp[3]) != 4)\r
+        return -1;\r
 \r
-       if ((unsigned)comp[0] >= 256 ||\r
-                       (unsigned)comp[1] >= 256 ||\r
-                       (unsigned)comp[2] >= 256 ||\r
-                       (unsigned)comp[3] >= 256)\r
-               return -1;\r
+    if ((unsigned)comp[0] >= 256 ||\r
+            (unsigned)comp[1] >= 256 ||\r
+            (unsigned)comp[2] >= 256 ||\r
+            (unsigned)comp[3] >= 256)\r
+        return -1;\r
 \r
-       *ip = (uint32_t)((comp[0] << 24) | (comp[1] << 16) |\r
-                       (comp[2] << 8)  |  comp[3]);\r
-       return 0;\r
+    *ip = (uint32_t)((comp[0] << 24) | (comp[1] << 16) |\r
+            (comp[2] << 8)  |  comp[3]);\r
+    return 0;\r
 }\r
 \r
 int check_port_bind_listen(uint32_t port)\r
 {\r
-       struct sockaddr_in addr;\r
-       int s, opt = 1;\r
-       int ret = -1;\r
-       socklen_t addrlen = sizeof(addr);\r
-       memset(&addr, 0, addrlen);\r
+    struct sockaddr_in addr;\r
+    int s, opt = 1;\r
+    int ret = -1;\r
+    socklen_t addrlen = sizeof(addr);\r
+    memset(&addr, 0, addrlen);\r
 \r
-       addr.sin_family = AF_INET;\r
-       addr.sin_addr.s_addr = INADDR_ANY;\r
-       addr.sin_port = htons(port);\r
+    addr.sin_family = AF_INET;\r
+    addr.sin_addr.s_addr = INADDR_ANY;\r
+    addr.sin_port = htons(port);\r
 \r
-       if (((s = qemu_socket(AF_INET, SOCK_STREAM, 0)) < 0) ||\r
+    if (((s = qemu_socket(AF_INET, SOCK_STREAM, 0)) < 0) ||\r
 #ifndef _WIN32\r
-                       (setsockopt(s, SOL_SOCKET,SO_REUSEADDR, (char *)&opt, sizeof(int)) < 0) ||\r
+            (setsockopt(s, SOL_SOCKET,SO_REUSEADDR, (char *)&opt, sizeof(int)) < 0) ||\r
 #endif\r
-                       (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) ||\r
-                       (listen(s, 1) < 0)) {\r
-\r
-               /* fail */\r
-               ret = -1;\r
-               ERR( "port(%d) listen  fail \n", port);\r
-       }else{\r
-               /*fsucess*/\r
-               ret = 1;\r
-               INFO( "port(%d) listen  ok \n", port);\r
-       }\r
+            (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) ||\r
+            (listen(s, 1) < 0)) {\r
+\r
+        /* fail */\r
+        ret = -1;\r
+        ERR( "port(%d) listen  fail \n", port);\r
+    }else{\r
+        /*fsucess*/\r
+        ret = 1;\r
+        INFO( "port(%d) listen  ok \n", port);\r
+    }\r
 \r
 #ifdef _WIN32\r
-       closesocket(s);\r
+    closesocket(s);\r
 #else\r
-       close(s);\r
+    close(s);\r
 #endif\r
 \r
-       return ret;\r
+    return ret;\r
 }\r
 \r
-int get_sdb_base_port(void)\r
+void set_sdb_base_port(void)\r
 {\r
-       int   tries     = 10;\r
-       int   success   = 0;\r
-       uint32_t port = 26100;\r
+    int   tries     = 10;\r
+    int   success   = 0;\r
+    uint32_t port = 26100;\r
+    int base_port;\r
+\r
+    base_port = get_emul_vm_base_port();\r
 \r
-       if(tizen_base_port == 0){\r
+    if(base_port == 0){\r
 \r
-               for ( ; tries > 0; tries--, port += 10 ) {\r
-                       if(check_port_bind_listen(port + 1) < 0 )\r
-                               continue;\r
+        for ( ; tries > 0; tries--, port += 10 ) {\r
+            if(check_port_bind_listen(port + 1) < 0 )\r
+                continue;\r
 \r
-                       success = 1;\r
-                       break;\r
-               }\r
+            success = 1;\r
+            break;\r
+        }\r
 \r
-               if (!success) {\r
-                       ERR( "it seems too many emulator instances are running on this machine. Aborting\n" );\r
-                       exit(1);\r
-               }\r
+        if (!success) {\r
+            ERR( "it seems too many emulator instances are running on this machine. Aborting\n" );\r
+            exit(1);\r
+        }\r
 \r
-               tizen_base_port = port;\r
-               INFO( "sdb port is %d \n", tizen_base_port);\r
-       }\r
+        base_port = port;\r
+        INFO( "sdb port is %d \n", base_port);\r
+    }\r
 \r
-       return tizen_base_port;\r
+    set_emul_vm_base_port(base_port);\r
 }\r
 \r
 void sdb_setup(void)\r
 {\r
-       int   tries     = 10;\r
-       int   success   = 0;\r
-       uint32_t  guest_ip;\r
-       char buf[64] = {0,};\r
-\r
-       inet_strtoip("10.0.2.16", &guest_ip);\r
-\r
-       for ( ; tries > 0; tries--, tizen_base_port += 10 ) {\r
-               // redir form [tcp:26101:10.0.2.16:26101]\r
-               sprintf(buf, "tcp:%d:10.0.2.16:26101", tizen_base_port + 1);\r
-               if(net_slirp_redir((char*)buf) < 0)\r
-                       continue;\r
-\r
-               INFO( "SDBD established on port %d\n", tizen_base_port + 1);\r
-               success = 1;\r
-               break;\r
-       }\r
-\r
-       INFO("redirect [%s] success\n", buf);\r
-       if (!success) {\r
-               ERR( "it seems too many emulator instances are running on this machine. Aborting\n" );\r
-               exit(1);\r
-       }\r
-\r
-       INFO( "Port(%d/tcp) listen for SDB \n", tizen_base_port + 1);\r
-\r
-       /* for sensort */\r
-       sprintf(buf, "tcp:%d:10.0.2.16:3577", tizen_base_port + SDB_TCP_EMULD_INDEX );\r
-       if(net_slirp_redir((char*)buf) < 0){\r
-               ERR( "redirect [%s] fail \n", buf);\r
-       }else{\r
-               INFO("redirect [%s] success\n", buf);\r
-       }\r
+    int   tries     = 10;\r
+    int   success   = 0;\r
+    uint32_t  guest_ip;\r
+    char buf[64] = {0,};\r
+    int number;\r
+\r
+    number = get_device_serial_number();\r
+\r
+    inet_strtoip("10.0.2.16", &guest_ip);\r
+\r
+    for ( ; tries > 0; tries--, number += 10 ) {\r
+        // redir form [tcp:26101:10.0.2.16:26101]\r
+        sprintf(buf, "tcp:%d:10.0.2.16:26101", number);\r
+        if(net_slirp_redir((char*)buf) < 0)\r
+            continue;\r
+\r
+        INFO( "SDBD established on port %d\n", number);\r
+        success = 1;\r
+        break;\r
+    }\r
+\r
+    INFO("redirect [%s] success\n", buf);\r
+    if (!success) {\r
+        ERR( "it seems too many emulator instances are running on this machine. Aborting\n" );\r
+        exit(1);\r
+    }\r
+\r
+    INFO( "Port(%d/tcp) listen for SDB \n", number);\r
+\r
+    /* for sensort */\r
+    sprintf(buf, "tcp:%d:10.0.2.16:3577", number + SDB_TCP_EMULD_INDEX );\r
+    if(net_slirp_redir((char*)buf) < 0){\r
+        ERR( "redirect [%s] fail \n", buf);\r
+    }else{\r
+        INFO("redirect [%s] success\n", buf);\r
+    }\r
 }\r
 \r
 int sdb_loopback_client(int port, int type)\r
index 3737cff..66a01ca 100644 (file)
 
 #define SDB_HOST_PORT 26099
 
-#define SDB_TCP_EMULD_INDEX  3    /* emulator daemon port */
-#define SDB_TCP_OPENGL_INDEX  4   /* opengl server port */
-#define SDB_UDP_SENSOR_INDEX  3   /* sensor server port */
+#define SDB_TCP_EMULD_INDEX  2    /* emulator daemon port */
+#define SDB_TCP_OPENGL_INDEX  3   /* opengl server port */
+#define SDB_UDP_SENSOR_INDEX  2   /* sensor server port */
 
 void sdb_setup(void);
-int get_sdb_base_port(void);
+void set_sdb_base_port(void);
 int inet_strtoip(const char*  str, uint32_t  *ip);
 int socket_send(int fd, const void*  buf, int  buflen);
 void socket_close(int fd);
index fc00f8e..21081b9 100644 (file)
@@ -49,6 +49,7 @@
 #include "maruskin_server.h"
 #include "emul_state.h"
 #include "hw/maru_pm.h"
+#include "emul_state.h"
 
 #ifdef CONFIG_HAX
 #include "guest_debug.h"
@@ -74,8 +75,6 @@ static int pressing_origin_x = -1, pressing_origin_y = -1;
 extern pthread_mutex_t mutex_screenshot;
 extern pthread_cond_t cond_screenshot;
 
-extern int tizen_base_port;
-
 static void* run_timed_shutdown_thread(void* args);
 static void send_to_emuld(const char* request_type,
     int request_size, const char* send_buf, int buf_size);
@@ -611,14 +610,15 @@ static void send_to_emuld(const char* request_type,
 {
     char addr[128];
     int s = 0;
+    int device_serial_number = get_device_serial_number();
+    snprintf(addr, 128, ":%u", (uint16_t) ( device_serial_number + SDB_TCP_EMULD_INDEX));
 
-    snprintf(addr, 128, ":%u", (uint16_t) (tizen_base_port + SDB_TCP_EMULD_INDEX));
     //TODO: Error handling
     s = inet_connect(addr, NULL);
 
     if ( s < 0 ) {
         ERR( "can't create socket to emulator daemon in guest\n" );
-        ERR( "[127.0.0.1:%d/tcp] connect fail (%d:%s)\n" , tizen_base_port + SDB_TCP_EMULD_INDEX , errno, strerror(errno) );
+        ERR( "[127.0.0.1:%d/tcp] connect fail (%d:%s)\n" , device_serial_number + SDB_TCP_EMULD_INDEX , errno, strerror(errno) );
         return;
     }
 
@@ -633,7 +633,7 @@ static void send_to_emuld(const char* request_type,
     }
 
     INFO( "send to emuld [req_type:%s, send_data:%s, send_size:%d] 127.0.0.1:%d/tcp \n",
-        request_type, send_buf, buf_size, tizen_base_port + SDB_TCP_EMULD_INDEX );
+            request_type, send_buf, buf_size, device_serial_number + SDB_TCP_EMULD_INDEX );
 
 #ifdef CONFIG_WIN32
     closesocket( s );