Fix logic for seek service method 75/87775/2
authorYu Jiung <jiung.yu@samsung.com>
Fri, 9 Sep 2016 10:20:17 +0000 (19:20 +0900)
committerJiung Yu <jiung.yu@samsung.com>
Fri, 9 Sep 2016 10:21:29 +0000 (03:21 -0700)
Change-Id: I8b501c962483698a00d6e6d08be4f9aa8a332953
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
include/asp-service.h
interfaces/aspmanager-iface-service.xml
packaging/asp-manager.spec
src/asp-manager-gdbus.c
src/service/asp-service.c
src/tech/asp-tech-p2p.c

index 849bf44..fbe69e1 100755 (executable)
@@ -71,7 +71,7 @@ typedef struct {
 
 typedef struct {
        guint32 adv_id;
-       guint32 search_id;
+       guint64 search_id;
        gint32 auto_accept;
        gint32 discovery_tech;
        guint8 preferred_connection;
index 13b07f3..4991d6b 100755 (executable)
@@ -20,6 +20,7 @@
                </method>
                <method name='CancelSeekService'>
                        <arg type='t' name='search_id' direction='in'/>
+                       <arg type='i' name='tech' direction='in'/>
                        <arg type='i' name='error_code' direction='out'/>
                </method>"
 
index 5bcd678..c0c2e5d 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       asp-manager
 Summary:    ASP(application service platform) manager
-Version:    0.0.8
+Version:    0.0.9
 Release:    2
 Group:      Network & Connectivity/Other
 License:    Apache-2.0
index 461d740..874a573 100755 (executable)
@@ -249,7 +249,7 @@ out:
 static gboolean __asp_manager_gdbus_cancel_advertise_service(AspService *object,
                GDBusMethodInvocation *invocation,
                const guint adv_id,
-               const guint tech,
+               const gint tech,
                const gboolean *user_data)
 {
        __ASP_LOG_FUNC_ENTER__;
@@ -348,6 +348,7 @@ out:
 static gboolean __asp_manager_gdbus_cancel_seek_service(AspService *object,
                GDBusMethodInvocation *invocation,
                const guint64 search_id,
+               const gint32 tech,
                const gboolean *user_data)
 {
        __ASP_LOG_FUNC_ENTER__;
@@ -364,6 +365,7 @@ static gboolean __asp_manager_gdbus_cancel_seek_service(AspService *object,
 
        memset(&service, 0x0, sizeof(asp_service_seek_s));
        service.search_id = search_id;
+       service.discovery_tech = tech;
        result = asp_service_cancel_seek(&service);
        if (result < 0) {
                ASP_LOGE("Failed to cancel seek service");
index 2b1dc91..6d4f3c3 100755 (executable)
@@ -59,7 +59,7 @@
  * Local Functions Definition
  *****************************************************************************/
 
-guint64 asp_service_search_id;
+static guint64 asp_service_search_id;
 
 gint32 asp_service_init()
 {
@@ -123,6 +123,7 @@ gint32 asp_service_seek(asp_service_seek_s *service, guint64 *search_id)
        gint32 result = 0;
 
        ASP_LOGD("Discovery tech %x", discovery_tech);
+       service->search_id = asp_service_search_id;
        result = asp_tech_seek(discovery_tech, service);
        if (result < 0) {
                /* TODO */
@@ -130,7 +131,8 @@ gint32 asp_service_seek(asp_service_seek_s *service, guint64 *search_id)
 
        }
 
-       *search_id = asp_service_search_id++;
+       *search_id = service->search_id;
+       asp_service_search_id++;
 
        __ASP_LOG_FUNC_EXIT__;
        return result;
index 85c7682..abeac94 100755 (executable)
@@ -729,6 +729,7 @@ gint32 asp_tech_p2p_seek(asp_service_seek_s *service)
        builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
        g_variant_builder_add(builder, "{sv}", "discovery_tech", g_variant_new("i", service->discovery_tech));
        g_variant_builder_add(builder, "{sv}", "preferred_connection", g_variant_new("y", service->preferred_connection));
+       g_variant_builder_add(builder, "{sv}", "search_id", g_variant_new("t", service->search_id));
        g_variant_builder_add(builder, "{sv}", "service_type", g_variant_new("s", service->service_type));
        if (service->service_info_map != NULL)
                g_variant_builder_add(builder, "{sv}", "service_info", __g_hash_keys_to_g_variant(service->service_info_map));
@@ -745,7 +746,7 @@ gint32 asp_tech_p2p_seek(asp_service_seek_s *service)
                return result;
        }
 
-       g_variant_get(reply, "(it)", &result, &(service->search_id));
+       g_variant_get(reply, "(i)", &result);
        g_variant_unref(reply);
 
        ASP_LOGD("%s() return : [%d]", __func__, result);