Replace error code with macro for method. 96/167796/3
authorJiung <jiung.yu@samsung.com>
Mon, 22 Jan 2018 05:41:10 +0000 (14:41 +0900)
committerJiung Yu <jiung.yu@samsung.com>
Wed, 24 Jan 2018 08:19:17 +0000 (08:19 +0000)
Change-Id: Ied6b642b3bd20a3ccd97c2896fddbcee36f61fd5
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
packaging/wifi-direct-manager.spec
src/wifi-direct-method.c

index be959d7..c75c1ca 100644 (file)
@@ -6,7 +6,7 @@
 
 Name:          wifi-direct-manager
 Summary:       Wi-Fi Direct manger
-Version:       1.2.263
+Version:       1.2.264
 Release:       1
 Group:      Network & Connectivity/Wireless
 License:    Apache-2.0
index 6f5632a..6c2dd3e 100644 (file)
 #include "wifi-direct-service.h"
 #include "wifi-direct-asp.h"
 
+#define WIFI_DIRECT_METHOD_RET_ERR(err, dest)\
+       do {\
+               wfd_manager_dbus_return_err((err), (GDBusMethodInvocation *)(dest));\
+               __WDS_LOG_FUNC_EXIT__;\
+               return;\
+       } while (0)
+
+#define WIFI_DIRECT_METHOD_RET_IF_NULL(val) \
+       do {\
+               if (!(val)) {\
+                       __WDS_LOG_FUNC_EXIT__;\
+                       return;\
+               } \
+       } while (0)
+
 static int macaddr_atoe(const char *p, unsigned char mac[])
 {
        int i = 0;
@@ -70,14 +85,10 @@ void activate_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
        ret = wfd_manager_activate(manager);
@@ -102,28 +113,16 @@ void deactivate_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        int ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        ret = wfd_util_check_p2p_hotspot_state();
-       if (ret > 0) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret > 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Already deactivated");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -140,12 +139,6 @@ void start_discovery_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        gboolean mode = FALSE;
        gint32 timeout = 0;
        gint32 channel = 0;
@@ -156,13 +149,11 @@ void start_discovery_handler(GVariant *parameters, void *dest)
        GVariant *var = NULL;
        int ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(a{sv})", &iter);
-       if (!iter) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!iter)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        while (g_variant_iter_loop(iter, "{sv}", &key, &var)) {
                if (!g_strcmp0(key, "Mode"))
@@ -180,13 +171,8 @@ void start_discovery_handler(GVariant *parameters, void *dest)
        }
        g_variant_iter_free(iter);
 
