#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;
{
__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);
{
__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);
{
__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;
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"))
}
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");
{
__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);
{
__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;
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)
__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);
{
__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);
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);
{
__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);
{
__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);
{
__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);
{
__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);
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);
}
}
{
__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;
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++) {
{
__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;
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}"));
{
__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));
{
__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);
{
__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;
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}"));
{
__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);
{
__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;
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);
}
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;
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");
{
__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);
{
__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);
{
__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;
{
__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);
{
__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;
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}"));
{
__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);
{
__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);
{
__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);
{
__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");
{
__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);
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;
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);
{
__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);
{
__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");
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);
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);
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);
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);
{
__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);
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);
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);
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);
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);
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);
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);
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);
{
__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);
{
__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);
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;
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;
{
__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);
{
__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;
{
__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;
{
__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);
{
__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);
{
__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__;
{
__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);
{
__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);
{
__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);
{
__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);
{
__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);
{
__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;
{
__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);
{
__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);
{
__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);
{
__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);
{
__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);
{
__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);
{
__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);
{
__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);
{
__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);
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);
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;
{
__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);
{
__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);
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);
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;
{
__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);
{
__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);
{
__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);