OSDN Git Service

emulator: Create separate server BR/EDR/LE and BR/EDR types
authorJohan Hedberg <johan.hedberg@intel.com>
Thu, 31 Jan 2013 20:08:19 +0000 (14:08 -0600)
committerJohan Hedberg <johan.hedberg@intel.com>
Thu, 31 Jan 2013 20:26:40 +0000 (14:26 -0600)
emulator/main.c
emulator/server.c
emulator/server.h

index c68b738..6b5a75a 100644 (file)
@@ -68,6 +68,7 @@ int main(int argc, char *argv[])
        struct server *server2;
        struct server *server3;
        struct server *server4;
+       struct server *server5;
        bool enable_vhci = false;
        sigset_t mask;
 
@@ -109,20 +110,25 @@ int main(int argc, char *argv[])
                        fprintf(stderr, "Failed to open Virtual HCI device\n");
        }
 
-       server1 = server_open_unix(SERVER_TYPE_BREDR, "/tmp/bt-server-bredr");
+       server1 = server_open_unix(SERVER_TYPE_BREDRLE,
+                                               "/tmp/bt-server-bredrle");
        if (!server1)
-               fprintf(stderr, "Failed to open BR/EDR server channel\n");
+               fprintf(stderr, "Failed to open BR/EDR/LE server channel\n");
 
-       server2 = server_open_unix(SERVER_TYPE_AMP, "/tmp/bt-server-amp");
+       server2 = server_open_unix(SERVER_TYPE_BREDR, "/tmp/bt-server-bredr");
        if (!server2)
-               fprintf(stderr, "Failed to open AMP server channel\n");
+               fprintf(stderr, "Failed to open BR/EDR server channel\n");
 
-       server3 = server_open_unix(SERVER_TYPE_LE, "/tmp/bt-server-le");
+       server3 = server_open_unix(SERVER_TYPE_AMP, "/tmp/bt-server-amp");
        if (!server3)
-               fprintf(stderr, "Failed to open LE server channel\n");
+               fprintf(stderr, "Failed to open AMP server channel\n");
 
-       server4 = server_open_unix(SERVER_TYPE_MONITOR, "/tmp/bt-server-mon");
+       server4 = server_open_unix(SERVER_TYPE_LE, "/tmp/bt-server-le");
        if (!server4)
+               fprintf(stderr, "Failed to open LE server channel\n");
+
+       server5 = server_open_unix(SERVER_TYPE_MONITOR, "/tmp/bt-server-mon");
+       if (!server5)
                fprintf(stderr, "Failed to open monitor server channel\n");
 
        return mainloop_run();
index e4c4570..b2a4b02 100644 (file)
@@ -217,6 +217,9 @@ static void server_accept_callback(int fd, uint32_t events, void *user_data)
        }
 
        switch (server->type) {
+       case SERVER_TYPE_BREDRLE:
+               type = BTDEV_TYPE_BREDRLE;
+               break;
        case SERVER_TYPE_BREDR:
                type = BTDEV_TYPE_BREDR;
                break;
index b99b210..f0b3727 100644 (file)
@@ -25,6 +25,7 @@
 #include <stdint.h>
 
 enum server_type {
+       SERVER_TYPE_BREDRLE,
        SERVER_TYPE_BREDR,
        SERVER_TYPE_LE,
        SERVER_TYPE_AMP,