capi: Store port of found devices
authorSaurav Babu <saurav.babu@samsung.com>
Wed, 24 Jan 2018 07:00:44 +0000 (12:30 +0530)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 2 Jul 2018 10:38:47 +0000 (19:38 +0900)
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
capi/src/companion.c
capi/src/companion_gdbus.xml

index 4541c8c1b90c8a2ff272f7885bf684e205fb6708..a79dd736bbb3c0aebed587d395494a94fb3e3d63 100755 (executable)
@@ -46,6 +46,7 @@ typedef struct _companion_device_t
        char *device_id;
        char *friendly_name;
        char *device_type;
+       int port;
 } companion_device_t;
 
 typedef struct _group_found_cb_t {
@@ -105,13 +106,14 @@ static companion_group_t *_create_group_handle(char *uri_path, char *device_id,
        return group;
 }
 
-static companion_device_t *_create_device_handle(char *device_id, char *friendly_name, char *device_type)
+static companion_device_t *_create_device_handle(char *device_id, char *friendly_name, char *device_type, int port)
 {
        companion_device_t *device = g_new0(companion_device_t, 1);
 
        device->device_id = g_strdup(device_id);
        device->friendly_name = g_strdup(friendly_name);
        device->device_type = g_strdup(device_type);
+       device->port = port;
 
        return device;
 }
@@ -175,6 +177,7 @@ static void __device_found_cb(Group *object,
                char *device_id;
                char *friendly_name;
                char *device_type;
+               int port;
 
                while (g_variant_iter_loop(iter_row, "{sv}", &key, &key_value)) {
                        if (g_strcmp0(key, "DeviceID") == 0) {
@@ -183,11 +186,14 @@ static void __device_found_cb(Group *object,
                                friendly_name = (char *)g_variant_get_string(key_value, NULL);
                        } else if (g_strcmp0(key, "SecVer") == 0) {
                                device_type = (char *)g_variant_get_string(key_value, NULL);
+                       } else if (g_strcmp0(key, "Port") == 0) {
+                               port = g_variant_get_uint16(key_value);
                        }
+
                }
                g_variant_iter_free(iter_row);
 
-               device = _create_device_handle(device_id, friendly_name, device_type);
+               device = _create_device_handle(device_id, friendly_name, device_type, port);
                if (device_found_cb.found_cb)
                        device_found_cb.found_cb(device, device_found_cb.user_data);
        }
@@ -484,7 +490,7 @@ int companion_send_data(companion_device_h device, char *data, companion_send_da
        send_data_finish_cb.finish_cb = finish_cb;
        send_data_finish_cb.user_data = user_data;
 
-       group_call_send_data_sync(group_proxy, dev->device_id, dev->friendly_name, &ret, NULL, &error);
+       group_call_send_data_sync(group_proxy, dev->device_id, dev->friendly_name, dev->port, &ret, NULL, &error);
 
        return ret;
 }
@@ -517,6 +523,7 @@ int companion_device_get_found_devices(companion_device_h **devices, int *count)
                        char *deviceid = NULL;
                        char *addr = NULL;
                        char *ver = NULL;
+                       int port;
                        companion_device_t *device = NULL;
 
                        while (g_variant_iter_loop(iter_row, "{sv}", &key, &key_value)) {
@@ -526,11 +533,13 @@ int companion_device_get_found_devices(companion_device_h **devices, int *count)
                                        addr = (char *)g_variant_get_string(key_value, NULL);
                                } else if (g_strcmp0(key, "SecVer") == 0) {
                                        ver = (char *)g_variant_get_string(key_value, NULL);
+                               } else if (g_strcmp0(key, "Port") == 0) {
+                                       port = g_variant_get_uint16(key_value);
                                }
                        }
                        g_variant_iter_free(iter_row);
 
-                       device = _create_device_handle(deviceid, addr, ver);
+                       device = _create_device_handle(deviceid, addr, ver, port);
 
                        (*devices)[i++] = (companion_device_h)device;
                }
@@ -569,6 +578,7 @@ int companion_device_get_found_mowned_devices(
                        char *deviceid = NULL;
                        char *addr = NULL;
                        char *ver = NULL;
+                       int port;
                        companion_device_t *device = NULL;
 
                        while (g_variant_iter_loop(iter_row, "{sv}", &key, &key_value)) {
@@ -578,11 +588,13 @@ int companion_device_get_found_mowned_devices(
                                        addr = (char *)g_variant_get_string(key_value, NULL);
                                } else if (g_strcmp0(key, "SecVer") == 0) {
                                        ver = (char *)g_variant_get_string(key_value, NULL);
+                               } else if (g_strcmp0(key, "Port") == 0) {
+                                       port = g_variant_get_uint16(key_value);
                                }
                        }
                        g_variant_iter_free(iter_row);
 
-                       device = _create_device_handle(deviceid, addr, ver);
+                       device = _create_device_handle(deviceid, addr, ver, port);
 
                        (*devices)[i++] = (companion_device_h)device;
                }
@@ -604,6 +616,7 @@ int companion_device_get_my_device(companion_device_h *device)
        char *deviceid;
        char *addr;
        char *ver;
+       int port;
 
        group_call_get_my_mowned_device_sync(group_proxy, &va, NULL, &error);
 
@@ -615,13 +628,15 @@ int companion_device_get_my_device(companion_device_h *device)
                        addr = (char *)g_variant_get_string(key_value, NULL);
                } else if (g_strcmp0(key, "SecVer") == 0) {
                        ver = (char *)g_variant_get_string(key_value, NULL);
+               } else if (g_strcmp0(key, "Port") == 0) {
+                       port = g_variant_get_uint16(key_value);
                }
        }
 
        if (deviceid == NULL || addr == NULL || ver == NULL)
                return -1;
 
-       *device = (companion_device_h)_create_device_handle(deviceid, addr, ver);
+       *device = (companion_device_h)_create_device_handle(deviceid, addr, ver, port);
 
        g_variant_iter_free(iter);
 
index e643210525a2be078c6e51ee74c791a9961eb168..4bfcb422f37a871315853367d49dd6d8c361e219 100644 (file)
@@ -95,6 +95,7 @@
                <method name="SendData">
                        <arg type="s" name="uuid" direction="in" />
                        <arg type="s" name="data" direction="in"/>
+                       <arg type="i" name="port" direction="in"/>
                        <arg type="i" name="result" direction="out" />
                </method>
                <method name="FindMownedDevices">