[wfd-manager]: Add support of Session Timers CAPI's 57/70357/1
authorManeesh Jain <maneesh.jain@samsung.com>
Thu, 19 May 2016 04:39:24 +0000 (10:09 +0530)
committerManeesh Jain <maneesh.jain@samsung.com>
Thu, 19 May 2016 04:39:24 +0000 (10:09 +0530)
Description: This patch added the support of following
CAPI in WFD manager Daemon.
\1. wifi_direct_get_session_timer()
\2.wifi_direct_set_session_timer()

Change-Id: I2f906d19d01561119d7acd2119aa8cf95a530cc0
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
include/wifi-direct-manager.h
src/wifi-direct-iface.c [changed mode: 0644->0755]
src/wifi-direct-manager.c

index 1b39a9f..64f6c74 100755 (executable)
@@ -186,6 +186,7 @@ typedef struct {
 
        void *oem_ops;
        void *plugin_handle;
+       int session_timer;
 } wfd_manager_s;
 
 wfd_manager_s *wfd_get_manager();
old mode 100644 (file)
new mode 100755 (executable)
index 1f8772b..9cac032
@@ -298,6 +298,14 @@ const gchar wfd_manager_introspection_xml[] = {
                                "<arg type='i' name='error_code' direction='out'/>"
                                "<arg type='s' name='gateway_address' direction='out'/>"
                        "</method>"
+                       "<method name='GetSessionTimer'>"
+                               "<arg type='i' name='error_code' direction='out'/>"
+                               "<arg type='i' name='session_timer' direction='out'/>"
+                       "</method>"
+                       "<method name='SetSessionTimer'>"
+                               "<arg type='i' name='session_timer' direction='in'/>"
+                               "<arg type='i' name='error_code' direction='out'/>"
+                       "</method>"
                "</interface>"
 #ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
                "<interface name='net.wifidirect.service'>"
@@ -1542,8 +1550,27 @@ static void __wfd_manager_config_iface_handler(const gchar *method_name,
                        free(get_str);
                        goto done;
 
+       } else if (!g_strcmp0(method_name, "GetSessionTimer")) {
+
+               int session_timer = 0;
+               ret = WIFI_DIRECT_ERROR_NONE;
+               session_timer = manager->session_timer;
+               WDS_LOGD("Get Session Timer value is %d", session_timer);
+               return_parameters = g_variant_new("(ii)", ret, session_timer);
+               goto done;
+
+       } else if (!g_strcmp0(method_name, "SetSessionTimer")) {
+
+               int session_timer = 0;
+               g_variant_get(parameters, "(i)", &session_timer);
+               WDS_LOGD("Set Session Timer value is %d", session_timer);
+               manager->session_timer = session_timer;
+               ret = WIFI_DIRECT_ERROR_NONE;
+               return_parameters = g_variant_new("(i)", ret);
+               goto done;
+
        } else {
-               WDS_LOGD("method not handled");
+               WDS_LOGE("method not handled");
                ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
                goto failed;
        }
index fa5792b..69ba351 100755 (executable)
@@ -1474,6 +1474,7 @@ static wfd_manager_s *wfd_manager_init()
        manager->go_intent = 7;
        manager->req_wps_mode = WFD_WPS_MODE_PBC;
        manager->max_station = 8;
+       manager->session_timer = 120;
        res = _wfd_local_init_device(manager);
        if (res < 0) {
                WDS_LOGE("Failed to initialize local device");