-       if (__is_discovery_available(manager)) {
-               WDS_LOGE("Wi-Fi Direct is not available status for scanning.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (__is_discovery_available(manager))
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        if (mode && (manager->local->dev_role == WFD_DEV_ROLE_GO)) {
                WDS_LOGW("Wi-Fi Direct device is already visible, do not start listen");
@@ -219,21 +205,15 @@ void stop_discovery_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-       int mode =  manager->scan_mode;
+       int mode = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+       mode =  manager->scan_mode;
+
        if (manager->state != WIFI_DIRECT_STATE_ACTIVATED &&
-                       manager->state != WIFI_DIRECT_STATE_DISCOVERING) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+                       manager->state != WIFI_DIRECT_STATE_DISCOVERING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -250,11 +230,6 @@ void get_discovered_peer_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_discovery_entry_s *peers = NULL;
        GVariantBuilder *builder_peers = NULL;
@@ -262,16 +237,14 @@ void get_discovered_peer_handler(GVariant *parameters, void *dest)
        int i = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
        builder_peers = g_variant_builder_new(G_VARIANT_TYPE("aa{sv}"));
 
        peer_cnt = wfd_manager_get_peers(manager, &peers);
        WDS_LOGD("Peer count [%d], Peer list [%p]", peer_cnt, peers);
        if (peer_cnt < 0) {
                WDS_LOGE("Failed to get scan result");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
        }
 
        if (peer_cnt > 255)
@@ -338,41 +311,27 @@ void get_discovered_peer_handler(GVariant *parameters, void *dest)
        __WDS_LOG_FUNC_EXIT__;
        return;
 }
+
 void connect_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        const char *peer_mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (__is_discovery_available(manager)) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (__is_discovery_available(manager))
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        wfd_group_s *group = (wfd_group_s*) manager->group;
-       if (group && group->member_count >= manager->max_station) {
-               ret = WIFI_DIRECT_ERROR_TOO_MANY_CLIENT;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (group && group->member_count >= manager->max_station)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_TOO_MANY_CLIENT, dest);
 
        g_variant_get(parameters, "(&s)", &peer_mac_address);
-       if (peer_mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (peer_mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -393,25 +352,18 @@ void disconnect_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        const char *peer_mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        if (!manager->group || manager->state < WIFI_DIRECT_STATE_CONNECTED) {
                if (WIFI_DIRECT_STATE_DISCOVERING == manager->state) {
                        ret = wfd_oem_stop_scan(manager->oem_ops);
-                       if (ret < 0) {
-                               WDS_LOGE("Failed to stop scan");
-                               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-                               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-                               __WDS_LOG_FUNC_EXIT__;
-                               return;
-                       }
+                       if (ret < 0)
+                               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
                        WDS_LOGI("Succeeded to stop scan");
                        if (WFD_DEV_ROLE_GO == manager->local->dev_role) {
                                wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
@@ -421,19 +373,13 @@ void disconnect_handler(GVariant *parameters, void *dest)
                                wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
                        }
                } else {
-                       ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-                       wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-                       __WDS_LOG_FUNC_EXIT__;
-                       return;
+                       WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
                }
        }
 
        g_variant_get(parameters, "(&s)", &peer_mac_address);
-       if (peer_mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               return;
-       }
+       if (peer_mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -453,30 +399,18 @@ void cancel_connection_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        const char *peer_mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->session && manager->state != WIFI_DIRECT_STATE_CONNECTING) {
-               WDS_LOGE("It's not CONNECTING state");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (!manager->session && manager->state != WIFI_DIRECT_STATE_CONNECTING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &peer_mac_address);
-       if (peer_mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (peer_mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -496,37 +430,22 @@ void accept_connection_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        const char *peer_mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (manager->state != WIFI_DIRECT_STATE_CONNECTING) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (manager->state != WIFI_DIRECT_STATE_CONNECTING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        wfd_group_s *group = (wfd_group_s*) manager->group;
-       if (group && group->member_count >= manager->max_station) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (group && group->member_count >= manager->max_station)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &peer_mac_address);
-       if (peer_mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (peer_mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -554,40 +473,23 @@ void reject_connection_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
-       wfd_session_s *session = manager->session;
+       wfd_session_s *session = NULL;
        const char *peer_mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!session || manager->state != WIFI_DIRECT_STATE_CONNECTING) {
-               WDS_LOGE("It's not permitted with this state [%d]", manager->state);
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (session->direction != SESSION_DIRECTION_INCOMING) {
-               WDS_LOGE("Only incomming session can be rejected");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       session = manager->session;
+       if (!session || manager->state != WIFI_DIRECT_STATE_CONNECTING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
+       if (session->direction != SESSION_DIRECTION_INCOMING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &peer_mac_address);
-       if (peer_mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (peer_mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -608,23 +510,16 @@ void disconnect_all_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        if (!manager->group || manager->state < WIFI_DIRECT_STATE_CONNECTED) {
                if (WIFI_DIRECT_STATE_DISCOVERING == manager->state) {
                        ret = wfd_oem_stop_scan(manager->oem_ops);
-                       if (ret < 0) {
-                               WDS_LOGE("Failed to stop scan");
-                               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-                               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-                               __WDS_LOG_FUNC_EXIT__;
-                               return;
-                       }
+                       if (ret < 0)
+                               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
                        WDS_LOGI("Succeeded to stop scan");
                        if (WFD_DEV_ROLE_GO == manager->local->dev_role) {
                                wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
@@ -634,10 +529,7 @@ void disconnect_all_handler(GVariant *parameters, void *dest)
                                wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
                        }
                } else {
-                       ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-                       wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-                       __WDS_LOG_FUNC_EXIT__;
-                       return;
+                       WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
                }
        }
 
@@ -659,11 +551,6 @@ void get_connected_peers_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_connected_peer_info_s *peers = NULL;
        GVariantBuilder *builder_peers = NULL;
@@ -671,25 +558,17 @@ void get_connected_peers_handler(GVariant *parameters, void *dest)
        int i = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        /* even though status is not CONNECTED,
         * this command can be excuted only when group exist */
-       if (!manager->group && manager->state < WIFI_DIRECT_STATE_CONNECTED) {
-               WDS_LOGD("It's not connected state [%d]", manager->state);
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->group && manager->state < WIFI_DIRECT_STATE_CONNECTED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        peer_cnt = wfd_manager_get_connected_peers(manager, &peers);
        WDS_LOGD("Peer count [%d], Peer list [%x]", peer_cnt, peers);
-       if (peer_cnt < 0) {
-               WDS_LOGE("Failed to get scan result");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (peer_cnt < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        builder_peers = g_variant_builder_new(G_VARIANT_TYPE("aa{sv}"));
        for (i = 0; i < peer_cnt; i++) {
@@ -749,11 +628,6 @@ void get_connecting_peer_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        wfd_session_s *session;
        wfd_device_s *peer = NULL;
        wfd_discovery_entry_s *connecting_peer = NULL;
@@ -761,32 +635,22 @@ void get_connecting_peer_handler(GVariant *parameters, void *dest)
        GVariant *return_parameters = NULL;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        if (!manager->session ||
-           manager->state != WIFI_DIRECT_STATE_CONNECTING) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+           manager->state != WIFI_DIRECT_STATE_CONNECTING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        session = manager->session;
-       if (!session->peer) {
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!session->peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
        peer = session->peer;
 
        connecting_peer = (wfd_discovery_entry_s *)
                g_try_malloc0(sizeof(wfd_discovery_entry_s));
-       if (!connecting_peer) {
-               WDS_LOGF("Failed to allocate memory for peer data.");
-               ret = WIFI_DIRECT_ERROR_OUT_OF_MEMORY;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!connecting_peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OUT_OF_MEMORY, dest);
 
        builder_peer = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
 
@@ -843,13 +707,10 @@ void is_discoverable_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        return_parameters = g_variant_new("(b)",
                                           (manager->state == WIFI_DIRECT_STATE_DISCOVERING ||
                                            wfd_group_is_autonomous(manager->group) == TRUE));
@@ -863,13 +724,10 @@ void is_listening_only_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        return_parameters = g_variant_new("(b)", (manager->scan_mode == WFD_SCAN_MODE_PASSIVE));
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
 
@@ -881,11 +739,6 @@ void get_peer_info_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        wfd_discovery_entry_s *peer = NULL;
        GVariantBuilder *builder_peer = NULL;
        const char *peer_mac_address = NULL;
@@ -893,23 +746,18 @@ void get_peer_info_handler(GVariant *parameters, void *dest)
        GVariant *return_parameters = NULL;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(&s)", &peer_mac_address);
-       if (peer_mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (peer_mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        macaddr_atoe(peer_mac_address, mac_addr);
        ret = wfd_manager_get_peer_info(manager, mac_addr, &peer);
        if (ret < 0 || !peer) {
                WDS_LOGE("Failed to get peer info");
                g_free(peer);
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
 
        builder_peer = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
@@ -982,15 +830,12 @@ void get_state_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int ret;
 
        ret = WIFI_DIRECT_ERROR_NONE;
+
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
        return_parameters = g_variant_new("(ii)", ret, manager->state);
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
 
@@ -1002,14 +847,9 @@ void create_group_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-       wfd_group_s *group = manager->group;
+       wfd_group_s *group = NULL;
        wfd_oem_group_param_s param;
-       wfd_oem_config_s *oem_conf = (wfd_oem_config_s *) manager->wfd_oem_conf;
+       wfd_oem_config_s *oem_conf = NULL;
        GVariantIter *iter = NULL;
        gchar *key = NULL;
        GVariant *var = NULL;
@@ -1017,23 +857,20 @@ void create_group_handler(GVariant *parameters, void *dest)
        GVariant *return_parameters = NULL;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       group = manager->group;
+       oem_conf = (wfd_oem_config_s *) manager->wfd_oem_conf;
        g_variant_get(parameters, "(a{sv})", &iter);
-       if (!iter) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!iter)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        while (g_variant_iter_loop(iter, "{sv}", &key, &var)) {
                if (!g_strcmp0(key, "ssid")) {
                        g_variant_get(var, "&s", &ssid);
                        if (ssid == NULL) {
-                               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
                                g_variant_iter_free(iter);
-                               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-                               __WDS_LOG_FUNC_EXIT__;
-                               return;
+                               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
                        }
                        WDS_LOGD("SSID received [%s]", ssid);
                }
@@ -1051,11 +888,10 @@ void create_group_handler(GVariant *parameters, void *dest)
        group = wfd_create_pending_group(manager, manager->local->intf_addr);
        if (!group) {
                WDS_LOGE("Failed to create pending group");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
                g_variant_iter_free(iter);
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
+
        group->flags |= WFD_GROUP_FLAG_AUTONOMOUS;
        manager->group = group;
 
@@ -1078,10 +914,7 @@ void create_group_handler(GVariant *parameters, void *dest)
        if (ret < 0) {
                WDS_LOGE("Failed to create group");
                wfd_destroy_group(manager);
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
        }
 
        WDS_LOGD("Succeeded to create pending group");
@@ -1098,39 +931,23 @@ void destroy_group_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-       wfd_group_s *group = manager->group;
+       wfd_group_s *group = NULL;
        int ret;
 
-       if (!group) {
-               WDS_LOGE("Group not exist");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       group = manager->group;
+       if (!group)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        ret = wfd_util_check_p2p_hotspot_state();
-       if (ret > 0) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret > 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        if (group->pending == FALSE) {
                ret = wfd_oem_destroy_group(manager->oem_ops, group->ifname);
-               if (ret < 0) {
-                       WDS_LOGE("Failed to destroy group");
-                       ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-                       wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-                       __WDS_LOG_FUNC_EXIT__;
-                       return;
-               }
+               if (ret < 0)
+                       WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
 
        ret = wfd_destroy_group(manager);
@@ -1153,15 +970,13 @@ void is_group_owner_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        gboolean result;
-       wfd_device_s *local = manager->local;
+       wfd_device_s *local = NULL;
+
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
+       local = manager->local;
        result = local->dev_role == WFD_DEV_ROLE_GO;
        WDS_LOGI("Is group owner : [%s]", result ? "Yes" : "No");
        return_parameters = g_variant_new("(b)", result);
@@ -1175,13 +990,11 @@ void is_auto_group_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int result;
+
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        if ((result = wfd_group_is_autonomous(manager->group)) < 0)
                result = 0;
 
@@ -1197,31 +1010,19 @@ void activate_pushbutton_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int ret;
 
-       if (manager->local->dev_role != WFD_DEV_ROLE_GO) {
-               WDS_LOGE("Wi-Fi Direct is not Group Owner.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (manager->local->dev_role != WFD_DEV_ROLE_GO)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        ret = wfd_oem_wps_start(manager->oem_ops, NULL,
                        WFD_WPS_MODE_PBC, NULL);
-       if (ret < 0) {
-               WDS_LOGE("Failed to start wps");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
        return_parameters = g_variant_new("(i)", ret);
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
 
@@ -1233,11 +1034,6 @@ void get_persistent_group_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int persistent_group_count = 0;
        wfd_persistent_group_info_s *plist;
@@ -1245,24 +1041,16 @@ void get_persistent_group_handler(GVariant *parameters, void *dest)
        int ret;
        int i = 0;
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
 
        ret = wfd_oem_get_persistent_groups(manager->oem_ops,
                        (wfd_oem_persistent_group_s**) &plist, &persistent_group_count);
-       if (ret < 0) {
-               WDS_LOGE("Error!! wfd_oem_get_persistent_group_info() failed..");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        builder_groups = g_variant_builder_new(G_VARIANT_TYPE("aa{sv}"));
 
@@ -1297,45 +1085,29 @@ void remove_persistent_group_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        gchar *ssid;
        gchar *mac_address;
        unsigned char go_mac_address[6];
        int ret;
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s&s)", &mac_address, &ssid);
-       if (mac_address == NULL || ssid == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL || ssid == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        macaddr_atoe(mac_address, go_mac_address);
        WDS_LOGD("Remove persistent group [%s][" MACSTR "]", ssid, MAC2STR(go_mac_address));
 
        ret = wfd_oem_remove_persistent_group(manager->oem_ops, ssid,
                        go_mac_address);
-       if (ret < 0) {
-               WDS_LOGE("Failed to remove persistent group");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
        return_parameters = g_variant_new("(i)", ret);
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
 
@@ -1347,44 +1119,27 @@ void set_passphrase_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        gchar *passphrase;
        int passphrase_len = 0;
        int ret;
-       wfd_group_s *group = manager->group;
+       wfd_group_s *group = NULL;
 
-       if (group) {
-               WDS_LOGE("Group already exists");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       group = manager->group;
+       if (group)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &passphrase);
-       if (passphrase == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (passphrase == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        passphrase_len = strlen(passphrase);
 
        if (passphrase_len < PASSPHRASE_LEN_MIN ||
-                       passphrase_len > PASSPHRASE_LEN_MAX) {
-               WDS_LOGE("Passphrase length incorrect [%s]:[%d]",
-                               passphrase, passphrase_len);
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+                       passphrase_len > PASSPHRASE_LEN_MAX)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        g_strlcpy(manager->local->passphrase, passphrase, PASSPHRASE_LEN_MAX + 1);
        WDS_LOGI("Passphrase string [%s]", manager->local->passphrase);
@@ -1401,30 +1156,18 @@ void get_passphrase_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
-       wfd_group_s *group = manager->group;
+       wfd_group_s *group = NULL;
        int ret;
 
-       if (!group) {
-               WDS_LOGE("Group not exist");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (group->role == WFD_DEV_ROLE_GC) {
-               WDS_LOGE("Device is not GO");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       group = manager->group;
+       if (!group)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
+       if (group->role == WFD_DEV_ROLE_GC)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(is)", ret, group->passphrase);
@@ -1439,15 +1182,12 @@ void set_persistent_group_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        gboolean enabled;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(b)", &enabled);
        WDS_LOGI("Activate Persistent Group : [%s]",
                        enabled ? "True" : "False");
@@ -1467,13 +1207,11 @@ void is_persistent_group_enabled_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        gboolean result;
+
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        result = ((manager->local->group_flags &
                                WFD_GROUP_FLAG_PERSISTENT)
                        == WFD_GROUP_FLAG_PERSISTENT);
@@ -1494,10 +1232,7 @@ void get_device_name_handler(GVariant *parameters, void *dest)
 
        ret = wfd_local_get_dev_name(device_name);
        if (ret < 0) {
-               WDS_LOGE("Failed to get device name");
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(ret, dest);
        } else {
 
                ret = WIFI_DIRECT_ERROR_NONE;
@@ -1517,21 +1252,12 @@ void set_device_name_handler(GVariant *parameters, void *dest)
        int ret;
 
        g_variant_get(parameters, "(&s)", &device_name);
-       if (device_name == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (device_name == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        ret = wfd_local_set_dev_name((char *)device_name);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set device name");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -1545,30 +1271,17 @@ void get_wps_pin_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_session_s *session = (wfd_session_s*) manager->session;
        int ret;
 
-       if (!session || manager->auto_pin[0] != 0) {
-               WDS_LOGE("Session not exist");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (session->wps_pin[0] == '\0') {
-               WDS_LOGE("WPS PIN is not set");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!session || manager->auto_pin[0] != 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
+       if (session->wps_pin[0] == '\0')
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(is)", ret, session->wps_pin);
@@ -1582,23 +1295,17 @@ void set_wps_pin_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        const char *pin = NULL;
-       wfd_session_s *session = (wfd_session_s*) manager->session;
+       wfd_session_s *session = NULL;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       session = (wfd_session_s*) manager->session;
        g_variant_get(parameters, "(&s)", &pin);
-       if (pin == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (pin == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        if (!session) {
                WDS_LOGE("Session not exist");
@@ -1633,13 +1340,8 @@ void get_supported_wps_mode_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_local_get_supported_wps_mode(&config_methods);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get supported wps mode");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, config_methods);
@@ -1657,13 +1359,8 @@ void get_req_wps_mode_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_manager_get_req_wps_mode(&wps_mode);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get request wps mode");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, wps_mode);
@@ -1682,13 +1379,8 @@ void set_req_wps_mode_handler(GVariant *parameters, void *dest)
 
        g_variant_get(parameters, "(i)", &type);
        ret = wfd_manager_set_req_wps_mode(type);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set request wps mode");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -1706,13 +1398,8 @@ void get_local_wps_mode_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_local_get_wps_mode(&wps_mode);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get request wps mode");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, wps_mode);
@@ -1726,31 +1413,18 @@ void get_ip_address_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        char ip_addr_str[IPSTR_LEN+1] = {0, };
        int ret;
 
-       if (manager->state < WIFI_DIRECT_STATE_CONNECTED) {
-               WDS_LOGE("Device is not connected yet");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (manager->state < WIFI_DIRECT_STATE_CONNECTED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        ret = wfd_local_get_ip_addr((char *)ip_addr_str);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get local IP address");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        return_parameters = g_variant_new("(is)", ret, ip_addr_str);
        WDS_LOGI("IP addr : [%s]", ip_addr_str);
@@ -1768,13 +1442,8 @@ void get_mac_address_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_local_get_dev_mac(device_mac);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get device mac");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(is)", ret, device_mac);
@@ -1792,13 +1461,8 @@ void get_go_intent_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_manager_get_go_intent(&go_intent);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get GO intent");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, go_intent);
@@ -1817,13 +1481,8 @@ void set_go_intent_handler(GVariant *parameters, void *dest)
 
        g_variant_get(parameters, "(i)", &go_intent);
        ret = wfd_manager_set_go_intent(go_intent);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set GO intent");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -1841,13 +1500,8 @@ void get_max_client_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_manager_get_max_station(&max_client);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get max station");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, max_client);
@@ -1867,13 +1521,8 @@ void set_max_client_handler(GVariant *parameters, void *dest)
        g_variant_get(parameters, "(i)", &max_client);
 
        ret = wfd_manager_set_max_station(max_client);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set max station");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -1892,13 +1541,8 @@ void set_autoconnection_mode_handler(GVariant *parameters, void *dest)
 
        g_variant_get(parameters, "(b)", &mode);
        ret = wfd_manager_set_autoconnection(mode);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set autoconnection");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -1916,13 +1560,8 @@ void is_autoconnection_mode_handler(GVariant *parameters, void *dest)
        int ret;
 
        ret = wfd_manager_get_autoconnection(&mode);
-       if (ret < 0) {
-               WDS_LOGE("Failed to get autoconnection");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ib)", ret, mode);
@@ -1936,31 +1575,20 @@ void get_operating_channel_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       wfd_group_s *group = NULL;
        GVariant *return_parameters = NULL;
        int channel = 0;
        int ret;
 
-       wfd_group_s *group = manager->group;
-       if (!group) {
-               WDS_LOGE("Group not exist");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       group = manager->group;
+       if (!group)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        channel = wfd_util_freq_to_channel(group->freq);
-       if (channel < 0) {
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (channel < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, channel);
@@ -1988,21 +1616,16 @@ void get_interface_name_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
-       wfd_group_s *group = (wfd_group_s *)manager->group;
+       wfd_group_s *group = NULL;
        int ret;
 
-       if (!group) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       group = (wfd_group_s *)manager->group;
+       if (!group)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(is)", ret, group->ifname);
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
@@ -2020,13 +1643,9 @@ void get_subnet_mask_handler(GVariant *parameters, void *dest)
        int ret;
 
        get_str = vconf_get_str(VCONFKEY_WIFI_DIRECT_P2P_SUBNET_MASK);
-       if (!get_str) {
-               WDS_LOGE("Get Subnet Mask failed");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!get_str)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
        WDS_LOGD("VCONFKEY_WIFI_DIRECT_P2P_SUBNET_MASK(%s) : %s", VCONFKEY_WIFI_DIRECT_P2P_SUBNET_MASK,
                get_str);
        ret = WIFI_DIRECT_ERROR_NONE;
@@ -2048,13 +1667,9 @@ void get_gateway_handler(GVariant *parameters, void *dest)
        int ret;
 
        get_str = vconf_get_str(VCONFKEY_WIFI_DIRECT_P2P_GATEWAY);
-       if (!get_str) {
-               WDS_LOGE("Get Gateway failed");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!get_str)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
        WDS_LOGD("VCONFKEY_WIFI_DIRECT_P2P_GATEWAY_ADDR(%s) : %s", VCONFKEY_WIFI_DIRECT_P2P_GATEWAY,
                get_str);
        ret = WIFI_DIRECT_ERROR_NONE;
@@ -2071,15 +1686,12 @@ void get_session_timer_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int session_timer = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        ret = WIFI_DIRECT_ERROR_NONE;
        session_timer = manager->session_timer;
        WDS_LOGD("Get Session Timer value is %d", session_timer);
@@ -2094,15 +1706,12 @@ void set_session_timer_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int session_timer = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(i)", &session_timer);
        WDS_LOGD("Set Session Timer value is %d", session_timer);
        manager->session_timer = session_timer;
@@ -2118,26 +1727,18 @@ void get_auto_group_removal_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        gboolean enable;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(b)", &enable);
        WDS_LOGE("Activate Auto Group Removal Mode : [%s]",
                        enable ? "True" : "False");
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        if (enable) {
                manager->auto_group_remove_enable = TRUE;
@@ -2210,35 +1811,23 @@ void get_peer_rssi_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_device_s *peer = NULL;
        const char *mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(&s)", &mac_address);
        macaddr_atoe(mac_address, mac_addr);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        peer = wfd_manager_get_peer_by_addr(manager, mac_addr);
-       if (!peer) {
-               WDS_LOGE("Failed to get peer");
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, peer->rssi);
@@ -2252,32 +1841,20 @@ void add_vsie_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        const char *vsie = NULL;
        int frame_id = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(i&s)", &frame_id, &vsie);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
-       if (wfd_oem_add_vsie(manager->oem_ops, frame_id, vsie) < 0) {
-               WDS_LOGE("Failed to add vsie");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (wfd_oem_add_vsie(manager->oem_ops, frame_id, vsie) < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -2291,38 +1868,31 @@ void get_vsie_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        char *vsie = NULL;
        int frame_id = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(i)", &frame_id);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               return;
-       }
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
-       if (wfd_oem_get_vsie(manager->oem_ops, frame_id, &vsie) < 0) {
-               WDS_LOGE("Failed to get vsie");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (wfd_oem_get_vsie(manager->oem_ops, frame_id, &vsie) < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        WDS_LOGD("Received VSIE [%s]", vsie);
 
        ret = WIFI_DIRECT_ERROR_NONE;
-       return_parameters = g_variant_new("(is)", ret, vsie);
+       if (vsie) {
+               return_parameters = g_variant_new("(is)", ret, vsie);
+               g_free(vsie);
+       } else {
+               return_parameters = g_variant_new("(is)", ret, "");
+       }
 
-       g_free(vsie);
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
 
        __WDS_LOG_FUNC_EXIT__;
@@ -2333,32 +1903,20 @@ void remove_vsie_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        const char *vsie = NULL;
        int frame_id = 0;
        int ret;
 
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
        g_variant_get(parameters, "(i&s)", &frame_id, &vsie);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
-       if (wfd_oem_remove_vsie(manager->oem_ops, frame_id, vsie) < 0) {
-               WDS_LOGE("Failed to remove vsie");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (wfd_oem_remove_vsie(manager->oem_ops, frame_id, vsie) < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -2372,52 +1930,30 @@ void srv_start_discovery_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        const char *mac_address = NULL;
        int service_type;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_service_discovery_supported) {
-               WDS_LOGE("Wi-Fi Direct service discovery is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_service_discovery_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(i&s)", &service_type, &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        WDS_LOGD("Service type [%d]", service_type);
        macaddr_atoe(mac_address, mac_addr);
 
        ret = wfd_oem_start_service_discovery(manager->oem_ops,
                        mac_addr, service_type);
-       if (ret < 0) {
-               WDS_LOGE("Failed to start service discovery");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
 
@@ -2432,53 +1968,32 @@ void srv_stop_discovery_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        const char *mac_address = NULL;
        int service_type;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_service_discovery_supported) {
-               WDS_LOGE("Wi-Fi Direct service discovery is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_service_discovery_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(i&s)", &service_type, &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        WDS_LOGD("Service type [%d]", service_type);
        macaddr_atoe(mac_address, mac_addr);
 
        ret = wfd_oem_cancel_service_discovery(manager->oem_ops,
                        mac_addr, service_type);
-       if (ret < 0) {
-               WDS_LOGE("Failed to cancel service discovery");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
        wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
@@ -2491,44 +2006,26 @@ void srv_register_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int service_type;
        int service_id = 0;
        const char *info_str = NULL;
        int ret;
 
-       if (!manager->is_service_discovery_supported) {
-               WDS_LOGE("Wi-Fi Direct service discovery is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_service_discovery_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(i&s)", &service_type, &info_str);
        WDS_LOGD("Register service [%d: %s]", service_type, info_str);
 
        ret = wfd_service_add(service_type, (char *)info_str, &service_id);
-       if (ret < 0) {
-               WDS_LOGE("Failed to add service");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, service_id);
@@ -2543,42 +2040,24 @@ void srv_deregister_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int service_id = 0;
        int ret;
 
-       if (!manager->is_service_discovery_supported) {
-               WDS_LOGE("Wi-Fi Direct service discovery is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_service_discovery_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(i)", &service_id);
        WDS_LOGD("Service id [%d]", service_id);
 
        ret = wfd_service_del(service_id);
-       if (ret < 0) {
-               WDS_LOGE("Failed to delete service");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -2592,38 +2071,22 @@ void display_init_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        wfd_device_s * device = manager->local;
 
        ret = wfd_oem_miracast_init(manager->oem_ops, TRUE);
-       if (ret < 0) {
-               WDS_LOGE("Failed to initialize display");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        device->display.type = WIFI_DISPLAY_DEFAULT_TYPE;
        device->display.port = WIFI_DISPLAY_DEFAULT_PORT;
@@ -2642,40 +2105,24 @@ void display_deinit_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        wfd_device_s * device = manager->local;
 
        ret = wfd_oem_miracast_init(manager->oem_ops, FALSE);
-       if (ret < 0) {
-               WDS_LOGE("Failed to deinitialize display");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
-       memset(&(device->display), 0x0, sizeof(wfd_display_type_e));
+       memset(&(device->display), 0x0, sizeof(wfd_display_s));
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -2689,40 +2136,24 @@ void display_set_config_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int type, port, hdcp;
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(iii)", &type, &port, &hdcp);
        WDS_LOGD("type %d port %d hdcp %d", type, port, hdcp);
 
        ret = wfd_manager_set_display_device(type, port, hdcp);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set display device settings");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -2736,38 +2167,22 @@ void display_set_avail_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        int availability;
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(i)", &availability);
        ret = wfd_manager_set_session_availability(availability);
-       if (ret < 0) {
-               WDS_LOGE("Failed to set session availability");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -2781,48 +2196,29 @@ void display_get_peer_type_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_device_s *peer = NULL;
        const char *mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
+
 
        macaddr_atoe(mac_address, mac_addr);
        peer = wfd_manager_get_peer_by_addr(manager, mac_addr);
-       if (!peer) {
-               WDS_LOGE("Failed to get peer");
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, peer->display.type);
@@ -2836,48 +2232,28 @@ void display_get_peer_avail_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_device_s *peer = NULL;
        const char *mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        macaddr_atoe(mac_address, mac_addr);
        peer = wfd_manager_get_peer_by_addr(manager, mac_addr);
-       if (!peer) {
-               WDS_LOGE("Failed to get peer");
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, peer->display.availability);
@@ -2891,48 +2267,28 @@ void display_get_peer_hdcp_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_device_s *peer = NULL;
        const char *mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        macaddr_atoe(mac_address, mac_addr);
        peer = wfd_manager_get_peer_by_addr(manager, mac_addr);
-       if (!peer) {
-               WDS_LOGE("Failed to get peer");
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, peer->display.hdcp_support);
@@ -2946,48 +2302,28 @@ void display_get_peer_port_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_device_s *peer = NULL;
        const char *mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        macaddr_atoe(mac_address, mac_addr);
        peer = wfd_manager_get_peer_by_addr(manager, mac_addr);
-       if (!peer) {
-               WDS_LOGE("Failed to get peer");
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, peer->display.port);
@@ -3001,48 +2337,28 @@ void display_get_peer_throughput_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_device_s *peer = NULL;
        const char *mac_address = NULL;
        unsigned char mac_addr[MACADDR_LEN] = {0, };
        int ret;
 
-       if (!manager->is_wifi_display_supported) {
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_wifi_display_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(&s)", &mac_address);
-       if (mac_address == NULL) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (mac_address == NULL)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        macaddr_atoe(mac_address, mac_addr);
        peer = wfd_manager_get_peer_by_addr(manager, mac_addr);
-       if (!peer) {
-               WDS_LOGE("Failed to get peer");
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!peer)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(ii)", ret, peer->display.max_tput);
@@ -3322,43 +2638,25 @@ void advertise_service_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        GVariant *return_parameters = NULL;
        GVariantIter *iter = NULL;
        wfd_oem_asp_service_s service;
        int replace = 0;
        int ret;
 
-       if (!manager->is_asp_supported) {
-               WDS_LOGD("ASP is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (!manager->is_asp_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
 
        if (manager->state != WIFI_DIRECT_STATE_ACTIVATED &&
                        manager->state != WIFI_DIRECT_STATE_DISCOVERING &&
-                       manager->state >= WIFI_DIRECT_STATE_CONNECTED) {
-               WDS_LOGE("Wi-Fi Direct is not available status for Advertising.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+                       manager->state >= WIFI_DIRECT_STATE_CONNECTED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(a{sv})", &iter);
-       if (!iter) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!iter)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        memset(&service, 0, sizeof(wfd_oem_asp_service_s));
        __get_asp_advertise_params(iter, &service, &replace);
@@ -3367,10 +2665,7 @@ void advertise_service_handler(GVariant *parameters, void *dest)
                WDS_LOGE("Failed to add service");
                g_free(service.service_info);
                g_variant_iter_free(iter);
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
        g_free(service.service_info);
        g_variant_iter_free(iter);
@@ -3391,10 +2686,7 @@ void advertise_service_handler(GVariant *parameters, void *dest)
                                                 NULL);
        } else {
                wfd_oem_cancel_advertise_service(manager->oem_ops, &service);
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
 
        ret = WIFI_DIRECT_ERROR_NONE;
@@ -3410,41 +2702,24 @@ void cancel_advertise_service_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
        GVariant *return_parameters = NULL;
        wfd_oem_asp_service_s service;
        int ret;
 
        memset(&service, 0, sizeof(wfd_oem_asp_service_s));
 
-       if (!manager->is_asp_supported) {
-               WDS_LOGD("ASP is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_asp_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(u)", &(service.adv_id));
        ret = wfd_oem_cancel_advertise_service(manager->oem_ops, &service);
-       if (ret < 0) {
-               WDS_LOGE("Failed to del service");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -3458,42 +2733,24 @@ void seek_service_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        GVariant *return_parameters = NULL;
        wfd_oem_asp_service_s service;
        GVariantIter *iter = NULL;
        int ret;
 
-       if (!manager->is_asp_supported) {
-               WDS_LOGD("ASP is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+       if (!manager->is_asp_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
 
        if (manager->state != WIFI_DIRECT_STATE_ACTIVATED &&
                        manager->state != WIFI_DIRECT_STATE_DISCOVERING &&
-                       manager->state >= WIFI_DIRECT_STATE_CONNECTED) {
-               WDS_LOGE("Wi-Fi Direct is not available status to Seek.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+                       manager->state >= WIFI_DIRECT_STATE_CONNECTED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(a{sv})", &iter);
-       if (!iter) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!iter)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        memset(&service, 0, sizeof(wfd_oem_asp_service_s));
        __get_asp_seek_params(iter, &service);
@@ -3502,10 +2759,7 @@ void seek_service_handler(GVariant *parameters, void *dest)
                WDS_LOGE("Failed to seek service");
                g_free(service.service_info);
                g_variant_iter_free(iter);
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
        g_free(service.service_info);
        g_variant_iter_free(iter);
@@ -3521,10 +2775,7 @@ void seek_service_handler(GVariant *parameters, void *dest)
                                                 NULL);
        } else {
                wfd_oem_cancel_seek_service(manager->oem_ops, &service);
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
        }
 
        ret = WIFI_DIRECT_ERROR_NONE;
@@ -3539,43 +2790,24 @@ void cancel_seek_service_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        GVariant *return_parameters = NULL;
        wfd_oem_asp_service_s service;
        int ret;
 
        memset(&service, 0, sizeof(wfd_oem_asp_service_s));
 
-       if (!manager->is_asp_supported) {
-               WDS_LOGD("ASP is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED) {
-               WDS_LOGE("Wi-Fi Direct is not activated.");
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!manager->is_asp_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(t)", &(service.asp_search_id));
        ret = wfd_oem_cancel_seek_service(manager->oem_ops, &service);
-       if (ret < 0) {
-               WDS_LOGE("Failed to cancel seek service");
-               ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (ret < 0)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
 
        ret = WIFI_DIRECT_ERROR_NONE;
        return_parameters = g_variant_new("(i)", ret);
@@ -3589,49 +2821,29 @@ void connect_sessoin_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        GVariantIter *iter = NULL;
        wfd_oem_asp_prov_s prov_params;
        int ret;
 
-       if (manager && !manager->is_asp_supported) {
-               WDS_LOGD("ASP is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (__is_discovery_available(manager)) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager && !manager->is_asp_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (__is_discovery_available(manager))
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(a{sv})", &iter);
-       if (!iter) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!iter)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        memset(&prov_params, 0, sizeof(wfd_oem_asp_prov_s));
        __get_asp_connect_params(iter, &prov_params);
 
        if (ISZEROMACADDR(prov_params.service_mac) ||
                        ISZEROMACADDR(prov_params.session_mac)) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
                g_variant_iter_free(iter);
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
        }
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
@@ -3678,49 +2890,29 @@ void confirm_sessoin_handler(GVariant *parameters, void *dest)
 {
        __WDS_LOG_FUNC_ENTER__;
        wfd_manager_s *manager = wfd_get_manager();
-       if (!manager) {
-               WDS_LOGE("manager is not initialized");
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
-
        GVariantIter *iter = NULL;
        wfd_oem_asp_prov_s prov_params;
        int confirmed = 0;
        int ret;
 
-       if (manager && !manager->is_asp_supported) {
-               WDS_LOGD("ASP is not supported.");
-               ret = WIFI_DIRECT_ERROR_NOT_SUPPORTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
 
-       if (manager->state != WIFI_DIRECT_STATE_CONNECTING) {
-               ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (manager && !manager->is_asp_supported)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+       if (manager->state != WIFI_DIRECT_STATE_CONNECTING)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
 
        g_variant_get(parameters, "(a{sv})", &iter);
-       if (!iter) {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
-       }
+       if (!iter)
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
 
        memset(&prov_params, 0, sizeof(wfd_oem_asp_prov_s));
        __get_asp_confirm_params(iter, &prov_params, &confirmed);
 
        if (ISZEROMACADDR(prov_params.session_mac))     {
-               ret = WIFI_DIRECT_ERROR_INVALID_PARAMETER;
                g_variant_iter_free(iter);
-               wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
-               __WDS_LOG_FUNC_EXIT__;
-               return;
+               WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_INVALID_PARAMETER, dest);
        }
 
        wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);