ENDIF(TIZEN_ENABLE_PRD)
ADD_SUBDIRECTORY(files)
+
+IF(BUILD_GTESTS)
+ ADD_SUBDIRECTORY(unittest)
+ENDIF(BUILD_GTESTS)
char passphrase[PASSPHRASE_LEN_MAX + 1];
} wfd_group_s;
-
-wfd_group_s *wfd_create_group(void *data, wfd_oem_event_s *group_info);
wfd_group_s *wfd_create_pending_group(void *data, unsigned char * bssid);
int wfd_group_complete(void *data, wfd_oem_event_s *group_info);
int wfd_destroy_group(void * data);
int wfd_oem_configure(wfd_oem_ops_s *ops, wfd_oem_config_s *conf)
{
if (!ops || !ops->configure)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->configure(conf);
}
int wfd_oem_activate(wfd_oem_ops_s *ops, int concurrent)
{
if (!ops || !ops->activate)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
-
+#endif
return ops->activate(concurrent);
}
int wfd_oem_deactivate(wfd_oem_ops_s *ops, int concurrent)
{
if (!ops || !ops->deactivate)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->deactivate(concurrent);
}
int wfd_oem_start_scan(wfd_oem_ops_s *ops, wfd_oem_scan_param_s *param)
{
if (!ops || !ops->start_scan)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->start_scan(param);
}
int wfd_oem_stop_scan(wfd_oem_ops_s *ops)
{
if (!ops || !ops->stop_scan)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->stop_scan();
}
int wfd_oem_get_visibility(wfd_oem_ops_s *ops, int *visibility)
{
if (!ops || !ops->get_visibility)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_visibility(visibility);
}
int wfd_oem_set_visibility(wfd_oem_ops_s *ops, int visibility)
{
if (!ops || !ops->set_visibility)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_visibility(visibility);
}
int wfd_oem_get_scan_result(wfd_oem_ops_s *ops, GList **peers, int *peer_count)
{
if (!ops || !ops->get_scan_result)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_scan_result(peers, peer_count);
}
int wfd_oem_get_peer_info(wfd_oem_ops_s *ops, unsigned char *peer_addr, wfd_oem_device_s **peer)
{
if (!ops || !ops->get_peer_info)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_peer_info(peer_addr, peer);
}
int wfd_oem_prov_disc_req(wfd_oem_ops_s *ops, unsigned char *peer_addr, wfd_oem_wps_mode_e wps_mode, int join)
{
if (!ops || !ops->prov_disc_req)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->prov_disc_req(peer_addr, wps_mode, join);
}
int wfd_oem_connect(wfd_oem_ops_s *ops, unsigned char *peer_addr, wfd_oem_conn_param_s *param)
{
if (!ops || !ops->connect)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->connect(peer_addr, param);
}
int wfd_oem_reject_connection(wfd_oem_ops_s *ops, unsigned char *peer_addr)
{
if (!ops || !ops->reject_connection)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->reject_connection(peer_addr);
}
int wfd_oem_cancel_connection(wfd_oem_ops_s *ops, unsigned char *peer_addr)
{
if (!ops || !ops->cancel_connection)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->cancel_connection(peer_addr);
}
int wfd_oem_disconnect(wfd_oem_ops_s *ops, unsigned char *peer_addr, int is_iface_addr)
{
if (!ops || !ops->disconnect)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->disconnect(peer_addr, is_iface_addr);
}
int wfd_oem_get_connected_peers(wfd_oem_ops_s *ops, GList **peers, int *peer_count)
{
if (!ops || !ops->get_connected_peers)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_connected_peers(peers, peer_count);
}
int wfd_oem_get_pin(wfd_oem_ops_s *ops, char *pin)
{
if (!ops || !ops->get_pin)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_pin(pin);
}
int wfd_oem_set_pin(wfd_oem_ops_s *ops, char *pin)
{
if (!ops || !ops->set_pin)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_pin(pin);
}
int wfd_oem_generate_pin(wfd_oem_ops_s *ops, char **pin)
{
if (!ops || !ops->generate_pin)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->generate_pin(pin);
}
int wfd_oem_get_supported_wps_mode(wfd_oem_ops_s *ops, int *wps_mode)
{
if (!ops || !ops->get_supported_wps_mode)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_supported_wps_mode(wps_mode);
}
int wfd_oem_create_group(wfd_oem_ops_s *ops, wfd_oem_group_param_s *param)
{
if (!ops || !ops->create_group)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->create_group(param);
}
int wfd_oem_destroy_group(wfd_oem_ops_s *ops, const char *ifname)
{
if (!ops || !ops->destroy_group)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->destroy_group(ifname);
}
int wfd_oem_invite(wfd_oem_ops_s *ops, unsigned char *peer_addr, wfd_oem_invite_param_s *param)
{
if (!ops || !ops->invite)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->invite(peer_addr, param);
}
int wfd_oem_wps_start(wfd_oem_ops_s *ops, unsigned char *peer_addr, int wps_mode, const char *pin)
{
if (!ops || !ops->wps_start)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->wps_start(peer_addr, wps_mode, pin);
}
int wfd_oem_enrollee_start(wfd_oem_ops_s *ops, unsigned char *peer_addr, int wps_mode, const char *pin)
{
if (!ops || !ops->enrollee_start)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->enrollee_start(peer_addr, wps_mode, pin);
}
int wfd_oem_wps_cancel(wfd_oem_ops_s *ops)
{
if (!ops || !ops->wps_cancel)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->wps_cancel();
}
int wfd_oem_get_dev_name(wfd_oem_ops_s *ops, char *dev_name)
{
if (!ops || !ops->get_dev_name)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_dev_name(dev_name);
}
int wfd_oem_set_dev_name(wfd_oem_ops_s *ops, char *dev_name)
{
if (!ops || !ops->set_dev_name)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_dev_name(dev_name);
}
int wfd_oem_get_dev_mac(wfd_oem_ops_s *ops, char *dev_mac)
{
if (!ops || !ops->get_dev_mac)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_dev_mac(dev_mac);
}
int wfd_oem_get_dev_type(wfd_oem_ops_s *ops, int *pri_dev_type, int *sec_dev_type)
{
if (!ops || !ops->get_dev_type)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_dev_type(pri_dev_type, sec_dev_type);
}
int wfd_oem_set_dev_type(wfd_oem_ops_s *ops, int pri_dev_type, int sec_dev_type)
{
if (!ops || !ops->set_dev_type)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_dev_type(pri_dev_type, sec_dev_type);
}
int wfd_oem_get_go_intent(wfd_oem_ops_s *ops, int *go_intent)
{
if (!ops || !ops->get_go_intent)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_go_intent(go_intent);
}
int wfd_oem_set_go_intent(wfd_oem_ops_s *ops, int go_intent)
{
if (!ops || !ops->set_go_intent)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_go_intent(go_intent);
}
int wfd_oem_set_country(wfd_oem_ops_s *ops, char *ccode)
{
if (!ops || !ops->set_country)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_country(ccode);
}
int wfd_oem_get_persistent_groups(wfd_oem_ops_s *ops, wfd_oem_persistent_group_s **groups, int *group_count)
{
if (!ops || !ops->get_persistent_groups)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_persistent_groups(groups, group_count);
}
int wfd_oem_remove_persistent_group(wfd_oem_ops_s *ops, char *ssid, unsigned char *bssid)
{
if (!ops || !ops->remove_persistent_group)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->remove_persistent_group(ssid, bssid);
int wfd_oem_set_persistent_reconnect(wfd_oem_ops_s *ops, unsigned char *bssid, int reconnect)
{
if (!ops || !ops->set_persistent_reconnect)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->set_persistent_reconnect(bssid, reconnect);
}
int wfd_oem_start_service_discovery(wfd_oem_ops_s *ops, unsigned char *peer_addr, int service_type)
{
if (!ops || !ops->start_service_discovery)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->start_service_discovery(peer_addr, service_type);
}
int wfd_oem_cancel_service_discovery(wfd_oem_ops_s *ops, unsigned char *peer_addr, int service_type)
{
if (!ops || !ops->cancel_service_discovery)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->cancel_service_discovery(peer_addr, service_type);
}
int wfd_oem_serv_add(wfd_oem_ops_s *ops, wfd_oem_new_service_s *service)
{
if (!ops || !ops->serv_add)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->serv_add(service);
}
int wfd_oem_serv_del(wfd_oem_ops_s *ops, wfd_oem_new_service_s *service)
{
if (!ops || !ops->serv_del)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->serv_del(service);
}
int wfd_oem_serv_disc_start(wfd_oem_ops_s *ops, wfd_oem_new_service_s *service)
{
if (!ops || !ops->serv_disc_start)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->serv_disc_start(service);
}
int wfd_oem_serv_disc_stop(wfd_oem_ops_s *ops, int handle)
{
if (!ops || !ops->serv_disc_stop)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->serv_disc_stop(handle);
}
int wfd_oem_miracast_init(wfd_oem_ops_s *ops, int enable)
{
if (!ops || !ops->miracast_init)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->miracast_init(enable);
}
int wfd_oem_set_display(wfd_oem_ops_s *ops, wfd_oem_display_s *wifi_display)
{
if (!ops || !ops->set_display)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
-
+#endif
return ops->set_display(wifi_display);
}
int wfd_oem_advertise_service(wfd_oem_ops_s *ops, wfd_oem_asp_service_s *service, int replace)
{
if (!ops || !ops->advertise_service)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->advertise_service(service, replace);
}
int wfd_oem_cancel_advertise_service(wfd_oem_ops_s *ops, wfd_oem_asp_service_s *service)
{
if (!ops || !ops->cancel_advertise_service)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->cancel_advertise_service(service);
}
int wfd_oem_seek_service(wfd_oem_ops_s *ops, wfd_oem_asp_service_s *service)
{
if (!ops || !ops->seek_service)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->seek_service(service);
}
int wfd_oem_cancel_seek_service(wfd_oem_ops_s *ops, wfd_oem_asp_service_s *service)
{
if (!ops || !ops->cancel_seek_service)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->cancel_seek_service(service);
}
int wfd_oem_asp_prov_disc_req(wfd_oem_ops_s *ops, wfd_oem_asp_prov_s *params)
{
if (!ops || !ops->asp_prov_disc_req)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->asp_prov_disc_req(params);
}
int wfd_oem_set_eapol_ip_config(wfd_oem_ops_s *ops, int enable)
{
- if (!ops || !ops->set_eapol_ip_config) {
+ if (!ops || !ops->set_eapol_ip_config)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
- }
+#endif
return ops->set_eapol_ip_config(enable);
}
const char* vsie)
{
if (!ops || !ops->add_vsie)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->add_vsie(frame_id, vsie);
}
char **vsie)
{
if (!ops || !ops->get_vsie)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->get_vsie(frame_id, vsie);
}
const char *vsie)
{
if (!ops || !ops->remove_vsie)
+#if defined(BUILD_GTESTS)
+ return 0;
+#else
return -1;
+#endif
return ops->remove_vsie(frame_id, vsie);
}
Name: wifi-direct-manager
Summary: Wi-Fi Direct manger
-Version: 1.2.264
+Version: 1.2.265
Release: 1
Group: Network & Connectivity/Wireless
License: Apache-2.0
void wfd_prd_event_example(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_prd_event_init(wfd_oem_event_cbs_s *event_cb)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_oem_prd_event_cbs_s *prd_event_cb = (wfd_oem_prd_event_cbs_s *)event_cb->extra_data;
prd_event_cb->prd_example_cb = wfd_prd_event_example;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_manager_dbus_emit_signal(WFD_MANAGER_ASP_INTERFACE, "SessionRequest", parameter);
return;
}
-
+//LCOV_EXCL_START
void wfd_asp_session_config_request(unsigned int session_id, int get_pin, char *pin)
{
GVariantBuilder *builder = NULL;
wfd_manager_dbus_emit_signal(WFD_MANAGER_ASP_INTERFACE, "SessionConfigRequest", parameter);
return;
}
+//LCOV_EXCL_STOP
void wfd_asp_connect_status(unsigned char *session_mac,
unsigned int session_id, int status, char *deferred)
{
return g_connection;
}
-
+//LCOV_EXCL_START
static void wfd_manger_dbus_manage_iface_handler(
GDBusConnection *connection,
const gchar *sender,
return;
}
-
+//LCOV_EXCL_STOP
GVariant* wfd_manager_dbus_pack_ay(const unsigned char *src, int size)
{
GVariantBuilder *builder = NULL;
int i = 0;
if (!src) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return NULL;
}
#define WFD_MANAGER_QUARK (g_quark_from_string("wifi-direct-error-quark"))
+//LCOV_EXCL_START
static void wfd_error_invalid_parameter(GError **error)
{
*error = g_dbus_error_new_for_dbus_error(
wfd_error_operation_failed(error);
}
}
-
void wfd_error_register(void)
{
g_dbus_error_register_error(WFD_MANAGER_QUARK,
"net.wifidirect.Error.TooManyClient");
}
+//LCOV_EXCL_STOP
#include "wifi-direct-dbus.h"
#include "wifi-direct-asp.h"
+static void _wfd_event_reset_state(wfd_manager_s *manager)
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+
+ if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
+ wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+ wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
+ } else {
+ wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
+ wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
+ }
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+}
+
static int _wfd_event_update_peer(wfd_manager_s *manager, wfd_oem_dev_data_s *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = NULL;
if (!manager || !data) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
peer = wfd_add_peer(manager, data->p2p_dev_addr, data->name);
if (!peer) {
WDS_LOGE("Failed to add peer");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
} else {
#endif
WDS_LOGI("Update time [%s - %ld]", peer->dev_name, peer->time);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
-
+//LCOV_EXCL_START
gboolean _wfd_connection_retry(gpointer *data)
{
wfd_session_s *session = (wfd_session_s*) data;
if (!session) {
WDS_LOGE("Session is NULL");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return G_SOURCE_REMOVE;
}
WDS_LOGE("Invalid session state [%d]", session->state);
break;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return G_SOURCE_REMOVE;
}
void wfd_event_deactivated(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
if (manager->is_connection_agent)
wfd_util_stop_wifi_direct_popup();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-
+//LCOV_EXCL_STOP
void wfd_event_peer_found(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_dev_data_s *edata = NULL;
edata = (wfd_oem_dev_data_s*) event->edata;
if (!edata || event->edata_type != WFD_OEM_EDATA_TYPE_DEVICE) {
- WDS_LOGE("Invalid event data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid event data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
res = _wfd_event_update_peer(manager, edata);
if (res < 0) {
- WDS_LOGE("Failed to update peer data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to update peer data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
params);
}
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_peer_disappeared(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
WDS_LOGD("session peer [" MACSTR "] lost peer [" MACSTR "]", MAC2STR(peer->dev_addr),
MAC2STR(event->dev_addr));
if (memcmp(peer->dev_addr, event->dev_addr, MACADDR_LEN) == 0) {
- WDS_LOGD("peer already in connection");
+ WDS_LOGD("peer already in connection");//LCOV_EXCL_LINE
return;
}
}
"PeerLost",
g_variant_new("(s)", peer_mac_address));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_discovery_finished(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
if (manager->state != WIFI_DIRECT_STATE_DISCOVERING &&
manager->state != WIFI_DIRECT_STATE_ACTIVATED) {
WDS_LOGE("Notify finding stopped when discovering or activated. [%d]", manager->state);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (manager->scan_mode == WFD_SCAN_MODE_PASSIVE) {
- WDS_LOGE("During passive scan, Discover Finished event will not notified");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("During passive scan, Discover Finished event will not notified");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
- if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
- wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
- } else {
- wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
- }
+ _wfd_event_reset_state(manager);
manager->scan_mode = WFD_SCAN_MODE_NONE;
wfd_manager_dbus_emit_signal(WFD_MANAGER_MANAGE_INTERFACE,
"DiscoveryFinished",
NULL);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_prov_disc_req(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
wfd_group_s *group = (wfd_group_s*) manager->group;
if (group && group->role == WFD_DEV_ROLE_GC) {
- WDS_LOGD("Device has GC role - ignore this provision request");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Device has GC role - ignore this provision request");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (member) {
/* PD request can be arrived from peer device
* when connection is timeout to close connection */
- WDS_LOGE("Unexpected Event - Member already exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected Event - Member already exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
edata = (wfd_oem_dev_data_s*) event->edata;
if (!edata || event->edata_type != WFD_OEM_EDATA_TYPE_DEVICE) {
- WDS_LOGE("Invalid event data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid event data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer = wfd_peer_find_by_dev_addr(manager, event->dev_addr);
if (WFD_DEV_ROLE_GO != manager->local->dev_role) {
- WDS_LOGI("TV is not GO, updated peer data only.");
+ WDS_LOGI("TV is not GO, updated peer data only.");//LCOV_EXCL_LINE
manager->local->wps_mode = event->wps_mode;
if (event->wps_mode == WFD_WPS_MODE_PBC ||
event->wps_mode == WFD_WPS_MODE_KEYPAD) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
res = wfd_session_process_event(manager, event);
if (res < 0)
- WDS_LOGE("Failed to process event of session");
+ WDS_LOGE("Failed to process event of session");//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_prov_disc_resp(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
edata = (wfd_oem_dev_data_s*) event->edata;
if (!edata || event->edata_type != WFD_OEM_EDATA_TYPE_DEVICE) {
- WDS_LOGE("Invalid event data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid event data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
res = wfd_session_process_event(manager, event);
if (res < 0)
- WDS_LOGE("Failed to process event of session");
+ WDS_LOGE("Failed to process event of session");//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (prov_params && !ISZEROMACADDR(session->session_mac)) {
/* This connection is for ASP session */
if (prov_params->status == WFD_OEM_SC_FAIL_INVALID_PARAMS) {
- WDS_LOGD("ASP prov disc deferred. wait response.");
+ WDS_LOGD("ASP prov disc deferred. wait response.");//LCOV_EXCL_LINE
wfd_asp_connect_status(session->session_mac,
session->session_id,
ASP_CONNECT_STATUS_REQUEST_DEFERRED,
is_deferred = true;
}
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return is_deferred;
}
void wfd_event_prov_disc_fail(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Unexpected event. Session not exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event. Session not exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer_addr = wfd_session_get_peer_addr(session);
if (!peer_addr) {
- WDS_LOGE("Session do not have peer");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session do not have peer");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
memset(¶m, 0x0, sizeof(wfd_oem_scan_param_s));
param.scan_mode = WFD_OEM_SCAN_MODE_PASSIVE;
wfd_oem_start_scan(manager->oem_ops, ¶m);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
WFD_EVENT_CONNECTION_RSP,
peer_mac_address));
if (wfd_asp_is_asp_session(session)) {
- WDS_LOGD("ASP prov disc failed. remove session.");
+ WDS_LOGD("ASP prov disc failed. remove session.");//LCOV_EXCL_LINE
wfd_asp_connect_status(session->session_mac,
session->session_id,
ASP_CONNECT_STATUS_REQUEST_FAILED,
wfd_oem_start_scan(manager->oem_ops, ¶m);
manager->scan_mode = WFD_SCAN_MODE_ACTIVE;
#endif
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_go_neg_req(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_group_s *group = (wfd_group_s*) manager->group;
if (group && group->role == WFD_DEV_ROLE_GC) {
- WDS_LOGD("Device has GC role - ignore this go neg request");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Device has GC role - ignore this go neg request");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
edata = (wfd_oem_dev_data_s*) event->edata;
if (!edata || event->edata_type != WFD_OEM_EDATA_TYPE_DEVICE) {
- WDS_LOGE("Invalid event data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid event data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
res = _wfd_event_update_peer(manager, edata);
if (res < 0) {
- WDS_LOGE("Failed to update peer data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to update peer data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_session_process_event(manager, event);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_go_neg_fail(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Unexpected event. Session not exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event. Session not exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer_addr = wfd_session_get_peer_addr(session);
if (!peer_addr) {
- WDS_LOGE("Session do not have peer");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session do not have peer");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
edata = (wfd_oem_conn_data_s*) event->edata;
if (!edata) {
- WDS_LOGE("Invalid p2p connection data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid p2p connection data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
session->retry_gsrc = 0;
}
session->retry_gsrc = g_idle_add((GSourceFunc) _wfd_connection_retry, session);
- WDS_LOGD("Connection will be retried");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Connection will be retried");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
NULL);
}
- wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
-
wfd_destroy_session(manager);
wfd_destroy_group(manager);
manager->local->dev_role = WFD_DEV_ROLE_NONE;
- __WDS_LOG_FUNC_EXIT__;
+ _wfd_event_reset_state(manager);
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_go_neg_done(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
edata = (wfd_oem_conn_data_s*) event->edata;
if (edata == NULL) {
- WDS_LOGE("Invalid event data");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid event data");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
wfd_session_process_event(manager, event);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_wps_fail(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Unexpected event. Session not exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event. Session not exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer_addr = wfd_session_get_peer_addr(session);
if (!peer_addr) {
- WDS_LOGE("Session do not have peer");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session do not have peer");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_oem_start_scan(manager->oem_ops, ¶m);
manager->scan_mode = WFD_SCAN_MODE_ACTIVE;
#endif
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_wps_done(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_process_event(manager, event);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_key_neg_fail(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Unexpected event. Session not exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event. Session not exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer_addr = wfd_session_get_peer_addr(session);
if (!peer_addr) {
- WDS_LOGE("Session do not has peer");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session do not has peer");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_oem_start_scan(manager->oem_ops, ¶m);
manager->scan_mode = WFD_SCAN_MODE_ACTIVE;
#endif
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_key_neg_done(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_conn_fail(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_conn_done(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_group_created(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_group_s *group = (wfd_group_s*) manager->group;
if (!group) {
group = wfd_create_pending_group(manager, event->intf_addr);
if (!group) {
- WDS_LOGE("Failed to create pending group");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to create pending group");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (group->role == WFD_DEV_ROLE_GC && session) {
wfd_device_s *peer = session->peer;
if (peer == NULL) {
- WDS_LOGE("Unexpected event. Peer doesn't exist");
+ WDS_LOGE("Unexpected event. Peer doesn't exist");//LCOV_EXCL_LINE
return;
}
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
}
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_group_destroyed(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
char peer_mac_address[MACSTR_LEN+1] = {0, };
"Destroyed", NULL);
}
} else {
- WDS_LOGD("Unexpected event(GROUP_DESTROYED). Ignore it");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Unexpected event(GROUP_DESTROYED). Ignore it");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_destroy_group(manager);
manager->local->dev_role = WFD_DEV_ROLE_NONE;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_invitation_req(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
peer = wfd_peer_find_by_dev_addr(manager, event->dev_addr);
if (!peer) {
- WDS_LOGD("Invitation from unknown peer. Add new peer");
+ WDS_LOGD("Invitation from unknown peer. Add new peer");//LCOV_EXCL_LINE
peer = wfd_add_peer(manager, event->dev_addr, "DIRECT-");
if (!peer) {
- WDS_LOGE("Failed to add peer for invitation");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to add peer for invitation");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
manager->req_wps_mode,
SESSION_DIRECTION_INCOMING);
if (!session) {
- WDS_LOGE("Failed to create session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to create session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
session->type = SESSION_TYPE_INVITE;
res = wfd_session_start(session);
if (res < 0) {
- WDS_LOGE("Failed to start session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to start session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
WFD_EVENT_CONNECTION_REQ,
peer_mac_address));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_invitation_res(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_sta_connected(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = (wfd_session_s*) manager->session;
/* FIXME: Move this code to plugin */
if (!memcmp(event->intf_addr, manager->local->intf_addr, MACADDR_LEN)) {
- WDS_LOGD("Ignore this event");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Ignore this event");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer = wfd_peer_find_by_addr(manager, event->intf_addr);
if (!peer) {
- WDS_LOGI("Add legacy peer");
+ WDS_LOGI("Add legacy peer");//LCOV_EXCL_LINE
peer = wfd_add_peer(manager, event->intf_addr, "LEGACY-PEER");
if (!peer) {
- WDS_LOGE("Failed to add Legacy peer.");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to add Legacy peer.");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
if (wfd_group_add_member(group, peer->dev_addr) == -1) {
- WDS_LOGE("Failed to add Legacy peer.");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to add Legacy peer.");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer_mac_address));
wfd_util_dhcps_wait_ip_leased(peer);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (!session) {
WDS_LOGE("Failed to create session with peer [" MACSTR "]",
MAC2STR(event->dev_addr));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
} else {
wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
peer = wfd_session_get_peer(session);
if (!peer) {
- WDS_LOGE("Peer not found");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Peer not found");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (!group) {
group = wfd_create_pending_group(manager, event->intf_addr);
if (!group) {
- WDS_LOGE("Failed to create pending group");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to create pending group");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
manager->group = group;
}
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_sta_disconnected(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_group_s *group = NULL;
group = (wfd_group_s*) manager->group;
if (!group) {
- WDS_LOGE("Group not found");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Group not found");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
peer = wfd_group_find_member_by_addr(group, event->dev_addr);
if (!peer) {
- WDS_LOGE("Failed to find connected peer");
+ WDS_LOGE("Failed to find connected peer");//LCOV_EXCL_LINE
peer = wfd_session_get_peer(manager->session);
if (!peer) {
- WDS_LOGE("Failed to find connecting peer");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to find connecting peer");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
* some connected peer sent disassociation.
*/
if (memcmp(peer->dev_addr, event->dev_addr, MACADDR_LEN)) {
- WDS_LOGE("Unexpected event, Ignore it...");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event, Ignore it...");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
* This message should be ignored when device is not GO */
manager->local->dev_role == WFD_DEV_ROLE_GO) {
if (WFD_PEER_STATE_CONNECTED == peer->state) {
- WDS_LOGD("Peer is already Connected !!!");
+ WDS_LOGD("Peer is already Connected !!!");//LCOV_EXCL_LINE
wfd_group_remove_member(group, peer_addr);
g_snprintf(peer_mac_address, MACSTR_LEN, MACSTR, MAC2STR(peer_addr));
wfd_manager_dbus_emit_signal(WFD_MANAGER_MANAGE_INTERFACE,
peer_mac_address));
} else if (WFD_PEER_STATE_CONNECTING == peer->state) {
- WDS_LOGD("Peer is Connecting...");
+ WDS_LOGD("Peer is Connecting...");//LCOV_EXCL_LINE
g_snprintf(peer_mac_address, MACSTR_LEN, MACSTR, MAC2STR(peer_addr));
wfd_manager_dbus_emit_signal(WFD_MANAGER_MANAGE_INTERFACE,
"Connection",
NULL);
}
} else {
- WDS_LOGE("Unexpected Peer State. Ignore it");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected Peer State. Ignore it");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
} else {
- WDS_LOGE("Unexpected event. Ignore it");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event. Ignore it");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
- if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
- wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
- } else {
- wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
- }
-
/* If there is no member, GO should be destroyed */
if (!group->member_count && wfd_util_is_remove_group_allowed()) {
wfd_oem_destroy_group(manager->oem_ops, group->ifname);
}
wfd_destroy_session(manager);
+ _wfd_event_reset_state(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_terminating(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_group_formation_failure(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Unexpected event. Session not exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unexpected event. Session not exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
unsigned char *peer_addr = wfd_session_get_peer_addr(session);
if (!peer_addr) {
- WDS_LOGE("Session do not has peer");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session do not has peer");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_oem_refresh(manager->oem_ops);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_invitation_accepted(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = (wfd_session_s*) manager->session;
peer = wfd_peer_find_by_dev_addr(manager, event->dev_addr);
if (!peer) {
- WDS_LOGI("Invitation from unknown peer. Add new peer");
+ WDS_LOGI("Invitation from unknown peer. Add new peer");//LCOV_EXCL_LINE
peer = wfd_add_peer(manager, event->dev_addr, "DIRECT-");
if (!peer) {
- WDS_LOGE("Failed to add peer for invitation");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to add peer for invitation");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
if (!session) {
WDS_LOGE("Failed to create session with peer [" MACSTR "]",
MAC2STR(event->dev_addr));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTING);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTING);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
}
void wfd_event_serv_disc_resp(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
int service_type;
char peer_mac_address[MACSTR_LEN+1] = {0, };
if (!manager->is_service_discovery_supported) {
- WDS_LOGD("service discovery not supported");
+ WDS_LOGD("service discovery not supported");//LCOV_EXCL_LINE
return;
}
WDS_LOGD("Found service: [%d: %s] - [" MACSECSTR "]", service->protocol,
service->data.bonjour.query, MAC2SECSTR(event->dev_addr));
} else {
- WDS_LOGD("Found service is not supported");
+ WDS_LOGD("Found service is not supported");//LCOV_EXCL_LINE
goto next;
}
service = NULL;
count++;
}
- } else if (event->edata_type == WFD_OEM_EDATA_TYPE_SERVICE) {
- wfd_oem_service_data_s *edata = (wfd_oem_service_data_s*) event->edata;
-
- if (!edata) {
- service_type = -1;
- } else {
- service_type = edata->type;
- g_snprintf(peer_mac_address, MACSTR_LEN, MACSTR, MAC2STR(event->dev_addr));
- switch (edata->type) {
- WDS_LOGE("Unknown type [type ID: %d]", edata->type);
- }
- }
-
- wfd_manager_dbus_emit_signal(WFD_MANAGER_SERVICE_INTERFACE,
- "DiscoveryFound",
- g_variant_new("(iss)", service_type,
- response_data,
- peer_mac_address));
}
-
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_serv_disc_started(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_asp_serv_resp(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_asp_service_s *service = NULL;
GVariant *params = NULL;
if (manager && !manager->is_asp_supported) {
- WDS_LOGD("ASP is not supported.");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("ASP is not supported.");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
service = (wfd_oem_asp_service_s *)event->edata;
if (service == NULL) {
- WDS_LOGE("P2P service found event has NULL information");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("P2P service found event has NULL information");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
"SearchResult",
params);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
int __wfd_handle_asp_prov(wfd_manager_s *manager, wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
wfd_oem_asp_prov_s *prov_params = NULL;
prov_params = (wfd_oem_asp_prov_s *)event->edata;
if (prov_params == NULL) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_session_process_event(manager, event);
session = (wfd_session_s *)manager->session;
if (res < 0 || session == NULL) {
- WDS_LOGE("Failed to process event of session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to process event of session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
session->session_id = prov_params->session_id;
memcpy(session->session_mac, prov_params->session_mac, MACADDR_LEN);
memcpy(session->service_mac, prov_params->service_mac, MACADDR_LEN);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int __wfd_handle_asp_prov_done(wfd_session_s *session, wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_oem_asp_prov_s *prov_params = NULL;
prov_params = (wfd_oem_asp_prov_s *)event->edata;
if (prov_params->persist &&
(prov_params->network_role || prov_params->network_config)) {
WDS_LOGE("Persistent group is used but "
- "conncap/dev_passwd_id are present");
- __WDS_LOG_FUNC_EXIT__;
+ "conncap/dev_passwd_id are present");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (!prov_params->persist &&
(!prov_params->network_role && !prov_params->network_config)) {
WDS_LOGE("Persistent group not used but "
- "conncap/dev_passwd_id are missing");
- __WDS_LOG_FUNC_EXIT__;
+ "conncap/dev_passwd_id are missing");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_session_asp_connect(session, WFD_OEM_ASP_SESSION_ROLE_CLIENT);
} else if (prov_params->network_role == WFD_OEM_ASP_SESSION_ROLE_GO) {
res = wfd_session_asp_connect(session, WFD_OEM_ASP_SESSION_ROLE_GO);
- WDS_LOGD("don't need to take action.");
+ WDS_LOGD("don't need to take action.");//LCOV_EXCL_LINE
} else {
- WDS_LOGE("Unhandled event");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Unhandled event");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
res = -1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
void wfd_event_asp_prov_start(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
int res = 0;
if (manager == NULL || event == NULL || event->edata == NULL) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (!manager->is_asp_supported) {
- WDS_LOGD("ASP is not supported.");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("ASP is not supported.");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
res = __wfd_handle_asp_prov(manager, event);
session = (wfd_session_s *)manager->session;
if (res < 0 || session == NULL) {
- WDS_LOGE("Failed to process event of session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to process event of session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTING);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_event_asp_prov_done(wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
int res = 0;
if (manager == NULL || event == NULL || event->edata == NULL) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (!manager->is_asp_supported) {
- WDS_LOGD("ASP is not supported.");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("ASP is not supported.");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
res = __wfd_handle_asp_prov(manager, event);
session = (wfd_session_s *)manager->session;
if (res < 0 || session == NULL) {
- WDS_LOGE("Failed to process event of session");
+ WDS_LOGE("Failed to process event of session");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
+ wfd_oem_refresh(manager->oem_ops);
+ _wfd_event_reset_state(manager);
wfd_asp_connect_status(prov_params->session_mac,
prov_params->session_id,
ASP_CONNECT_STATUS_REQUEST_FAILED,
NULL);
- wfd_oem_refresh(manager->oem_ops);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
if (prov_params->status != WFD_OEM_SC_SUCCESS &&
prov_params->status != WFD_OEM_SC_SUCCESS_ACCEPTED_BY_USER) {
- WDS_LOGD("ASP-PROV failed. remove session.");
+ WDS_LOGD("ASP-PROV failed. remove session.");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
wfd_oem_refresh(manager->oem_ops);
+ _wfd_event_reset_state(manager);
wfd_asp_connect_status(prov_params->session_mac,
prov_params->session_id,
ASP_CONNECT_STATUS_REQUEST_FAILED,
NULL);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
NULL);
res = __wfd_handle_asp_prov_done(session, event);
if (res < 0) {
- WDS_LOGE("Connect failed. remove session.");
+ WDS_LOGE("Connect failed. remove session.");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
wfd_oem_refresh(manager->oem_ops);
+ _wfd_event_reset_state(manager);
wfd_asp_connect_status(prov_params->session_mac,
prov_params->session_id,
ASP_CONNECT_STATUS_GROUP_FORMATION_FAILED,
NULL);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
- WDS_LOGD("Provision done succeeded.");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Provision done succeeded.");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-
+//LCOV_EXCL_START
void wfd_event_init(wfd_oem_event_cbs_s *event_cbs)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!event_cbs) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
event_cbs->extra_data = NULL;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
+//LCOV_EXCL_STOP
/* Check the group instance which has same interface name,
* before using this function */
-wfd_group_s *wfd_create_group(void *data, wfd_oem_event_s *group_info)
-{
- __WDS_LOG_FUNC_ENTER__;
- wfd_group_s *group = NULL;
- wfd_manager_s *manager = (wfd_manager_s*) data;
- char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
-
- if (!manager || !group_info) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
- return NULL;
- }
- wfd_oem_group_data_s *edata = (wfd_oem_group_data_s *)group_info->edata;
-
- if (!edata) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
- return NULL;
- }
-
- group = manager->group;
- if (group) {
- WDS_LOGE("Group already exist");
- __WDS_LOG_FUNC_EXIT__;
- return NULL;
- }
-
- errno = 0;
- group = (wfd_group_s*) g_try_malloc0(sizeof(wfd_group_s));
- if (!group) {
- strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
- WDS_LOGE("Failed to allocate memory for group. [%s]", error_buf);
- __WDS_LOG_FUNC_EXIT__;
- return NULL;
- }
-
- memcpy(group->ifname, group_info->ifname, IFACE_NAME_LEN);
- group->ifname[IFACE_NAME_LEN] = '\0';
- group->role = group_info->dev_role;
- memcpy(group->go_dev_addr, edata->go_dev_addr, MACADDR_LEN);
-
- g_strlcpy(group->ssid, edata->ssid, DEV_NAME_LEN + 1);
- g_strlcpy(group->passphrase, edata->pass, PASSPHRASE_LEN_MAX + 1);
- memset(manager->local->passphrase, 0x0, PASSPHRASE_LEN_MAX + 1);
- group->freq = edata->freq;
-
- manager->group = group;
- manager->local->dev_role = group_info->dev_role;
-
- wfd_util_dhcps_start(group->ifname);
- group->pending = FALSE;
- WDS_LOGD("Role is Group Owner. DHCP Server started");
-
- __WDS_LOG_FUNC_EXIT__;
- return group;
-}
/* Used for CTRL-EVENT_CONNECTED event that comes before group created */
wfd_group_s *wfd_create_pending_group(void *data, unsigned char * bssid)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_group_s *group = NULL;
wfd_manager_s *manager = (wfd_manager_s*) data;
char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
if (!manager || !bssid) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
group = manager->group;
if (group) {
- WDS_LOGE("Group already exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Group already exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (!group) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to allocate memory for group. [%s]", error_buf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
group->flags &= WFD_GROUP_FLAG_NONE;
group->pending = TRUE;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return group;
}
int wfd_group_complete(void *data, wfd_oem_event_s *group_info)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_session_s *session = NULL;
wfd_group_s *group = NULL;
wfd_device_s *peer = NULL;
if (!manager || !group_info) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_oem_group_data_s *edata = (wfd_oem_group_data_s *)group_info->edata;
if (!edata) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
group = manager->group;
if (!group) {
- WDS_LOGE("Group not found");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Group not found");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
peer = wfd_session_get_peer(session);
if (!peer && !(group->flags & WFD_GROUP_FLAG_AUTONOMOUS)) {
if (!session && (group->flags & WFD_GROUP_FLAG_PERSISTENT)) {
- WDS_LOGE("Group created by supplicant is persistent group.");
+ WDS_LOGE("Group created by supplicant is persistent group.");//LCOV_EXCL_LINE
/**
* 1. When GO, start dhcpd and start session at peer joined event.
* 2. When GC, start dhcpc after adding GO Address as peer.
peer = wfd_peer_find_by_addr(manager,
group->go_dev_addr);
if (!peer) {
- WDS_LOGI("Add peer GO");
+ WDS_LOGI("Add peer GO");//LCOV_EXCL_LINE
peer = wfd_add_peer(manager,
group->go_dev_addr,
"PEER-GO");
} else {
WDS_LOGD("Failed to find peer by device address[" MACSECSTR "]",
MAC2SECSTR(edata->go_dev_addr));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
}
if (group->role == WFD_DEV_ROLE_GO) {
wfd_util_dhcps_start(group->ifname);
- WDS_LOGD("Role is Group Owner. DHCP Server started");
+ WDS_LOGD("Role is Group Owner. DHCP Server started");//LCOV_EXCL_LINE
} else {
if (!peer) {
- WDS_LOGE("Peer is not in the session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Peer is not in the session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- WDS_LOGD("Role is Group Client.complete session and add peer to member");
+ WDS_LOGD("Role is Group Client.complete session and add peer to member");//LCOV_EXCL_LINE
memcpy(peer->intf_addr, group->go_dev_addr, MACADDR_LEN);
wfd_group_add_member(group, peer->dev_addr);
if (session)
wfd_util_dhcpc_start(group->ifname, peer);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_destroy_group(void *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_group_s *group = NULL;
wfd_manager_s *manager = (wfd_manager_s*) data;
GList *temp = NULL;
int count = 0;
if (!data) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
group = manager->group;
if (!group) {
- WDS_LOGE("Group not exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Group not exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
manager->group = NULL;
g_free(group);
manager->local->dev_role = WFD_DEV_ROLE_NONE;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#if 0
int wfd_group_get_channel(wfd_group_s *group)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!group) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return group->freq;
}
#endif
int wfd_group_is_autonomous(wfd_group_s *group)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!group) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ((group->flags & WFD_GROUP_FLAG_AUTONOMOUS) == WFD_GROUP_FLAG_AUTONOMOUS);
}
#if 0
int wfd_group_get_members()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_group_make_persistent()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_group_get_flags(wfd_group_s *group)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!group) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return group->flags;
}
#endif
wfd_device_s *wfd_group_find_member_by_addr(wfd_group_s *group, unsigned char *addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GList *temp = NULL;
wfd_device_s *member = NULL;
if (!group || !addr) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (!group->member_count) {
- WDS_LOGE("There is no members");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("There is no members");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
member = temp->data;
if (!memcmp(member->intf_addr, addr, MACADDR_LEN) ||
!memcmp(member->dev_addr, addr, MACADDR_LEN)) {
- WDS_LOGD("Member found");
+ WDS_LOGD("Member found");//LCOV_EXCL_LINE
break;
}
temp = g_list_next(temp);
member = NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return member;
}
int wfd_group_add_member(wfd_group_s *group, unsigned char *addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *member = NULL;
wfd_manager_s *manager = wfd_get_manager();
if (!group || !addr) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
member = wfd_group_find_member_by_addr(group, addr);
if (member) {
- WDS_LOGE("Member already exist");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Member already exist");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
member = wfd_peer_find_by_addr(manager, addr);
if (!member)
- WDS_LOGE("Peer not found");
+ WDS_LOGE("Peer not found");//LCOV_EXCL_LINE
group->members = g_list_prepend(group->members, member);
group->member_count++;
manager->peers = g_list_remove(manager->peers, member);
manager->peer_count--;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_group_remove_member(wfd_group_s *group, unsigned char *addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *member = NULL;
wfd_manager_s *manager = wfd_get_manager();
if (!group || !addr) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (group->member_count == 0) {
- WDS_LOGE("There is no members");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("There is no members");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (!member) {
WDS_LOGD("Member not found [MAC: " MACSECSTR "]",
MAC2SECSTR(addr));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_peer_clear_all(manager);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
static int set_iface_hash(wfd_manager_iface_method_handler handler[], int idx)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GHashTable *new_hash_tbl;
int cnt;
int ret = -1;
new_hash_tbl = NULL;
new_hash_tbl = g_hash_table_new(g_str_hash, g_str_equal);
if (!new_hash_tbl) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
}
wfd_manager_iface_tbl[idx] = new_hash_tbl;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_iface_init()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
/*test manage iface */
int ret = -1;
int cnt;
if (set_iface_hash(wfd_manager_iface_manage, WFD_IFACE_MANAGE) != 0) {
wfd_manager_iface_deinit();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
if (set_iface_hash(wfd_manager_iface_group, WFD_IFACE_GROUP) != 0) {
wfd_manager_iface_deinit();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
if (set_iface_hash(wfd_manager_iface_config, WFD_IFACE_CONFIG) != 0) {
wfd_manager_iface_deinit();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
if (set_iface_hash(wfd_manager_iface_service, WFD_IFACE_SERVICE) != 0) {
wfd_manager_iface_deinit();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
if (set_iface_hash(wfd_manager_iface_display, WFD_IFACE_DISPLAY) != 0) {
wfd_manager_iface_deinit();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
if (set_iface_hash(wfd_manager_iface_asp, WFD_IFACE_ASP) != 0) {
wfd_manager_iface_deinit();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return ret;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
void wfd_manager_iface_deinit()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int cnt;
for (cnt = 0; cnt < WFD_IFACE_MAX; cnt++) {
if (wfd_manager_iface_tbl[cnt])
g_hash_table_destroy(wfd_manager_iface_tbl[cnt]);
wfd_manager_iface_tbl[cnt] = NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-
+//LCOV_EXCL_START
void wfd_manager_iface_manage_handler(const char *method,
GVariant *parameters,
GDBusMethodInvocation *invocation)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
method_handler handler;
handler = (method_handler)g_hash_table_lookup
GVariant *parameters,
GDBusMethodInvocation *invocation)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
method_handler handler;
handler = (method_handler)g_hash_table_lookup
if (handler)
handler(parameters, invocation);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
GVariant *parameters,
GDBusMethodInvocation *invocation)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
method_handler handler;
handler = (method_handler)g_hash_table_lookup
(wfd_manager_iface_tbl[WFD_IFACE_CONFIG], method);
if (handler)
handler(parameters, invocation);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
GVariant *parameters,
GDBusMethodInvocation *invocation)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
method_handler handler;
handler = (method_handler)g_hash_table_lookup
(wfd_manager_iface_tbl[WFD_IFACE_SERVICE], method);
if (handler)
handler(parameters, invocation);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
GVariant *parameters,
GDBusMethodInvocation *invocation)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
method_handler handler;
handler = (method_handler)g_hash_table_lookup
(wfd_manager_iface_tbl[WFD_IFACE_DISPLAY], method);
if (handler)
handler(parameters, invocation);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
GVariant *parameters,
GDBusMethodInvocation *invocation)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
method_handler handler;
handler = (method_handler)g_hash_table_lookup
(wfd_manager_iface_tbl[WFD_IFACE_ASP], method);
if (handler)
handler(parameters, invocation);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
+//LCOV_EXCL_STOP
int main(int argc, char *argv[])
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GMainLoop *main_loop = NULL;
wfd_manager_s *manager = NULL;
if (wfd_manager_load() < 0) {
WDS_LOGE("Failed to initialize wifi-direct manager");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
manager = wfd_get_manager();
if (!manager) {
WDS_LOGE("Failed to initialize wifi-direct manager");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (!manager->plugin_handle) {
WDS_LOGE("Failed to initialize plugin");
wfd_manager_unload(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_LOGD("Succeeded to load plugin");
WDS_LOGE("Failed to DBus");
wfd_util_plugin_deinit(manager);
wfd_manager_unload();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
main_loop = g_main_loop_new(NULL, FALSE);
if (main_loop == NULL) {
WDS_LOGE("Failed to create GMainLoop structure");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
manager->main_loop = main_loop;
wfd_manager_unload();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#include "wifi-direct-prd.h"
#endif /* TIZEN_ENABLE_PRD */
-wfd_manager_s *g_manager;
+wfd_manager_s *g_manager = NULL;
wfd_manager_s *wfd_get_manager()
{
return g_manager;
}
-
+//LCOV_EXCL_START
/* Stop wfd-manager services, If no client
exists and state is deactivated. */
static gboolean _wfd_exit_timeout_cb(void *user_data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) user_data;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return TRUE;
}
}
if (manager->state == WIFI_DIRECT_STATE_DEACTIVATED) {
- WDS_LOGD("Terminate Wi-Fi Direct Manager");
+ WDS_LOGD("Terminate Wi-Fi Direct Manager");//LCOV_EXCL_LINE
g_main_quit(manager->main_loop);
manager->exit_timer = 0;
WDS_LOGD("Stop exit timer. State [%d]", manager->state);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return FALSE;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return TRUE;
}
}
}
}
-
+//LCOV_EXCL_STOP
static int _wfd_local_init_device(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = NULL;
int res = 0;
char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
wfd_oem_config_s *config;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
res = wfd_util_get_phone_name(local->dev_name);
if (res < 0) {
- WDS_LOGE("Failed to get phone name of local device. Use default device name");
+ WDS_LOGE("Failed to get phone name of local device. Use default device name");//LCOV_EXCL_LINE
if (config)
g_strlcpy(local->dev_name, config->device_name, DEV_NAME_LEN + 1);
else
res = wfd_util_get_local_dev_mac(local->dev_addr);
if (res < 0)
- WDS_LOGE("Failed to get local device MAC address");
+ WDS_LOGE("Failed to get local device MAC address");//LCOV_EXCL_LINE
memcpy(local->intf_addr, local->dev_addr, MACADDR_LEN);
local->intf_addr[4] ^= 0x80;
/* TODO: initialize other local device datas */
manager->local = local;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
static int _wfd_local_deinit_device(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
/* TODO: free member of local device */
g_free(manager->local);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_local_reset_data(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = NULL;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
memset(&(local->display), 0x0, sizeof(wfd_display_s));
memset(local->ip_addr, 0x0, IPADDR_LEN);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_local_get_dev_name(char *dev_name)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!dev_name) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_strlcpy(dev_name, local->dev_name, DEV_NAME_LEN + 1);
WDS_LOGD("Local device name [%s]", dev_name);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_local_set_dev_name(char *dev_name)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!dev_name) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (g_manager->state >= WIFI_DIRECT_STATE_ACTIVATED) {
wfd_oem_set_dev_name(g_manager->oem_ops, dev_name);
- WDS_LOGD("Device name changed.");
+ WDS_LOGD("Device name changed.");//LCOV_EXCL_LINE
} else {
WDS_LOGE("Device name can't changed: state is %d", g_manager->state);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_local_get_dev_mac(char *dev_mac)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!dev_mac) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_snprintf(dev_mac, MACSTR_LEN, MACSTR, MAC2STR(local->dev_addr));
WDS_SECLOGD("Local device MAC address [%s]", dev_mac);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#if 0
int wfd_local_get_intf_mac(unsigned char *intf_mac)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!intf_mac) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_snprintf(intf_mac, MACSTR_LEN, MACSTR, MAC2STR(local->intf_addr));
WDS_SECLOGD("Local interface MAC address [%s]", intf_mac);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#endif
int wfd_local_get_ip_addr(char *ip_str)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!ip_str) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
snprintf(ip_str, IPSTR_LEN, IPSTR, IP2STR(local->ip_addr));
WDS_SECLOGD("Local IP address [" IPSECSTR "]", IP2SECSTR(local->ip_addr));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_local_get_supported_wps_mode(int *config_methods)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!config_methods) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
*config_methods = local->config_methods;
WDS_LOGD("Local config method [0x%x]", *config_methods);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_local_get_wps_mode(int *wps_mode)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!wps_mode) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
*wps_mode = local->wps_mode;
WDS_LOGD("Local wps mode [0x%x]", *wps_mode);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#if 0
int wfd_local_set_wps_mode(int wps_mode)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (!wps_mode) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
local->wps_mode = wps_mode;
WDS_LOGD("Local wps mode [0x%x]", wps_mode);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#endif
int wfd_manager_get_go_intent(int *go_intent)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!go_intent) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
*go_intent = g_manager->go_intent;
WDS_LOGD("Local GO intent [%d]", *go_intent);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_set_go_intent(int go_intent)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (go_intent < 0 || go_intent > 15) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (g_manager->state >= WIFI_DIRECT_STATE_ACTIVATED)
wfd_oem_set_go_intent(g_manager->oem_ops, go_intent);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_get_max_station(int *max_station)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!max_station) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
*max_station = g_manager->max_station;
WDS_LOGD("Local max station[%d]", *max_station);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_set_max_station(int max_station)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (max_station < 1) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_manager->max_station = max_station;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_get_autoconnection(int *autoconnection)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!autoconnection) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
*autoconnection = g_manager->autoconnection;
- WDS_LOGD("Local autoconnection [%s]", *autoconnection ? "TRUE" : "FALSE");
+ WDS_LOGD("Local autoconnection [%s]", *autoconnection ? "TRUE" : "FALSE");//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_set_autoconnection(int autoconnection)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (autoconnection < 0) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_manager->autoconnection = autoconnection;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_get_req_wps_mode(int *req_wps_mode)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!req_wps_mode) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
*req_wps_mode = g_manager->req_wps_mode;
WDS_LOGD("Requested wps mode [0x%x]", *req_wps_mode);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_set_req_wps_mode(int req_wps_mode)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = g_manager->local;
if (req_wps_mode != WIFI_DIRECT_WPS_TYPE_PBC &&
req_wps_mode != WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY &&
req_wps_mode != WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
else
local->wps_mode = req_wps_mode;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_local_config_set(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *local = NULL;
int ip_over_eapol = 0;
int res = 0;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
WDS_LOGD("Device name set as %s", local->dev_name);
res = wfd_oem_set_dev_name(manager->oem_ops, local->dev_name);
if (res < 0) {
- WDS_LOGE("Failed to set device name");
+ WDS_LOGE("Failed to set device name");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
local->sec_dev_type = DEFAULT_SECONDARY_DEVICE_TYPE;
res = wfd_oem_set_dev_type(manager->oem_ops, local->pri_dev_type, local->sec_dev_type);
if (res < 0) {
- WDS_LOGE("Failed to set device type");
+ WDS_LOGE("Failed to set device type");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
res = wfd_oem_set_go_intent(manager->oem_ops, manager->go_intent);
if (res < 0) {
- WDS_LOGE("Failed to set go intent");
+ WDS_LOGE("Failed to set go intent");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
ip_over_eapol = 0;
res = wfd_oem_set_eapol_ip_config(manager->oem_ops, ip_over_eapol);
if (res < 0) {
- WDS_LOGE("Failed to set eapol ip config");
+ WDS_LOGE("Failed to set eapol ip config");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
int wfd_manager_activate(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int prev_state = 0;
int res = 0;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
if (manager->state > WIFI_DIRECT_STATE_ACTIVATING) {
- WDS_LOGE("Already activated");
+ WDS_LOGE("Already activated");//LCOV_EXCL_LINE
return 1;
}
if (manager->state == WIFI_DIRECT_STATE_ACTIVATING) {
- WDS_LOGE("In progress");
+ WDS_LOGE("In progress");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATING);
res = wfd_util_check_wifi_state();
if (res < 0) {
- WDS_LOGE("Failed to get wifi state");
+ WDS_LOGE("Failed to get wifi state");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
} else if (res == 0) {
res = wfd_oem_activate(manager->oem_ops, 0);
if (res < 0) {
- WDS_LOGE("Failed to activate");
+ WDS_LOGE("Failed to activate");//LCOV_EXCL_LINE
wfd_state_set(manager, prev_state);
wfd_util_set_wifi_direct_state(prev_state);
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
} else {
res = wfd_oem_activate(manager->oem_ops, res);
if (res < 0) {
- WDS_LOGE("Failed to activate");
+ WDS_LOGE("Failed to activate");//LCOV_EXCL_LINE
wfd_state_set(manager, prev_state);
wfd_util_set_wifi_direct_state(prev_state);
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
}
- WDS_LOGE("Succeeded to activate");
+ WDS_LOGE("Succeeded to activate");//LCOV_EXCL_LINE
wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
res = wfd_util_get_local_dev_mac(manager->local->dev_addr);
if (res < 0)
- WDS_LOGE("Failed to get local device MAC address");
+ WDS_LOGE("Failed to get local device MAC address");//LCOV_EXCL_LINE
memcpy(manager->local->intf_addr, manager->local->dev_addr, MACADDR_LEN);
manager->local->intf_addr[4] ^= 0x80;
WDS_LOGD("Local Interface MAC address [" MACSECSTR "]",
MAC2SECSTR(manager->local->intf_addr));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_deactivate(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int prev_state = 0;
int res = 0;
wfd_group_s *group = NULL;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
if (manager->is_wifi_display_supported) {
res = wfd_oem_miracast_init(manager->oem_ops, false);
if (res < 0)
- WDS_LOGE("Failed to initialize miracast");
+ WDS_LOGE("Failed to initialize miracast");//LCOV_EXCL_LINE
}
group = (wfd_group_s*) manager->group;
if (group && group->pending == FALSE) {
res = wfd_oem_destroy_group(manager->oem_ops, group->ifname);
if (res < 0)
- WDS_LOGE("Failed to destroy group before deactivation");
+ WDS_LOGE("Failed to destroy group before deactivation");//LCOV_EXCL_LINE
}
res = wfd_util_check_wifi_state();
if (res < 0) {
- WDS_LOGE("Failed to get wifi state");
+ WDS_LOGE("Failed to get wifi state");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
} else if (res == 0) {
res = wfd_oem_deactivate(manager->oem_ops, 0);
if (res < 0) {
- WDS_LOGE("Failed to deactivate");
+ WDS_LOGE("Failed to deactivate");//LCOV_EXCL_LINE
wfd_state_set(manager, prev_state);
wfd_util_set_wifi_direct_state(prev_state);
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
/* FIXME: We should do something to stop p2p feature of Driver */
res = wfd_oem_deactivate(manager->oem_ops, res);
if (res < 0) {
- WDS_LOGE("Failed to deactivate");
+ WDS_LOGE("Failed to deactivate");//LCOV_EXCL_LINE
wfd_state_set(manager, prev_state);
wfd_util_set_wifi_direct_state(prev_state);
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
- WDS_LOGE("Do not need to deactivate Wi-Fi");
+ WDS_LOGE("Do not need to deactivate Wi-Fi");//LCOV_EXCL_LINE
}
- WDS_LOGE("Succeeded to deactivate");
+ WDS_LOGE("Succeeded to deactivate");//LCOV_EXCL_LINE
wfd_state_set(manager, WIFI_DIRECT_STATE_DEACTIVATED);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_DEACTIVATED);
if (manager->is_connection_agent)
wfd_util_stop_wifi_direct_popup();
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_connect(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
int res = 0;
if (!manager || !peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
if (manager->state != WIFI_DIRECT_STATE_ACTIVATED &&
manager->state != WIFI_DIRECT_STATE_DISCOVERING &&
manager->state != WIFI_DIRECT_STATE_GROUP_OWNER) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
wfd_group_s *group = (wfd_group_s*) manager->group;
if (group && group->member_count >= manager->max_station) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_TOO_MANY_CLIENT;
}
session = (wfd_session_s*) manager->session;
if (session && session->type != SESSION_TYPE_INVITE) {
- WDS_LOGE("Session already exist and it's not an invitation session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session already exist and it's not an invitation session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
session = wfd_create_session(manager, peer_addr,
manager->req_wps_mode, SESSION_DIRECTION_OUTGOING);
if (!session) {
- WDS_LOGE("Failed to create new session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to create new session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
}
res = wfd_session_start(session);
}
if (res < 0) {
- WDS_LOGE("Failed to start session");
+ WDS_LOGE("Failed to start session");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTING);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTING);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_asp_connect_session(wfd_manager_s *manager, void *params)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
wfd_oem_asp_prov_s *prov_params = NULL;
int req_wps_mode = WFD_WPS_MODE_P2PS;
prov_params = (wfd_oem_asp_prov_s *)params;
if (!manager || !prov_params) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
session = (wfd_session_s*) manager->session;
if (session) {
- WDS_LOGE("Session already exists");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session already exists");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
session = wfd_create_session(manager, prov_params->service_mac,
req_wps_mode, SESSION_DIRECTION_OUTGOING);
if (!session) {
- WDS_LOGE("Failed to create new session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to create new session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
res = wfd_session_asp_session_start(session, prov_params);
if (res < 0) {
- WDS_LOGE("Failed to start session");
+ WDS_LOGE("Failed to start session");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTING);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTING);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_asp_confirm_session(wfd_manager_s *manager, void *params, int confirmed)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
wfd_oem_asp_prov_s *prov_params = NULL;
int res = 0;
prov_params = (wfd_oem_asp_prov_s *)params;
if (!manager || !prov_params) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Session not exists");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session not exists");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
if (session->session_id != prov_params->session_id ||
memcmp(&(session->session_mac), prov_params->session_mac, MACADDR_LEN) != 0) {
- WDS_LOGE("Session MAC or ID not matched");
+ WDS_LOGE("Session MAC or ID not matched");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
res = wfd_oem_asp_prov_disc_req(manager->oem_ops, prov_params);
if (res < 0) {
- WDS_LOGE("Failed to start session");
+ WDS_LOGE("Failed to start session");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTING);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTING);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_accept_connection(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
wfd_device_s *peer = NULL;
int res = 0;
if (!manager || !peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Session not found");
+ WDS_LOGE("Session not found");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
peer = wfd_peer_find_by_dev_addr(manager, peer_addr);
if (!peer) {
- WDS_LOGE("Peer is NULL");
+ WDS_LOGE("Peer is NULL");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
if (memcmp(session->peer->dev_addr, peer_addr, MACADDR_LEN) != 0) {
- WDS_LOGE("Peer and ongoing session peer are different");
+ WDS_LOGE("Peer and ongoing session peer are different");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
- WDS_LOGD("My device is GO and peer want to join my group, so WPS will be started");
+ WDS_LOGD("My device is GO and peer want to join my group, so WPS will be started");//LCOV_EXCL_LINE
res = wfd_session_wps(session);
} else if (peer->dev_role == WFD_DEV_ROLE_GO) {
- WDS_LOGD("Peer device is GO, so Prov_Disc or Join will be started");
+ WDS_LOGD("Peer device is GO, so Prov_Disc or Join will be started");//LCOV_EXCL_LINE
if (session->type == SESSION_TYPE_INVITE) {
if (session->state == SESSION_STATE_CREATED) {
- WDS_LOGD("Invitation session. PD will be started");
+ WDS_LOGD("Invitation session. PD will be started");//LCOV_EXCL_LINE
res = wfd_session_start(session);
} else {
- WDS_LOGD("Invitation session. Join will be started");
+ WDS_LOGD("Invitation session. Join will be started");//LCOV_EXCL_LINE
res = wfd_session_join(session);
}
} else {
if (manager->autoconnection && (manager->auto_pin[0] != 0))
g_strlcpy(session->wps_pin, manager->auto_pin, PINSTR_LEN + 1);
- WDS_LOGD("Peer device is GO, so WPS will be started");
+ WDS_LOGD("Peer device is GO, so WPS will be started");//LCOV_EXCL_LINE
res = wfd_session_connect(session);
}
} else {
/* We should wait GO_NEGO_REQ from peer(MO) in autoconnection mode. */
/* Otherwise, GO Nego is sometimes failed. */
if (manager->autoconnection == FALSE) {
- WDS_LOGD("My device is Device, so Negotiation will be started");
+ WDS_LOGD("My device is Device, so Negotiation will be started");//LCOV_EXCL_LINE
res = wfd_session_connect(session);
}
}
if (res < 0) {
- WDS_LOGE("Failed to start session");
+ WDS_LOGE("Failed to start session");//LCOV_EXCL_LINE
if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTING);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTING);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_cancel_connection(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_group_s *group = NULL;
int res = 0;
if (!manager || !peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_INVALID_PARAMETER;
}
if (!manager->session && manager->state != WIFI_DIRECT_STATE_CONNECTING) {
- WDS_LOGE("It's not CONNECTING state");
+ WDS_LOGE("It's not CONNECTING state");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
res = wfd_session_cancel(manager->session, peer_addr);
if (res < 0) {
- WDS_LOGE("Failed to cancel session");
+ WDS_LOGE("Failed to cancel session");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_reject_connection(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
int res = 0;
if (!manager || !peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Session not found");
+ WDS_LOGE("Session not found");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
}
if (session->direction != SESSION_DIRECTION_INCOMING) {
- WDS_LOGE("Only incomming session can be rejected");
+ WDS_LOGE("Only incomming session can be rejected");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
res = wfd_session_reject(session, peer_addr);
if (res < 0) {
- WDS_LOGE("Failed to reject connection");
+ WDS_LOGE("Failed to reject connection");//LCOV_EXCL_LINE
/* TODO: check whether set state and break */
}
wfd_destroy_session(manager);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_disconnect(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_group_s *group = NULL;
wfd_device_s *peer = NULL;
int res = 0;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
if (!peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_INVALID_PARAMETER;
}
group = (wfd_group_s*) manager->group;
if (!group) {
- WDS_LOGE("Group not found");
+ WDS_LOGE("Group not found");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
peer = wfd_group_find_member_by_addr(group, peer_addr);
if (!peer) {
- WDS_LOGE("Connected peer not found");
+ WDS_LOGE("Connected peer not found");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_INVALID_PARAMETER;
}
}
if (res < 0) {
- WDS_LOGE("Failed to disconnect peer");
+ WDS_LOGE("Failed to disconnect peer");//LCOV_EXCL_LINE
res = WIFI_DIRECT_ERROR_OPERATION_FAILED;
goto failed;
}
- WDS_LOGE("Succeeded to disconnect peer");
+ WDS_LOGE("Succeeded to disconnect peer");//LCOV_EXCL_LINE
wfd_group_remove_member(group, peer_addr);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
failed:
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
int wfd_manager_disconnect_all(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_group_s *group = NULL;
int res = 0;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
group = (wfd_group_s*) manager->group;
if (!group) {
- WDS_LOGE("Group not found");
+ WDS_LOGE("Group not found");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
res = wfd_oem_destroy_group(manager->oem_ops, group->ifname);
if (res < 0) {
- WDS_LOGE("Failed to destroy group");
+ WDS_LOGE("Failed to destroy group");//LCOV_EXCL_LINE
res = WIFI_DIRECT_ERROR_OPERATION_FAILED;
goto failed;
}
- WDS_LOGE("Succeeded to disconnect all peer");
+ WDS_LOGE("Succeeded to disconnect all peer");//LCOV_EXCL_LINE
wfd_destroy_group(manager);
wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
failed:
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
int wfd_manager_get_peer_info(wfd_manager_s *manager, unsigned char *addr, wfd_discovery_entry_s **peer)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer_dev = NULL;
wfd_discovery_entry_s *peer_info;
wfd_oem_device_s *oem_dev = NULL;
char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
if (!manager || !addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
time = tval.tv_sec;
#endif
WDS_LOGI("Current time [%ld]", time);
-
+//LCOV_EXCL_START
res = wfd_oem_get_peer_info(manager->oem_ops, addr, &oem_dev);
if (res < 0 || !oem_dev) {
- WDS_LOGE("Failed to get peer information");
+ WDS_LOGE("Failed to get peer information");//LCOV_EXCL_LINE
return -1;
}
WDS_LOGD("peer_count[%d]", manager->peer_count);
} else {
if (oem_dev->age > 30 && peer_dev->state == WFD_PEER_STATE_DISCOVERED) {
- WDS_LOGE("Too old age to update peer");
+ WDS_LOGE("Too old age to update peer");//LCOV_EXCL_LINE
free(oem_dev);
return -1;
}
peer_info->is_wfd_device = 1;
*peer = peer_info;
-
- __WDS_LOG_FUNC_EXIT__;
+//LCOV_EXCL_STOP
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
int wfd_manager_get_peers(wfd_manager_s *manager, wfd_discovery_entry_s **peers_data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GList *temp = NULL;
wfd_device_s *peer = NULL;
wfd_discovery_entry_s *peers = NULL;
char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
if (!manager || !peers_data) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
*peers_data = peers;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return count;
}
int wfd_manager_get_connected_peers(wfd_manager_s *manager, wfd_connected_peer_info_s **peers_data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_connected_peer_info_s *peers = NULL;
wfd_group_s *group = NULL;
wfd_device_s *peer = NULL;
char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
if (!manager || !peers_data) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
group = manager->group;
if (!group) {
- WDS_LOGE("Group not exist");
+ WDS_LOGE("Group not exist");//LCOV_EXCL_LINE
return -1;
}
peer_count = group->member_count;
if (peer_count == 0) {
- WDS_LOGD("Member not exist");
+ WDS_LOGD("Member not exist");//LCOV_EXCL_LINE
return 0;
}
*peers_data = peers;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return count;
}
wfd_device_s *wfd_manager_get_connected_peer_by_addr(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = NULL;
if (peer_addr == NULL) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
if (manager->group)
peer = wfd_group_find_member_by_addr(manager->group, peer_addr);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
#if 0
wfd_device_s *wfd_manager_find_connected_peer(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = NULL;
if (!manager || !peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return NULL;
}
peer = wfd_group_find_member_by_addr(manager->group, peer_addr);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
#endif
int wfd_manager_get_goup_ifname(char **ifname)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_group_s *group = g_manager->group;
if (!ifname) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (!group) {
- WDS_LOGE("Group not exist");
+ WDS_LOGE("Group not exist");//LCOV_EXCL_LINE
return -1;
}
*ifname = group->ifname;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_set_display_device(int type, int port, int hdcp)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s * device = g_manager->local;
wfd_oem_display_s display;
int res = 0;
if (!device) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_oem_set_display(g_manager->oem_ops, (wfd_oem_display_s*)&display);
if (res < 0) {
- WDS_LOGE("Failed to set wifi display");
+ WDS_LOGE("Failed to set wifi display");//LCOV_EXCL_LINE
return -1;
}
device->display.port = port;
device->display.hdcp_support = hdcp;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
int wfd_manager_set_session_availability(int availability)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s * device = g_manager->local;
wfd_oem_display_s display;
int res = 0;
if (!device) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_oem_set_display(g_manager->oem_ops, (wfd_oem_display_s*)&display);
if (res < 0) {
- WDS_LOGE("Failed to set wifi display session availability");
+ WDS_LOGE("Failed to set wifi display session availability");//LCOV_EXCL_LINE
return -1;
}
device->display.availability = availability;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
int wfd_manager_start_discovery(wfd_manager_s *manager, int mode, int timeout,
const char* type, int channel, int frequency)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int res = WIFI_DIRECT_ERROR_OPERATION_FAILED;
wfd_oem_scan_param_s param;
memset(¶m, 0x0, sizeof(wfd_oem_scan_param_s));
res = wfd_oem_start_scan(manager->oem_ops, ¶m);
if (res < 0) {
- WDS_LOGE("Failed to start scan");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to start scan");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_DISCOVERING);
}
- WDS_LOGD("Succeeded to start scan");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Succeeded to start scan");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
int wfd_manager_cancel_discovery(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int res = 0;
res = wfd_oem_stop_scan(manager->oem_ops);
if (res < 0) {
- WDS_LOGE("Failed to stop scan");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to stop scan");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- WDS_LOGD("Succeeded to stop scan");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Succeeded to stop scan");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
wfd_device_s *wfd_manager_get_peer_by_addr(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = NULL;
if (manager->group)
peer = wfd_group_find_member_by_addr(manager->group, peer_addr);
peer = wfd_peer_find_by_addr(manager, peer_addr);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
static wfd_manager_s *wfd_manager_init()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = NULL;
int res = 0;
manager = (wfd_manager_s*) g_try_malloc0(sizeof(wfd_manager_s));
if (!manager) {
- WDS_LOGE("Failed to allocate memory for wfd_manager structure");
+ WDS_LOGE("Failed to allocate memory for wfd_manager structure");//LCOV_EXCL_LINE
return NULL;
}
manager->wfd_oem_conf = (wfd_oem_config_s*) g_try_malloc0(sizeof(wfd_oem_config_s));
if (!manager->wfd_oem_conf) {
g_free(manager);
- WDS_LOGE("Failed to allocate memory for wfd_oem_conf structure");
+ WDS_LOGE("Failed to allocate memory for wfd_oem_conf structure");//LCOV_EXCL_LINE
return NULL;
}
res = _wfd_local_init_device(manager);
if (res < 0) {
- WDS_LOGE("Failed to initialize local device");
+ WDS_LOGE("Failed to initialize local device");//LCOV_EXCL_LINE
g_free(manager->wfd_oem_conf);
g_free(manager);
return NULL; /* really stop manager? */
}
- WDS_LOGD("Succeeded to initialize local device");
+ WDS_LOGD("Succeeded to initialize local device");//LCOV_EXCL_LINE
manager->client_count = 0;
manager->client_list = NULL;
if (manager->is_on_demand) {
manager->exit_timer = g_timeout_add(120000,
(GSourceFunc) _wfd_exit_timeout_cb, manager);
- WDS_LOGD("Exit timer started");
+ WDS_LOGD("Exit timer started");//LCOV_EXCL_LINE
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return manager;
}
int wfd_manager_deinit(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_free(manager->wfd_oem_conf);
g_free(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_manager_load()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
/* TODO: Parsing argument */
/* Wi-Fi direct connection for S-Beam can be optimized using argument */
*/
g_manager = wfd_manager_init();
if (!g_manager) {
- WDS_LOGE("Failed to initialize wifi-direct manager");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to initialize wifi-direct manager");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- WDS_LOGD("Succeeded to initialize manager");
+ WDS_LOGD("Succeeded to initialize manager");//LCOV_EXCL_LINE
if (wfd_manager_iface_init() != 0) {
- WDS_LOGE("Failed to initialize iface");
+ WDS_LOGE("Failed to initialize iface");//LCOV_EXCL_LINE
wfd_manager_deinit(g_manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- WDS_LOGD("Succeeded to load iface");
+ WDS_LOGD("Succeeded to load iface");//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
+
void wfd_manager_unload()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_iface_deinit();
wfd_manager_deinit(g_manager);
+ g_manager = NULL;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void activate_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
int ret;
wfd_manager_dbus_emit_signal(WFD_MANAGER_MANAGE_INTERFACE,
"Activation",
g_variant_new("(i)", ret));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void add_client_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void deactivate_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
int ret = WIFI_DIRECT_ERROR_OPERATION_FAILED;
"Deactivation",
g_variant_new("(i)", ret));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void start_discovery_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
gboolean mode = FALSE;
gint32 timeout = 0;
if (mode && (manager->local->dev_role == WFD_DEV_ROLE_GO)) {
WDS_LOGW("Wi-Fi Direct device is already visible, do not start listen");
wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void stop_discovery_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
int mode = 0;
int ret;
wfd_manager_dbus_emit_signal(WFD_MANAGER_MANAGE_INTERFACE,
"DiscoveryFinished", NULL);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_discovered_peer_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_discovery_entry_s *peers = NULL;
g_variant_builder_unref(builder_peers);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void connect_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
const char *peer_mac_address = NULL;
unsigned char mac_addr[MACADDR_LEN] = {0, };
WFD_EVENT_CONNECTION_IN_PROGRESS,
peer_mac_address));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void disconnect_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
const char *peer_mac_address = NULL;
unsigned char mac_addr[MACADDR_LEN] = {0, };
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)
- 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_GROUP_OWNER);
- } else {
- wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
- }
- } else {
- WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
- }
- }
+ if (!manager->group || manager->state < WIFI_DIRECT_STATE_CONNECTED)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
g_variant_get(parameters, "(&s)", &peer_mac_address);
if (peer_mac_address == NULL)
g_variant_new("(iis)", WIFI_DIRECT_ERROR_NONE,
WFD_EVENT_DISCONNECTION_RSP,
peer_mac_address));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void cancel_connection_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
const char *peer_mac_address = NULL;
unsigned char mac_addr[MACADDR_LEN] = {0, };
g_variant_new("(iis)", WIFI_DIRECT_ERROR_CONNECTION_CANCELED,
WFD_EVENT_CONNECTION_RSP,
peer_mac_address));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void accept_connection_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
const char *peer_mac_address = NULL;
unsigned char mac_addr[MACADDR_LEN] = {0, };
peer_mac_address));
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void reject_connection_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = NULL;
const char *peer_mac_address = NULL;
WFD_EVENT_CONNECTION_RSP,
peer_mac_address));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void disconnect_all_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
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)
- 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_GROUP_OWNER);
- } else {
- wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
- wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
- }
- } else {
- WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
- }
- }
+ if (!manager->group || manager->state < WIFI_DIRECT_STATE_CONNECTED)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
WFD_EVENT_DISCONNECTION_RSP,
""));
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_connected_peers_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_connected_peer_info_s *peers = NULL;
g_free(peers);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_connecting_peer_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session;
wfd_device_s *peer = NULL;
g_free(connecting_peer);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void is_discoverable_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_group_is_autonomous(manager->group) == TRUE));
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void is_listening_only_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
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_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_peer_info_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_discovery_entry_s *peer = NULL;
GVariantBuilder *builder_peer = NULL;
WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
}
+//LCOV_EXCL_START
builder_peer = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
g_variant_builder_add(builder_peer, "{sv}",
"DeviceName",
g_free(peer);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+//LCOV_EXCL_STOP
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_state_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int ret;
return_parameters = g_variant_new("(ii)", ret, manager->state);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void create_group_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_group_s *group = NULL;
wfd_oem_group_param_s param;
ret = WIFI_DIRECT_ERROR_NOT_PERMITTED;
g_variant_iter_free(iter);
wfd_manager_dbus_return_err(ret, (GDBusMethodInvocation *)dest);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void destroy_group_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_group_s *group = NULL;
int ret;
wfd_manager_dbus_emit_signal(WFD_MANAGER_GROUP_INTERFACE,
"Destroyed", NULL);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void is_group_owner_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
gboolean result;
return_parameters = g_variant_new("(b)", result);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void is_auto_group_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int result;
return_parameters = g_variant_new("(b)", result);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void activate_pushbutton_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-
+//LCOV_EXCL_START
void get_persistent_group_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int persistent_group_count = 0;
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
g_variant_builder_unref(builder_groups);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-
+//LCOV_EXCL_STOP
void remove_persistent_group_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
gchar *ssid;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_passphrase_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
gchar *passphrase;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_passphrase_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_group_s *group = NULL;
WDS_LOGI("group->pass : [%s]", group->passphrase);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_persistent_group_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
gboolean enabled;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void is_persistent_group_enabled_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
gboolean result;
return_parameters = g_variant_new("(b)", result);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_device_name_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
char device_name[WIFI_DIRECT_MAX_DEVICE_NAME_LEN+1] = {0, };
int ret;
}
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_device_name_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
const char *device_name = NULL;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_wps_pin_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_session_s *session = (wfd_session_s*) manager->session;
return_parameters = g_variant_new("(is)", ret, session->wps_pin);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_wps_pin_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
const char *pin = NULL;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void generate_wps_pin_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_dbus_reply_error_none((GDBusMethodInvocation *)dest);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_supported_wps_mode_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int config_methods = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, config_methods);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_req_wps_mode_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int wps_mode = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, wps_mode);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_req_wps_mode_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int type = 0;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_local_wps_mode_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int wps_mode = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, wps_mode);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_ip_address_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
char ip_addr_str[IPSTR_LEN+1] = {0, };
WDS_LOGI("IP addr : [%s]", ip_addr_str);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_mac_address_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
char device_mac[MACSTR_LEN+1] = {0, };
int ret;
return_parameters = g_variant_new("(is)", ret, device_mac);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_go_intent_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int go_intent = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, go_intent);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_go_intent_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int go_intent = 0;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_max_client_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int max_client = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, max_client);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_max_client_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int max_client = 0;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_autoconnection_mode_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
gboolean mode = FALSE;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void is_autoconnection_mode_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int mode = 0;
int ret;
return_parameters = g_variant_new("(ib)", ret, mode);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_operating_channel_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_group_s *group = NULL;
GVariant *return_parameters = NULL;
return_parameters = g_variant_new("(ii)", ret, channel);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_autoconnection_peer_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_interface_name_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_group_s *group = NULL;
return_parameters = g_variant_new("(is)", ret, group->ifname);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_subnet_mask_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
char *get_str = NULL;
char subnet_mask[IPSTR_LEN+1] = {0, };
free(get_str);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_gateway_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
char *get_str = NULL;
char gateway_addr[IPSTR_LEN+1] = {0, };
free(get_str);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_session_timer_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int session_timer = 0;
return_parameters = g_variant_new("(ii)", ret, session_timer);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void set_session_timer_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int session_timer = 0;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_auto_group_removal_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
gboolean enable;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
/* Remove group immediately if no connected peer found */
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_primary_dev_type_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int pri_dev_type = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, pri_dev_type);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_secondary_dev_type_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GVariant *return_parameters = NULL;
int sec_dev_type = 0;
int ret;
return_parameters = g_variant_new("(ii)", ret, sec_dev_type);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_peer_rssi_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_device_s *peer = NULL;
return_parameters = g_variant_new("(ii)", ret, peer->rssi);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void add_vsie_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
const char *vsie = NULL;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void get_vsie_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
char *vsie = NULL;
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void remove_vsie_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
const char *vsie = NULL;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void srv_start_discovery_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
const char *mac_address = NULL;
int service_type;
wfd_manager_dbus_emit_signal(WFD_MANAGER_SERVICE_INTERFACE,
"DiscoveryStarted", NULL);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void srv_stop_discovery_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
const char *mac_address = NULL;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void srv_register_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int service_type;
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void srv_deregister_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int service_id = 0;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_init_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_deinit_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int ret;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_set_config_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int type, port, hdcp;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_set_avail_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
int availability;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_get_peer_type_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_device_s *peer = NULL;
return_parameters = g_variant_new("(ii)", ret, peer->display.type);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_get_peer_avail_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_device_s *peer = NULL;
return_parameters = g_variant_new("(ii)", ret, peer->display.availability);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_get_peer_hdcp_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_device_s *peer = NULL;
return_parameters = g_variant_new("(ii)", ret, peer->display.hdcp_support);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_get_peer_port_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_device_s *peer = NULL;
return_parameters = g_variant_new("(ii)", ret, peer->display.port);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void display_get_peer_throughput_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_device_s *peer = NULL;
return_parameters = g_variant_new("(ii)", ret, peer->display.max_tput);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
int txt_length = 0;
int key_length = 0;
gsize value_length = 0;
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
DBUS_DEBUG_VARIANT(variant);
g_variant_get(variant, "a{sv}", &iter);
if (!iter) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
g_variant_iter_free(iter);
if (txt_length == 0) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
buff = g_try_malloc0(txt_length);
if (buff == NULL) {
WDS_LOGE("g_try_malloc0 failed");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
pos = buff;
g_variant_iter_free(iter);
*txt_record = buff;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void advertise_service_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
GVariantIter *iter = NULL;
if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
WDS_LOGW("Wi-Fi Direct device is already visible, do not start listen");
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void cancel_advertise_service_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_oem_asp_service_s service;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void seek_service_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_oem_asp_service_s service;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void cancel_seek_service_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariant *return_parameters = NULL;
wfd_oem_asp_service_s service;
return_parameters = g_variant_new("(i)", ret);
wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void connect_sessoin_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariantIter *iter = NULL;
wfd_oem_asp_prov_s prov_params;
ASP_CONNECT_STATUS_NOMORE_CONNECT,
NULL);
g_variant_iter_free(iter);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
g_variant_iter_free(iter);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void confirm_sessoin_handler(GVariant *parameters, void *dest)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GVariantIter *iter = NULL;
wfd_oem_asp_prov_s prov_params;
}
g_variant_iter_free(iter);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
wfd_device_s *wfd_add_peer(void *data, unsigned char *dev_addr, char *dev_name)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
if (!data || !dev_addr || !dev_name) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
peer = wfd_peer_find_by_dev_addr(manager, dev_addr);
if (peer) {
- WDS_LOGD("Peer already exist[" MACSECSTR "]", MAC2SECSTR(dev_addr));
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGD("Peer already exist[" MACSECSTR "]", MAC2SECSTR(dev_addr));//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
peer = (wfd_device_s*) g_try_malloc0(sizeof(wfd_device_s));
if (peer == NULL) {
- WDS_LOGE("Failed to allocate memory for peer[" MACSTR "]", MAC2STR(dev_addr));
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to allocate memory for peer[" MACSTR "]", MAC2STR(dev_addr));//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
memcpy(peer->dev_addr, dev_addr, MACADDR_LEN);
manager->peers = g_list_prepend(manager->peers, peer);
manager->peer_count++;
WDS_LOGD("peer_count[%d]", manager->peer_count);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
int wfd_remove_peer(void *data, unsigned char *dev_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
if (!data || !dev_addr) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
peer = wfd_peer_find_by_dev_addr(manager, dev_addr);
if (!peer) {
- WDS_LOGE("Failed to find peer device");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to find peer device");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
g_free(peer);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_update_peer_time(void*data, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
if (!manager || !peer_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
peer = wfd_peer_find_by_dev_addr(manager, peer_addr);
if (!peer) {
- WDS_LOGD("Peer not found [" MACSECSTR "]", MAC2SECSTR(peer_addr));
+ WDS_LOGD("Peer not found [" MACSECSTR "]", MAC2SECSTR(peer_addr));//LCOV_EXCL_LINE
return -1;
}
peer->time = tval.tv_sec;
#endif
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_update_peer(void *data, wfd_device_s *peer)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_oem_device_s *oem_dev = NULL;
int res = 0;
if (!peer) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
+//LCOV_EXCL_START
res = wfd_oem_get_peer_info(manager->oem_ops, peer->dev_addr, &oem_dev);
if (res < 0 || !oem_dev) {
- WDS_LOGE("Failed to get peer information");
+ WDS_LOGE("Failed to get peer information");//LCOV_EXCL_LINE
return -1;
}
if (oem_dev->age > 30 && peer->state == WFD_PEER_STATE_DISCOVERED) {
- WDS_LOGE("Too old age to update peer");
+ WDS_LOGE("Too old age to update peer");//LCOV_EXCL_LINE
g_free(oem_dev);
return -1;
}
gettimeofday(&tval, NULL);
peer->time = tval.tv_sec;
#endif
-
- __WDS_LOG_FUNC_EXIT__;
+//LCOV_EXCL_STOP
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_peer_clear_all(void *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
GList *temp = NULL;
if (manager->peer_count == 0) {
- WDS_LOGD("Peer not exist");
+ WDS_LOGD("Peer not exist");//LCOV_EXCL_LINE
return -1;
}
}
if (manager->peer_count) {
- WDS_LOGE("Peer count is not synced. left count=%d", manager->peer_count);
+ WDS_LOGE("Peer count is not synced. left count=%d", manager->peer_count);//LCOV_EXCL_LINE
manager->peer_count = 0;
return 1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
wfd_device_s *wfd_peer_find_by_dev_addr(void *data, unsigned char *dev_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
GList *temp = NULL;
if (!data || !dev_addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return NULL;
}
if (manager->peer_count == 0) {
- WDS_LOGE("There is no peer data");
+ WDS_LOGE("There is no peer data");//LCOV_EXCL_LINE
return NULL;
}
while (temp) {
peer = temp->data;
if (!memcmp(peer->dev_addr, dev_addr, MACADDR_LEN)) {
- WDS_LOGD("Peer device found[" MACSECSTR "]", MAC2SECSTR(dev_addr));
+ WDS_LOGD("Peer device found[" MACSECSTR "]", MAC2SECSTR(dev_addr));//LCOV_EXCL_LINE
break;
}
temp = g_list_next(temp);
peer = NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
#if 0
wfd_device_s *wfd_peer_find_by_intf_addr(void *data, unsigned char *intf_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
GList *temp = NULL;
peer = NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
#endif
wfd_device_s *wfd_peer_find_by_addr(void *data, unsigned char *addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_device_s *peer = NULL;
GList *temp = NULL;
if (!data || !addr) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return NULL;
}
if (manager->peer_count == 0) {
- WDS_LOGE("There is no peer data");
+ WDS_LOGE("There is no peer data");//LCOV_EXCL_LINE
return NULL;
}
peer = temp->data;
if (!memcmp(peer->dev_addr, addr, MACADDR_LEN) ||
!memcmp(peer->intf_addr, addr, MACADDR_LEN)) {
- WDS_LOGD("Peer device found[" MACSECSTR "]", MAC2SECSTR(addr));
+ WDS_LOGD("Peer device found[" MACSECSTR "]", MAC2SECSTR(addr));//LCOV_EXCL_LINE
break;
}
temp = g_list_next(temp);
peer = NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
#if 0
wfd_device_s *wfd_peer_find_current_peer(void *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
if (!manager) {
WDS_LOGE("Invalid parameter");
return NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return session->peer;
}
int wfd_peer_set_data(unsigned char *dev_addr, int type, int data)
{
- __WDS_LOG_FUNC_ENTER__;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_peer_get_data(unsigned char *dev_addr, int type, int data)
{
- __WDS_LOG_FUNC_ENTER__;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#endif
int wfd_service_add(int type, char *info_str, int *service_id)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_service_s *service = NULL;
char *info1 = NULL;
int res = 0;
if (!info_str) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
if (type < WIFI_DIRECT_SERVICE_TYPE_BONJOUR ||
type > WIFI_DIRECT_SERVICE_TYPE_VENDOR) {
- WDS_LOGE("Invalid service type");
+ WDS_LOGE("Invalid service type");//LCOV_EXCL_LINE
return -1;
}
service = (wfd_service_s*) g_try_malloc0(sizeof(wfd_service_s));
if (!service) {
- WDS_LOGE("Failed to allocate memory for service");
+ WDS_LOGE("Failed to allocate memory for service");//LCOV_EXCL_LINE
return -1;
}
service->id = (intptr_t) service;
info1 = g_strndup(info_str, strlen(info_str));
if (info1 == NULL) {
- WDS_LOGE("Failed to allocate memory for service");
+ WDS_LOGE("Failed to allocate memory for service");//LCOV_EXCL_LINE
g_free(service);
return -1;
}
sep = strchr(info1, '|');
if (sep == NULL) {
- WDS_LOGE("Failed to find delimiter");
+ WDS_LOGE("Failed to find delimiter");//LCOV_EXCL_LINE
g_free(info1);
g_free(service);
return -1;
break;
case WIFI_DIRECT_SERVICE_TYPE_WS_DISCOVERY:
case WIFI_DIRECT_SERVICE_TYPE_WIFI_DISPLAY:
- WDS_LOGE("Not supported yet");
+ WDS_LOGE("Not supported yet");//LCOV_EXCL_LINE
g_free(info1);
g_free(service);
return -1;
service->data.vendor.info2 = info2;
break;
default:
- WDS_LOGE("Invalid service type");
+ WDS_LOGE("Invalid service type");//LCOV_EXCL_LINE
g_free(info1);
g_free(service);
return -1;
res = wfd_oem_serv_add(manager->oem_ops, (wfd_oem_new_service_s*) service);
if (res < 0) {
- WDS_LOGE("Failed to add service");
+ WDS_LOGE("Failed to add service");//LCOV_EXCL_LINE
g_free(info1);
g_free(service);
return -1;
}
+#if defined(BUILD_GTESTS)
+ service->id = 1;
+#endif /* BUILD_GTESTS */
service->str_ptr = info1;
manager->local->services = g_list_prepend(manager->local->services, service);
*service_id = service->id;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_service_del(int service_id)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
GList *temp = NULL;
wfd_service_s *service = NULL;
int res = 0;
if (!manager->local->services) {
- WDS_LOGE("No services to delete");
+ WDS_LOGE("No services to delete");//LCOV_EXCL_LINE
return -1;
}
while (temp) {
service = (wfd_service_s*) temp->data;
if (service->id == service_id) {
- WDS_LOGD("Service found");
+ WDS_LOGD("Service found");//LCOV_EXCL_LINE
break;
}
service = NULL;
}
if (!service) {
- WDS_LOGE("Service not found");
+ WDS_LOGE("Service not found");//LCOV_EXCL_LINE
return -1;
}
res = wfd_oem_serv_del(manager->oem_ops, (wfd_oem_new_service_s*) service);
if (res < 0) {
- WDS_LOGE("Failed to add service");
+ WDS_LOGE("Failed to add service");//LCOV_EXCL_LINE
return -1;
}
g_free(service->str_ptr);
g_free(service);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#if 0
int wfd_service_disc_req(unsigned char *addr, int type, char *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int handle = 0;
/* TODO: return identifier(handle) for the pending query */
/* TODO: call oem function */
/* TODO: add service information into service list */
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return handle;
}
#include "wifi-direct-dbus.h"
#include "wifi-direct-asp.h"
-
+//LCOV_EXCL_START
static gboolean _session_timeout_cb(gpointer *user_data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_session_s *session = (wfd_session_s*) manager->session;
unsigned char *peer_addr = NULL;
char peer_mac_address[MACSTR_LEN+1] = {0, };
if (!session) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return FALSE;
}
session->connecting_120 = 0;
session->timer = 0;
- WDS_LOGD("Session timer expired");
+ WDS_LOGD("Session timer expired");//LCOV_EXCL_LINE
peer_addr = wfd_session_get_peer_addr(session);
if (peer_addr != NULL)
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return FALSE;
}
+//LCOV_EXCL_STOP
static void _wfd_notify_session_failed(wfd_manager_s *manager, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
char peer_mac_address[MACSTR_LEN+1] = {0, };
snprintf(peer_mac_address, MACSTR_LEN, MACSTR, MAC2STR(peer_addr));
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
}
int wfd_session_timer(wfd_session_s *session, int start)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
session->connecting_120 = 1;
if (session->timer > 0) {
- WDS_LOGE("Session timer already started");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session timer already started");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
session->timer = g_timeout_add(120000,
(GSourceFunc) _session_timeout_cb,
NULL);
- WDS_LOGD("Session timer started");
+ WDS_LOGD("Session timer started");//LCOV_EXCL_LINE
} else {
session->connecting_120 = 0;
if (session->timer > 0) {
g_source_remove(session->timer);
session->timer = 0;
- WDS_LOGD("Session timer stoped");
+ WDS_LOGD("Session timer stoped");//LCOV_EXCL_LINE
}
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
* before using this function */
wfd_session_s *wfd_create_session(void *data, unsigned char *peer_addr, int wps_mode, int direction)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_session_s *session = NULL;
wfd_device_s *peer = NULL;
if (!data || !peer_addr) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
WDS_LOGD("create session for peer[" MACSTR "]", MAC2STR(peer_addr));
if (manager->session) {
- WDS_LOGE("Session already exist");
+ WDS_LOGE("Session already exist");//LCOV_EXCL_LINE
return NULL;
}
session = (wfd_session_s*) g_try_malloc0(sizeof(wfd_session_s));
if (!session) {
- WDS_LOGE("Failed to allocate memory for session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to allocate memory for session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (!peer) {
WDS_LOGE("Failed to find peer info[" MACSECSTR "]", MAC2SECSTR(peer_addr));
g_free(session);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
peer->state = WFD_PEER_STATE_CONNECTING;
session->req_wps_mode = WFD_WPS_MODE_KEYPAD;
if (wfd_oem_generate_pin(manager->oem_ops, &generated_pin) != 0) {
- WDS_LOGE("Failed to generate pin");
+ WDS_LOGE("Failed to generate pin");//LCOV_EXCL_LINE
g_free(session);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
+#if defined(BUILD_GTESTS)
+ generated_pin = g_strndup("12345678", PINSTR_LEN + 1);
+#endif /* BUILD_GTESTS */
g_strlcpy(session->wps_pin, generated_pin, PINSTR_LEN + 1);
g_free(generated_pin);
}
if (peer->dev_role == WFD_DEV_ROLE_GO && manager->local->dev_role != WFD_DEV_ROLE_GO)
manager->local->dev_role = WFD_DEV_ROLE_GC;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return session;
}
int wfd_destroy_session(void *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
wfd_session_s *session = NULL;
wfd_device_s *peer = NULL;
if (!manager) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
session = (wfd_session_s*) manager->session;
if (!session) {
- WDS_LOGE("Session not found"); /* self prevent */
+ WDS_LOGE("Session not found");//LCOV_EXCL_LINE /* self prevent */
return -1;
}
wfd_session_timer(session, 0);
else
peer->state = WFD_PEER_STATE_DISCOVERED;
} else {
- WDS_LOGE("Peer not found");
+ WDS_LOGE("Peer not found");//LCOV_EXCL_LINE
}
g_free(session);
if (manager->local->dev_role == WFD_DEV_ROLE_GC)
manager->local->dev_role = WFD_DEV_ROLE_NONE;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_start(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
int join = 0;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
MAC2SECSTR(peer->dev_addr));
wfd_destroy_session(manager);
/* TODO: send notification to App */
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_asp_session_start(wfd_session_s *session, wfd_oem_asp_prov_s *params)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
int res = 0;
if (session == NULL || params == NULL) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (session->state > SESSION_STATE_STARTED) {
WDS_LOGE("Invalid session state(%d)", session->state);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_oem_asp_prov_disc_req(manager->oem_ops, params);
if (res < 0) {
- WDS_LOGD("Failed to send ASP provision discovery request to peer");
+ WDS_LOGD("Failed to send ASP provision discovery request to peer");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
memcpy(session->service_mac, params->service_mac, MACADDR_LEN);
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#if 0
int wfd_session_stop(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
int res = 0;
if (!session) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (res < 0) {
WDS_LOGE("Failed to reject or cancel connection");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
}
session->state = SESSION_STATE_STOPPED;
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#endif
*/
int wfd_session_connect(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_conn_param_s param;
wfd_device_s *peer = NULL;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (session->state > SESSION_STATE_GO_NEG) {
- WDS_LOGE("Session already finished GO Negotiation");
+ WDS_LOGE("Session already finished GO Negotiation");//LCOV_EXCL_LINE
return -1;
}
if (res < 0) {
WDS_LOGD("Failed to connect peer [" MACSECSTR "]", MAC2SECSTR(peer->dev_addr));
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_cancel(wfd_session_s *session, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
int res = 0;
if (!session || !session->peer) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
if (memcmp(peer_addr, session->peer->dev_addr, MACADDR_LEN)) {
- WDS_LOGE("Peer is not included in this session");
+ WDS_LOGE("Peer is not included in this session");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NOT_PERMITTED;
}
res = wfd_oem_cancel_connection(manager->oem_ops, peer_addr);
if (res < 0) {
- WDS_LOGE("Failed to cancel connection");
+ WDS_LOGE("Failed to cancel connection");//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
}
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_reject(wfd_session_s *session, unsigned char *peer_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
int res = 0;
if (!session || !manager) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (session->state < SESSION_STATE_CREATED ||
session->state >= SESSION_STATE_STOPPED) {
WDS_LOGE("Session state is Invalid [%d]", session->state);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
else
res = wfd_oem_reject_connection(manager->oem_ops, peer->dev_addr);
if (res < 0) {
- WDS_LOGE("Failed to reject connection");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to reject connection");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_destroy_session(manager);
/* TODO: send notification to App */
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_join(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_conn_param_s param;
wfd_device_s *peer = NULL;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (res < 0) {
WDS_LOGD("Failed to join with peer [" MACSECSTR "]", MAC2SECSTR(peer->dev_addr));
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_invite(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_invite_param_s param;
wfd_device_s *peer = NULL;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (res < 0) {
WDS_LOGE("Failed to invite with peer [" MACSECSTR "]", MAC2SECSTR(peer->dev_addr));
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_wps(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *peer = NULL;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (session->state > SESSION_STATE_WPS) {
- WDS_LOGE("Session already starts WPS");
+ WDS_LOGE("Session already starts WPS");//LCOV_EXCL_LINE
return -1;
}
if (res < 0) {
WDS_LOGE("Failed to start wps with peer [" MACSECSTR "]", MAC2SECSTR(peer->dev_addr));
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
*/
int wfd_session_asp_connect(wfd_session_s *session, int role)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_conn_param_s param;
wfd_device_s *peer = NULL;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (session->state >= SESSION_STATE_GO_NEG) {
- WDS_LOGE("Session already starting GO Negotiation");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session already starting GO Negotiation");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (res < 0) {
WDS_LOGD("Failed to connect peer [" MACSECSTR "]", MAC2SECSTR(peer->dev_addr));
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
*/
int wfd_session_asp_persistent_connect(wfd_session_s *session, int persist_group_id)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_oem_group_param_s param;
int res = 0;
if (!session) {
- WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (session->state > SESSION_STATE_GO_NEG) {
- WDS_LOGE("Session already finished GO Negotiation");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Session already finished GO Negotiation");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_oem_create_group(manager->oem_ops, ¶m);
if (res < 0) {
- WDS_LOGD("Failed to create persistent group for ASP");
+ WDS_LOGD("Failed to create persistent group for ASP");//LCOV_EXCL_LINE
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
wfd_session_timer(session, 1);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
wfd_device_s *wfd_session_get_peer(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = NULL;
if (!session) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return NULL;
}
peer = session->peer;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer;
}
unsigned char *wfd_session_get_peer_addr(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = NULL;
if (!session || !session->peer) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return NULL;
}
peer = session->peer;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return peer->dev_addr;
}
#if 0
int wfd_session_get_wps_pin(wfd_session_s *session, unsigned char *pin)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_set_wps_pin(wfd_session_s *session, unsigned char *pin)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_set_freq(wfd_session_s *session, int freq)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_get_state(wfd_session_s *session)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_session_set_state(wfd_session_s *session, int state)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#endif
int wfd_session_process_event(wfd_manager_s *manager, wfd_oem_event_s *event)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_session_s *session = NULL;
int res = 0;
if (!manager || !event) {
- WDS_LOGE("Invalid parameter");
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
return -1;
}
MAC2SECSTR(event->dev_addr));
break;
}
- WDS_LOGD("=====> session already exist. (invitation session)");
+ WDS_LOGD("=====> session already exist. (invitation session)");//LCOV_EXCL_LINE
if (session->state > SESSION_STATE_WPS) {
- WDS_LOGE("Session already starts WPS");
+ WDS_LOGE("Session already starts WPS");//LCOV_EXCL_LINE
break;
}
session->state = SESSION_STATE_STARTED;
if (session->type == SESSION_TYPE_INVITE)
- WDS_LOGD("Invitation session");
+ WDS_LOGD("Invitation session");//LCOV_EXCL_LINE
else if (WFD_DEV_ROLE_GO == manager->local->dev_role)
session->type = SESSION_TYPE_JOIN;
else
}
if (session->state > SESSION_STATE_STARTED) {
- WDS_LOGE("Unexpected event. Session is already started");
+ WDS_LOGE("Unexpected event. Session is already started");//LCOV_EXCL_LINE
break;
}
if (session->type == SESSION_TYPE_INVITE) {
- WDS_LOGE("Session type is invite, ignore provision discovery response");
+ WDS_LOGE("Session type is invite, ignore provision discovery response");//LCOV_EXCL_LINE
break;
}
session = wfd_create_session(manager, event->dev_addr,
event->wps_mode, SESSION_DIRECTION_INCOMING);
if (!session) {
- WDS_LOGE("Failed to create session");
- __WDS_LOG_FUNC_EXIT__;
+ WDS_LOGE("Failed to create session");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
break;
}
default:
break;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_state_set(wfd_manager_s *manager, int state)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager || state < WIFI_DIRECT_STATE_DEACTIVATED || state > WIFI_DIRECT_STATE_GROUP_OWNER) {
WDS_LOGE("Invalid parameter");
manager->state = state;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_state_get(wfd_manager_s *manager, int *state)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager || !state) {
WDS_LOGE("Invalid parameter");
*state = manager->state;
WDS_LOGD("wifi-direct-manager state is %d", *state);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
static GKeyFile *__load_key_file()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GKeyFile *key_file = NULL;
GError *error = NULL;
key_file = NULL;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return key_file;
}
static void __load_wfd_config(GKeyFile *key_file, struct key_value *conf_key_val)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GError *error = NULL;
int i = 0;
if (!conf_key_val) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
key_file = __load_key_file();
if (!key_file) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
static void __unload_wfd_config(GKeyFile *key_file, struct key_value *conf_key_val)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int i = 0;
if (!key_file || !conf_key_val) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
}
g_key_file_free(key_file);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
+//LCOV_EXCL_START
void *wfd_util_plugin_init(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
void *handle;
struct utsname kernel_info;
int res;
if (!manager) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
res = uname(&kernel_info);
if (res) {
WDS_LOGE("Failed to detect target type");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
WDS_LOGD("Node name [%s], HW ID [%s]", kernel_info.nodename, kernel_info.machine);
#endif
if (!handle) {
WDS_LOGE("Failed to open shared object. [%s]", dlerror());
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to load symbol. Error = [%s]", error_buf);
dlclose(handle);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (res < 0) {
WDS_LOGE("Failed to initialize OEM");
dlclose(handle);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (res < 0) {
WDS_LOGE("Failed to configure OEM");
dlclose(handle);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
WDS_LOGD("Succeeded to initialize OEM");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return handle;
}
int wfd_util_plugin_deinit(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager || !manager->plugin_handle) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
dlclose(manager->plugin_handle);
manager->plugin_handle = NULL;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#if defined TIZEN_ENABLE_PRD
void *wfd_util_prd_plugin_init(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
void *handle;
struct utsname kernel_info;
int res;
if (!manager) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
res = uname(&kernel_info);
if (res) {
WDS_LOGE("Failed to detect target type");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
WDS_LOGD("Node name [%s], HW ID [%s]", kernel_info.nodename, kernel_info.machine);
#endif
if (!handle) {
WDS_LOGE("Failed to open shared object. [%s]", dlerror());
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (!plugin_load) {
WDS_LOGE("Failed to load symbol. Error = [%s]", strerror(errno));
dlclose(handle);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
if (res < 0) {
WDS_LOGE("Failed to initialize PRD OEM");
dlclose(handle);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return NULL;
}
WDS_LOGD("Succeeded to initialize PRD OEM");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return handle;
}
int wfd_util_prd_plugin_deinit(wfd_manager_s *manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager || !manager->prd_plugin_handle) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
dlclose(manager->prd_plugin_handle);
manager->prd_plugin_handle = NULL;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
#endif /* TIZEN_ENABLE_PRD */
+//LCOV_EXCL_STOP
void wfd_util_load_wfd_conf(wfd_manager_s * manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
GKeyFile *key_file = NULL;
wfd_oem_config_s *oem_conf = NULL;
};
if (!manager) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
oem_conf = (wfd_oem_config_s*) manager->wfd_oem_conf;
if (!oem_conf) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
__unload_wfd_config(key_file, wfd_conf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
return -1;
}
+//LCOV_EXCL_START
int wfd_util_get_phone_name(char *phone_name)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
char *name = NULL;
name = vconf_get_str(VCONFKEY_SETAPPL_DEVICE_NAME_STR);
g_strlcpy(phone_name, name, DEV_NAME_LEN + 1);
WDS_LOGD("[%s: %s]", VCONFKEY_SETAPPL_DEVICE_NAME_STR, phone_name);
g_free(name);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
void _wfd_util_dev_name_changed_cb(keynode_t *key, void *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
char dev_name[DEV_NAME_LEN+1] = {0, };
int res = 0;
res = wfd_local_set_dev_name(dev_name);
if (res < 0)
WDS_LOGE("Failed to set device name");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_util_set_dev_name_notification()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int res = 0;
res = vconf_notify_key_changed(VCONFKEY_SETAPPL_DEVICE_NAME_STR, _wfd_util_dev_name_changed_cb, NULL);
return;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
void wfd_util_unset_dev_name_notification()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int res = 0;
res = vconf_ignore_key_changed(VCONFKEY_SETAPPL_DEVICE_NAME_STR, _wfd_util_dev_name_changed_cb);
return;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-
void _wfd_util_check_country_cb(keynode_t *key, void *data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = (wfd_manager_s*) data;
int res = 0;
int plmn = 0;
g_key_file_free(keyfile);
g_free(ccode);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
-int wfd_util_set_country()
-{
- __WDS_LOG_FUNC_ENTER__;
- wfd_manager_s *manager = wfd_get_manager();
- int res = 0;
-
- _wfd_util_check_country_cb(NULL, manager);
-
- res = vconf_notify_key_changed(VCONFKEY_TELEPHONY_PLMN, _wfd_util_check_country_cb, manager);
- if (res) {
- WDS_LOGE("Failed to set vconf notification callback(TELEPHONY_PLMN)");
- return -1;
- }
-
- __WDS_LOG_FUNC_EXIT__;
- return 0;
-}
-
-int wfd_util_unset_country()
-{
- __WDS_LOG_FUNC_ENTER__;
- int res = 0;
-
- res = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_PLMN, _wfd_util_check_country_cb);
- if (res) {
- WDS_LOGE("Failed to unset vconf notification callback(TELEPHONY_PLMN)");
- return -1;
- }
-
- __WDS_LOG_FUNC_EXIT__;
- return 0;
-}
-
int wfd_util_check_wifi_state()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int wifi_state = 0;
int res = 0;
res = vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state);
if (res < 0) {
WDS_LOGE("Failed to get vconf value [%s]", VCONFKEY_WIFI_STATE);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_LOGD("[%s: %d]", VCONFKEY_WIFI_STATE, wifi_state);
if (wifi_state > VCONFKEY_WIFI_OFF) {
WDS_LOGD("Wi-Fi is on");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 1;
}
WDS_LOGD("OK. Wi-Fi is off\n");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_check_mobile_ap_state()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int mobile_ap_state = 0;
int res = 0;
res = vconf_get_int(VCONFKEY_MOBILE_HOTSPOT_MODE, &mobile_ap_state);
if (res < 0) {
WDS_LOGE("Failed to get vconf value[%s]", VCONFKEY_MOBILE_HOTSPOT_MODE);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_LOGD("[%s: %d]", VCONFKEY_MOBILE_HOTSPOT_MODE, mobile_ap_state);
if ((mobile_ap_state & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI)
|| (mobile_ap_state & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI_AP)) {
WDS_LOGD("Mobile AP is on");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 1;
}
WDS_LOGD("OK. Mobile AP is off\n");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return 0;
+}
+
+//LCOV_EXCL_STOP
+int wfd_util_set_country()
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ wfd_manager_s *manager = wfd_get_manager();
+ int res = 0;
+
+ _wfd_util_check_country_cb(NULL, manager);
+
+ res = vconf_notify_key_changed(VCONFKEY_TELEPHONY_PLMN, _wfd_util_check_country_cb, manager);
+ if (res) {
+ WDS_LOGE("Failed to set vconf notification callback(TELEPHONY_PLMN)");
+ return -1;
+ }
+
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return 0;
+}
+
+int wfd_util_unset_country()
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ int res = 0;
+
+ res = vconf_ignore_key_changed(VCONFKEY_TELEPHONY_PLMN, _wfd_util_check_country_cb);
+ if (res) {
+ WDS_LOGE("Failed to unset vconf notification callback(TELEPHONY_PLMN)");
+ return -1;
+ }
+
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
static bool __is_wifi_direct_display_feature_supported()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
bool supported;
__check_feature_supported(WIFI_DIRECT_DISPLAY_FEATURE, &supported);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return supported;
}
static bool __is_wifi_direct_service_discovery_feature_supported()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
bool supported;
__check_feature_supported(WIFI_DIRECT_SERVICE_DISCOVERY_FEATURE, &supported);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return supported;
}
static bool __is_asp_feature_supported()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
bool supported;
__check_feature_supported(ASP_FEATURE, &supported);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return supported;
}
static bool __is_tethering_wifi_feature_supported()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
bool supported;
__check_feature_supported(TETHERING_WIFI_FEATURE, &supported);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return supported;
}
static bool __is_tethering_wifi_direct_feature_supported()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
bool supported;
__check_feature_supported(TETHERING_WIFI_DIRECT_FEATURE, &supported);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return supported;
}
void wfd_util_check_features(wfd_manager_s * manager)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!manager) {
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
else
manager->is_tethering_wifi_direct_supported = FALSE;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
int wfd_util_check_p2p_hotspot_state()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int hotspot_state = 0;
int res = 0;
res = vconf_get_int(VCONFKEY_MOBILE_HOTSPOT_MODE, &hotspot_state);
if (res < 0) {
WDS_LOGE("Failed to get vconf value[%s]", VCONFKEY_MOBILE_HOTSPOT_MODE);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (hotspot_state & VCONFKEY_MOBILE_HOTSPOT_MODE_P2P) {
WDS_LOGD("P2P Hotspot is on");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 1;
}
WDS_LOGD("P2P Hotspot is off");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_wifi_direct_activatable()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
#if defined TIZEN_TETHERING_ENABLE
int res_mobap = 0;
res_mobap = wfd_util_check_mobile_ap_state();
if (res_mobap < 0) {
WDS_LOGE("Failed to check Mobile AP state");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_OPERATION_FAILED;
} else if (res_mobap > 0) {
WDS_LOGE("Mobile AP is On");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_MOBILE_AP_USED;
} else {
WDS_LOGE("Mobile AP is Off");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
#endif
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return WIFI_DIRECT_ERROR_NONE;
}
#if 0
int wfd_util_get_wifi_direct_state()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int state = 0;
int res = 0;
res = vconf_get_int(VCONFKEY_WIFI_DIRECT_STATE, &state);
if (res < 0) {
WDS_LOGE("Failed to get vconf value [%s]\n", VCONFKEY_WIFI_DIRECT_STATE);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return state;
}
#endif
int wfd_util_set_wifi_direct_state(int state)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
static int last_state = WIFI_DIRECT_STATE_DEACTIVATED;
int vconf_state = VCONFKEY_WIFI_DIRECT_DEACTIVATED;
int res = 0;
if (state < WIFI_DIRECT_STATE_DEACTIVATED ||
state > WIFI_DIRECT_STATE_GROUP_OWNER) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (last_state == state) {
WDS_LOGD("No change in state, not updating vconf [%s]",
VCONFKEY_WIFI_DIRECT_STATE);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
res = vconf_set_int(VCONFKEY_WIFI_DIRECT_STATE, vconf_state);
if (res < 0) {
WDS_LOGE("Failed to set vconf [%s]", VCONFKEY_WIFI_DIRECT_STATE);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
last_state = state;
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_get_local_dev_mac(unsigned char *dev_mac)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
char file_path[MAX_FILE_PATH_LEN] = {0, };
FILE *fd = NULL;
char local_mac[MACSTR_LEN] = {0, };
if (!fd) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to open MAC info file [%s] (%s)", file_path , error_buf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to read file or no data read(%s)", error_buf);
fclose(fd);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_SECLOGD("Local MAC address [%s]", ptr);
if (res < 0) {
WDS_LOGE("Failed to convert text to MAC address");
fclose(fd);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_LOGD("Local Device MAC address [" MACSECSTR "]", MAC2SECSTR(dev_mac));
fclose(fd);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_start_wifi_direct_popup()
{
- __WDS_LOG_FUNC_ENTER__;
-
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+#if !defined(BUILD_GTESTS)
uid_t uid = 0;
int ret = 0;
ret = __wfd_util_find_login_user(&uid);
return -1;
}
+#endif /* BUILD_GTESTS */
WDS_LOGD("Succeeded to launch wifi-direct-popup");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_stop_wifi_direct_popup()
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+#if !defined(BUILD_GTESTS)
uid_t uid = 0;
int ret = 0;
ret = __wfd_util_find_login_user(&uid);
WDS_LOGD("Wifi-direct-popup not running");
}
- __WDS_LOG_FUNC_EXIT__;
+#endif /* BUILD_GTESTS */
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
if (res < 0) {
WDS_LOGE("File descriptor create failed");
close(sock);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to connect to server socket [%s]", error_buf);
close(sock);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
return 0;
}
+//LCOV_EXCL_START
static void _dhcps_ip_leased_cb(keynode_t *key, void* data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_device_s *peer = (wfd_device_s*) data;
FILE *fp = NULL;
char buf[MAX_DHCP_DUMP_SIZE];
vconf_ignore_key_changed(VCONFKEY_WIFI_DIRECT_DHCP_IP_LEASE, _dhcps_ip_leased_cb);
vconf_set_int(VCONFKEY_WIFI_DIRECT_DHCP_IP_LEASE, 0);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return;
}
static gboolean _polling_ip(gpointer user_data)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *local = (wfd_device_s*) manager->local;
wfd_device_s *peer = (wfd_device_s*) user_data;
WDS_LOGE("Failed to get IP");
count = 0;
wfd_oem_destroy_group(manager->oem_ops, ifname);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return FALSE;
}
res = wfd_util_local_get_ip(ifname, local->ip_addr, 0);
if (res < 0) {
WDS_LOGE("Failed to get local IP for interface %s(count=%d)", ifname, count++);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return TRUE;
}
WDS_LOGD("Succeeded to get local(client) IP [" IPSECSTR "] for iface[%s]",
res = wfd_util_dhcpc_get_server_ip(peer->ip_addr);
if (res < 0) {
WDS_LOGE("Failed to get peer(server) IP(count=%d)", count++);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return TRUE;
}
WDS_LOGD("Succeeded to get server IP [" IPSECSTR "]", IP2SECSTR(peer->ip_addr));
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTED);
wfd_destroy_session(manager);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return FALSE;
}
+//LCOV_EXCL_STOP
int wfd_util_dhcps_start(char *ifname)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
gboolean rv = FALSE;
char *const iface = ifname;
const char *path = "/usr/bin/wifi-direct-dhcp.sh";
_txt_to_ip(TIZEN_P2P_GO_IPADDR, manager->local->ip_addr);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_dhcps_wait_ip_leased(wfd_device_s *peer)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!peer) {
WDS_LOGE("Invalid parameter");
vconf_set_int(VCONFKEY_WIFI_DIRECT_DHCP_IP_LEASE, 0);
vconf_notify_key_changed(VCONFKEY_WIFI_DIRECT_DHCP_IP_LEASE, _dhcps_ip_leased_cb, peer);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_dhcps_stop(char *ifname)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
gboolean rv = FALSE;
char *const iface = ifname;
const char *path = "/usr/bin/wifi-direct-dhcp.sh";
}
WDS_LOGD("Successfully stopped wifi-direct-dhcp.sh");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_dhcpc_start(char *ifname, wfd_device_s *peer)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
gboolean rv = FALSE;
char *const iface = ifname;
const char *path = "/usr/bin/wifi-direct-dhcp.sh";
g_timeout_add(250, (GSourceFunc) _polling_ip, peer);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_dhcpc_stop(char *ifname)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
gboolean rv = FALSE;
char *const iface = ifname;
const char *path = "/usr/bin/wifi-direct-dhcp.sh";
}
WDS_LOGD("Successfully stopped wifi-direct-dhcp.sh");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
int wfd_util_local_get_ip(char *ifname, unsigned char *ip_addr, int is_IPv6)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
struct ifreq ifr;
struct sockaddr_in *sin = NULL;
char *ip_str = NULL;
if (!ifname || !ip_addr) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_LOGE("Failed to create socket. [%s]", error_buf);
if (sock >= 0)
close(sock);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to get IP from socket. [%s]", error_buf);
close(sock);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
close(sock);
sin = (struct sockaddr_in*) &ifr.ifr_broadaddr;
ip_str = inet_ntoa(sin->sin_addr);
_txt_to_ip(ip_str, ip_addr);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
+//LCOV_EXCL_START
int wfd_util_dhcpc_get_server_ip(unsigned char* ip_addr)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
char* get_str = NULL;
int count = 0;
if (!ip_addr) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
get_str = vconf_get_str(VCONFKEY_WIFI_DIRECT_DHCPC_SERVER_IP);
if (!get_str) {
WDS_LOGE("Failed to get vconf value[%s]", VCONFKEY_WIFI_DIRECT_DHCPC_SERVER_IP);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (strcmp(get_str, ZEROIP) == 0) {
WDS_LOGE("Failed to get vconf value[%s]", VCONFKEY_WIFI_DIRECT_DHCPC_SERVER_IP);
g_free(get_str);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
count++;
}
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
+//LCOV_EXCL_STOP
static int _wfd_util_set_vconf_for_static_ip(const char *ifname, char *static_ip)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
if (!ifname || !static_ip)
return -1;
vconf_set_str(VCONFKEY_WIFI_DIRECT_P2P_SUBNET_MASK, "255.255.255.0");
vconf_set_str(VCONFKEY_WIFI_DIRECT_P2P_GATEWAY, "192.168.49.1");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
static int _wfd_util_static_ip_set(const char *ifname, unsigned char *static_ip)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int res = 0;
unsigned char ip_addr[IPADDR_LEN];
char ip_str[IPSTR_LEN] = {0, };
if (!ifname || !static_ip) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (if_index < 0) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to get interface index. [%s]", error_buf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (nl_sock < 0) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to create socket. [%s]", error_buf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
snprintf(ip_str, IPSTR_LEN, IPSTR, IP2STR(static_ip));
_wfd_util_set_vconf_for_static_ip(ifname, ip_str);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
int wfd_util_ip_over_eap_assign(wfd_device_s *peer, const char *ifname)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
wfd_manager_s *manager = wfd_get_manager();
wfd_device_s *local = (wfd_device_s*) manager->local;
g_snprintf(ip_str, IPSTR_LEN, IPSTR, IP2STR(peer->ip_addr));
_connect_remote_device(ip_str);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return 0;
}
+//LCOV_EXCL_START
int wfd_util_ip_unset(const char *ifname)
{
- __WDS_LOG_FUNC_ENTER__;
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
int res = 0;
unsigned char ip_addr[IPADDR_LEN];
char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
if (!ifname) {
WDS_LOGE("Invalid parameter");
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
res = wfd_util_local_get_ip((char *)ifname, ip_addr, 0);
if (res < 0) {
WDS_LOGE("Failed to get local IP for interface %s", ifname);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
WDS_LOGE("Succeeded to get local(client) IP [" IPSTR "] for iface[%s]",
if (if_index < 0) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to get interface index. [%s]", error_buf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
if (nl_sock < 0) {
strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER);
WDS_LOGE("Failed to create socket. [%s]", error_buf);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return -1;
}
close(nl_sock);
- __WDS_LOG_FUNC_EXIT__;
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
return res;
}
+//LCOV_EXCL_STOP
gboolean wfd_util_is_remove_group_allowed(void)
{
--- /dev/null
+# Copyright (c) 2014-2015 Samsung Electronics Co., Ltd All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# @file CMakeLists.txt
+#
+
+LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/oem)
+
+SET(GTEST_TEST "gtest-wfd-manager")
+
+IF(BUILD_GTESTS)
+ ADD_DEFINITIONS(-DBUILD_GTESTS)
+ENDIF(BUILD_GTESTS)
+
+FILE(GLOB GTEST_TEST_SRCS *.cpp ${CMAKE_SOURCE_DIR}/src/*.c ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c)
+LIST(REMOVE_ITEM GTEST_TEST_SRCS ${CMAKE_SOURCE_DIR}/src/wifi-direct-main.c)
+
+SET(GTEST_TEST_SRCS ${GTEST_TEST_SRCS} unittest.cpp)
+
+PKG_CHECK_MODULES(gtest_pkgs REQUIRED glib-2.0 gmock)
+
+FOREACH(flag ${gtest_pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+INCLUDE_DIRECTORIES(${gtest_pkgs_INCLUDE_DIRS})
+LINK_DIRECTORIES(${gtest_pkgs_LIBRARY_DIRS})
+
+INCLUDE_DIRECTORIES(${daemon_pkgs_INCLUDE_DIRS})
+LINK_DIRECTORIES(${daemon_pkgs_LIBRARY_DIRS})
+
+IF(BUILD_GCOV)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpie -fprofile-arcs -ftest-coverage")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie -fprofile-arcs -ftest-coverage")
+ SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+ELSE(BUILD_GCOV)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpie")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpie")
+ SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+ENDIF(BUILD_GCOV)
+
+
+ADD_EXECUTABLE(${GTEST_TEST} ${GTEST_TEST_SRCS})
+TARGET_LINK_LIBRARIES(${GTEST_TEST} ${gtest_pkgs_LDFLAGS} ${LIBRARY} ${daemon_pkgs_LDFLAGS} -ldl)
+
+INSTALL(TARGETS ${GTEST_TEST} DESTINATION bin)
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <string.h>
+#include <stdlib.h>
+#include <glib.h>
+#include "wifi-direct-oem.h"
+#include "event_injector.h"
+
+const int EventInjector::mac_addr_len = 6;
+const char *EventInjector::peer_device_addr_str = "aa:bb:cc:dd:ee:ff";
+const char *EventInjector::legacy_peer_iface_addr_str = "ab:cd:ef:ef:cd:ab";
+const char *EventInjector::local_mac_str = "aa:bb:cc:dd:ee:dd";
+const char *EventInjector::peer_iface_addr_str = "ac:bb:cc:dd:ee:ff";
+const char *EventInjector::peer_go_addr_str = "00:11:22:33:44:55";
+const char *EventInjector::peer_device_name = "TEST";
+const int EventInjector::peer_config_methods = WFD_OEM_WPS_MODE_PBC;
+const int EventInjector::peer_dev_flag = 0x25;
+const int EventInjector::peer_group_flag = 0x0;
+const int EventInjector::peer_dev_role = WFD_OEM_DEV_ROLE_NONE;
+const unsigned char EventInjector::peer_pri_dev_type = 10;
+const unsigned char EventInjector::peer_sec_dev_type = 1;
+const char *EventInjector::pin_str = "12345678";
+const unsigned char EventInjector::ip_addr[4] = {192, 168, 49, 100};
+const unsigned char EventInjector::ip_addr_mask[4] = {255, 255, 255, 0};
+const unsigned char EventInjector::ip_addr_go[4] = {192, 168, 49, 1};
+const int EventInjector::group_freq = 2412;
+const char *EventInjector::group_pass = "abcdefgh";
+
+EventInjector::EventInjector()
+{
+ this->event_data = NULL;
+ this->event_data = g_try_malloc0(sizeof(wfd_oem_event_s));
+}
+
+EventInjector::~EventInjector()
+{
+ wfd_oem_event_s *data = (wfd_oem_event_s *)this->event_data;
+ if (data) {
+ if (data->edata_type == WFD_OEM_EDATA_TYPE_NEW_SERVICE) {
+ g_list_free((GList*) data->edata);
+ data->edata = NULL;
+ }
+
+ if (data->edata_type == WFD_OEM_EDATA_TYPE_ASP_SERVICE) {
+
+ wfd_oem_asp_service_s *service = (wfd_oem_asp_service_s *)data->edata;
+ g_free(service->service_type);
+ g_free(service->service_info);
+ g_free(service);
+ }
+
+ if (data->edata_type == WFD_OEM_EDATA_TYPE_ASP_PROV) {
+ wfd_oem_asp_prov_s *edata = (wfd_oem_asp_prov_s *)data->edata;
+ g_free(edata->session_information);
+ g_free(edata);
+ data->edata = NULL;
+
+ }
+
+ if (data->edata)
+ g_free(data->edata);
+
+ if (data->asp_services != NULL) {
+ GList *l;
+ wfd_oem_advertise_service_s *service;
+ for (l = (GList *)data->asp_services; l != NULL; l = l->next) {
+ service = (wfd_oem_advertise_service_s *)l->data;
+ data->asp_services = g_list_remove(l, service);
+ g_free(service->service_type);
+ g_free(service);
+ }
+ }
+ if (data->asp2_services != NULL) {
+ GList *l;
+ wfd_oem_advertise_service_s *service;
+ for (l = (GList *)data->asp2_services; l != NULL; l = l->next) {
+ service = (wfd_oem_advertise_service_s *)l->data;
+ data->asp_services = g_list_remove(l, service);
+ g_free(service->service_type);
+ g_free(service->instance_name);
+ g_free(service);
+ }
+ }
+
+ g_free(data);
+ }
+}
+
+int EventInjector::txt_to_mac(const char *txt, unsigned char *mac)
+{
+ int i = 0;
+
+ if (!txt || !mac) {
+ return -1;
+ }
+
+ for (;;) {
+ mac[i++] = (char) strtoul((char *)txt, (char **)&txt, 16);
+ if (!*txt++ || i == 6)
+ break;
+ }
+
+ if (i != this->mac_addr_len)
+ return -1;
+
+ return 0;
+}
+
+void EventInjector::InitData()
+{
+ wfd_oem_event_s *event = NULL;
+ event = (wfd_oem_event_s *)this->event_data;
+ if (event->edata_type == WFD_OEM_EDATA_TYPE_NEW_SERVICE) {
+ g_list_free((GList*) event->edata);
+ event->edata = NULL;
+ }
+
+ if (event->edata_type == WFD_OEM_EDATA_TYPE_ASP_SERVICE) {
+
+ wfd_oem_asp_service_s *service = (wfd_oem_asp_service_s *)event->edata;
+ g_free(service->service_type);
+ g_free(service->service_info);
+ g_free(service);
+ }
+
+ if (event->edata_type == WFD_OEM_EDATA_TYPE_ASP_PROV) {
+ wfd_oem_asp_prov_s *edata = (wfd_oem_asp_prov_s *)event->edata;
+ g_free(edata->session_information);
+ g_free(edata);
+ event->edata = NULL;
+
+ }
+
+ if (event->edata) {
+ g_free(event->edata);
+ }
+
+ if (event->asp_services != NULL) {
+ GList *l;
+ wfd_oem_advertise_service_s *service;
+ for (l = (GList *)event->asp_services; l != NULL; l = l->next) {
+ service = (wfd_oem_advertise_service_s *)l->data;
+ event->asp_services = g_list_remove(l, service);
+ g_free(service->service_type);
+ g_free(service);
+ }
+ }
+ if (event->asp2_services != NULL) {
+ GList *l;
+ wfd_oem_advertise_service_s *service;
+ for (l = (GList *)event->asp2_services; l != NULL; l = l->next) {
+ service = (wfd_oem_advertise_service_s *)l->data;
+ event->asp_services = g_list_remove(l, service);
+ g_free(service->service_type);
+ g_free(service->instance_name);
+ g_free(service);
+ }
+ }
+ memset(event, 0, sizeof(wfd_oem_event_s));
+}
+
+void *EventInjector::GetData()
+{
+ return this->event_data;
+}
+
+void *EventInjector::Deactivated()
+{
+ wfd_oem_event_s *event = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ event->event_id = WFD_OEM_EVENT_DEACTIVATED;
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+
+ return this->event_data;
+}
+
+void *EventInjector::PeerFound()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PEER_FOUND;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ edata->rssi = -56;
+
+ edata->display.type = WFD_OEM_DISPLAY_TYPE_SOURCE;
+ edata->display.availability = 1;
+ edata->display.hdcp_support = 1;
+ edata->display.max_tput = 54;
+ edata->display.port = 7236;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ return this->event_data;
+}
+
+void *EventInjector::GoFound()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PEER_FOUND;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ edata->rssi = -56;
+
+ edata->display.type = WFD_OEM_DISPLAY_TYPE_SOURCE;
+ edata->display.availability = 1;
+ edata->display.hdcp_support = 1;
+ edata->display.max_tput = 54;
+ edata->display.port = 7236;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ this->txt_to_mac(this->peer_iface_addr_str, edata->p2p_intf_addr);
+ return this->event_data;
+}
+
+void *EventInjector::PeerJoined()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_STA_CONNECTED;
+
+ /* connected as Group Client*/
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = WFD_OEM_DEV_ROLE_GC;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::PeerJoinedwithIP()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_STA_CONNECTED;
+
+ /* connected as Group Client*/
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = WFD_OEM_DEV_ROLE_GC;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+
+ for (int i = 0; i <OEM_IPADDR_LEN; i++) {
+ event->ip_addr_peer[i] = this->ip_addr[i];
+ }
+
+ return this->event_data;
+}
+
+void *EventInjector::PeerDisconnected()
+{
+ wfd_oem_event_s *event = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_STA_DISCONNECTED;
+
+ /* Disconnected device device address*/
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+void *EventInjector::LegacyPeerJoined()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_STA_CONNECTED;
+
+ /* connected as Group Client*/
+ this->txt_to_mac(this->legacy_peer_iface_addr_str, event->intf_addr);
+
+ return this->event_data;
+}
+void *EventInjector::LegacyPeerDisconnected()
+{
+ wfd_oem_event_s *event = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_STA_DISCONNECTED;
+
+ /* Disconnected device device address*/
+ this->txt_to_mac(this->legacy_peer_iface_addr_str, event->intf_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::DeviceLost()
+{
+ wfd_oem_event_s *event = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_PEER_DISAPPEARED;
+
+ /* Disappeared device device address*/
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::FindStopped()
+{
+ wfd_oem_event_s *event = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_DISCOVERY_FINISHED;
+
+ return this->event_data;
+}
+
+void *EventInjector::ProvReqDisplayPin(bool from_go)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_REQ;
+ event->wps_mode = WFD_OEM_WPS_MODE_DISPLAY;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ if (from_go)
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ g_strlcpy(event->wps_pin, this->pin_str, OEM_PINSTR_LEN + 1);
+
+ return this->event_data;
+}
+
+void *EventInjector::ProvRespDisplayPin(bool from_go)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_RESP;
+ event->wps_mode = WFD_OEM_WPS_MODE_DISPLAY;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ if (from_go)
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ g_strlcpy(event->wps_pin, this->pin_str, OEM_PINSTR_LEN + 1);
+
+ return this->event_data;
+}
+
+void *EventInjector::ProvReqEnterPin(bool from_go)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_REQ;
+ event->wps_mode = WFD_OEM_WPS_MODE_KEYPAD;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ if (from_go)
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ return this->event_data;
+}
+
+void *EventInjector::ProvRespEnterPin(bool from_go)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_RESP;
+ event->wps_mode = WFD_OEM_WPS_MODE_KEYPAD;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ if (from_go)
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ return this->event_data;
+}
+
+void *EventInjector::ProvPbcReq(bool from_go)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_REQ;
+ event->wps_mode = WFD_OEM_WPS_MODE_PBC;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ if (from_go)
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ return this->event_data;
+}
+
+void *EventInjector::ProvPbcResp(bool from_go)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_RESP;
+ event->wps_mode = WFD_OEM_WPS_MODE_PBC;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ if (from_go)
+ edata->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+ return this->event_data;
+}
+
+void *EventInjector::ProvFailure()
+{
+ wfd_oem_event_s *event = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_FAIL;
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupStartedGO()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_group_data_s *group;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ group = (wfd_oem_group_data_s*)calloc(1, sizeof(wfd_oem_group_data_s));
+
+ event->edata = (void*) group;
+ event->edata_type = WFD_OEM_EDATA_TYPE_GROUP;
+ event->event_id = WFD_OEM_EVENT_GROUP_CREATED;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GO;
+ group->is_persistent = false;
+ group->freq = this->group_freq;
+ g_strlcpy(group->pass, this->group_pass, OEM_PASS_PHRASE_LEN+1);
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupStartedGOPersistent()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_group_data_s *group;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ group = (wfd_oem_group_data_s*)calloc(1, sizeof(wfd_oem_group_data_s));
+
+ event->edata = (void*) group;
+ event->edata_type = WFD_OEM_EDATA_TYPE_GROUP;
+ event->event_id = WFD_OEM_EVENT_GROUP_CREATED;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GO;
+ group->is_persistent = true;
+ group->freq = this->group_freq;
+ g_strlcpy(group->pass, this->group_pass, OEM_PASS_PHRASE_LEN+1);
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupStartedGC()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_group_data_s *group;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ group = (wfd_oem_group_data_s*)calloc(1, sizeof(wfd_oem_group_data_s));
+
+ event->edata = (void*) group;
+ event->edata_type = WFD_OEM_EDATA_TYPE_GROUP;
+ event->event_id = WFD_OEM_EVENT_GROUP_CREATED;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GC;
+ group->is_persistent = false;
+ group->freq = this->group_freq;
+ g_strlcpy(group->pass, this->group_pass, OEM_PASS_PHRASE_LEN+1);
+
+ for (int i = 0; i <OEM_IPADDR_LEN; i++) {
+ group->ip_addr[i] = this->ip_addr[i];
+ group->ip_addr_mask[i] = this->ip_addr_mask[i];
+ group->ip_addr_go[i] = this->ip_addr_go[i];
+ }
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupStartedGCPersistent()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_group_data_s *group;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ group = (wfd_oem_group_data_s*)calloc(1, sizeof(wfd_oem_group_data_s));
+
+ event->edata = (void*) group;
+ event->edata_type = WFD_OEM_EDATA_TYPE_GROUP;
+ event->event_id = WFD_OEM_EVENT_GROUP_CREATED;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GC;
+ group->is_persistent = true;
+ group->freq = this->group_freq;
+ g_strlcpy(group->pass, this->group_pass, OEM_PASS_PHRASE_LEN+1);
+
+ for (int i = 0; i <OEM_IPADDR_LEN; i++) {
+ group->ip_addr[i] = this->ip_addr[i];
+ group->ip_addr_mask[i] = this->ip_addr_mask[i];
+ group->ip_addr_go[i] = this->ip_addr_go[i];
+ }
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupStartedGCwithoutIP()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_group_data_s *group;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ group = (wfd_oem_group_data_s*)calloc(1, sizeof(wfd_oem_group_data_s));
+
+ event->edata = (void*) group;
+ event->edata_type = WFD_OEM_EDATA_TYPE_GROUP;
+ event->event_id = WFD_OEM_EVENT_GROUP_CREATED;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GC;
+ group->is_persistent = false;
+ group->freq = this->group_freq;
+ g_strlcpy(group->pass, this->group_pass, OEM_PASS_PHRASE_LEN+1);
+
+ return this->event_data;
+}
+
+void *EventInjector::GoNegSuccessGo()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_conn_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_conn_data_s*)calloc(1, sizeof(wfd_oem_conn_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_CONN;
+ event->event_id = WFD_OEM_EVENT_GO_NEG_DONE;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GO;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->peer_device_addr);
+ this->txt_to_mac(this->peer_iface_addr_str, edata->peer_intf_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::GoNegSuccessGc()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_conn_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_conn_data_s*)calloc(1, sizeof(wfd_oem_conn_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_CONN;
+ event->event_id = WFD_OEM_EVENT_GO_NEG_DONE;
+
+ event->dev_role = WFD_OEM_DEV_ROLE_GC;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->peer_device_addr);
+ this->txt_to_mac(this->peer_iface_addr_str, edata->peer_intf_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::GoNegFailure()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_conn_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_conn_data_s*)calloc(1, sizeof(wfd_oem_conn_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_CONN;
+ event->event_id = WFD_OEM_EVENT_GO_NEG_FAIL;
+
+ /* TODO: check status */
+ edata->status = 0;
+
+ return this->event_data;
+}
+
+void *EventInjector::GoNegRequestPbc()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_GO_NEG_REQ;
+ event->wps_mode = WFD_OEM_WPS_MODE_PBC;
+
+ edata->device_go_intent = 7;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::GoNegRequestDisplay()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_GO_NEG_REQ;
+ event->wps_mode = WFD_OEM_WPS_MODE_KEYPAD;
+
+ edata->device_go_intent = 7;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::GoNegRequestKeypad()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_GO_NEG_REQ;
+
+ event->wps_mode = WFD_OEM_WPS_MODE_DISPLAY;
+
+ edata->device_go_intent = 7;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::InvitationReceived()
+{
+ wfd_oem_event_s *event;
+ wfd_oem_invite_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_invite_data_s *) g_try_malloc0(sizeof(wfd_oem_invite_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_INVITE;
+ event->event_id = WFD_OEM_EVENT_INVITATION_REQ;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ this->txt_to_mac(this->peer_iface_addr_str, edata->bssid);
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupFinished()
+{
+ wfd_oem_event_s *event;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_GROUP_DESTROYED;
+
+ return this->event_data;
+}
+
+void *EventInjector::WpsFailed()
+{
+ wfd_oem_event_s *event;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_WPS_FAIL;
+
+ return this->event_data;
+}
+
+void *EventInjector::KeyNegFailed()
+{
+ wfd_oem_event_s *event;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_KEY_NEG_FAIL;
+
+ return this->event_data;
+}
+
+void *EventInjector::GroupFormationFailed()
+{
+ wfd_oem_event_s *event;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_GROUP_FORMATION_FAILURE;
+
+ return this->event_data;
+}
+
+void *EventInjector::InvitationAccepted()
+{
+ wfd_oem_event_s *event;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NONE;
+ event->event_id = WFD_OEM_EVENT_INVITATION_ACCEPTED;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::ServDiscResp()
+{
+ GList *services = NULL;
+ wfd_oem_new_service_s *new_service = NULL;
+ wfd_oem_event_s *event;
+ int count = 0;
+
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+
+ event->edata_type = WFD_OEM_EDATA_TYPE_NEW_SERVICE;
+ event->event_id = WFD_OEM_EVENT_SERV_DISC_RESP;
+
+ new_service = (wfd_oem_new_service_s*)g_try_malloc0(sizeof(wfd_oem_new_service_s));
+ new_service->protocol = WFD_OEM_SERVICE_TYPE_BONJOUR;
+ new_service->trans_id = 1;
+ new_service->status = 1;
+ new_service->data.bonjour.query = strdup("_afpovertcp._tcp.local.");
+ new_service->data.bonjour.rdata = strdup("Example._afpovertcp._tcp.local");
+
+ services = g_list_append(services, new_service);
+ count++;
+
+ new_service = (wfd_oem_new_service_s*)g_try_malloc0(sizeof(wfd_oem_new_service_s));
+ new_service->protocol = WFD_OEM_SERVICE_TYPE_UPNP;
+ new_service->trans_id = 2;
+ new_service->status = 1;
+ new_service->data.upnp.version = strdup("10");
+ new_service->data.upnp.service = strdup("uuid:6859dede-8574-59ab-9332-123456789012::upnp:rootdevice");
+
+ services = g_list_append(services, new_service);
+ count++;
+
+ event->dev_role = count;
+ event->edata = (void*) services;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::AspPeerFound()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_dev_data_s *edata = NULL;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_dev_data_s *) g_try_malloc0(sizeof(wfd_oem_dev_data_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_DEVICE;
+ event->event_id = WFD_OEM_EVENT_PEER_FOUND;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+ g_strlcpy(edata->name, this->peer_device_name, OEM_DEV_NAME_LEN);
+ edata->config_methods = this->peer_config_methods;
+ edata->dev_flags = this->peer_dev_flag;
+ edata->group_flags = this->peer_group_flag;
+ edata->dev_role = this->peer_dev_role;
+ edata->pri_dev_type = this->peer_pri_dev_type;
+ edata->sec_dev_type = this->peer_sec_dev_type;
+ edata->rssi = -56;
+
+ edata->display.type = WFD_OEM_DISPLAY_TYPE_SOURCE;
+ edata->display.availability = 1;
+ edata->display.hdcp_support = 1;
+ edata->display.max_tput = 54;
+ edata->display.port = 7236;
+
+ this->txt_to_mac(this->peer_device_addr_str, edata->p2p_dev_addr);
+
+ /* P2PS service */
+ wfd_oem_advertise_service_s *service;
+ char *service_type = strdup("service_type");
+ int service_type_len = strlen(service_type);
+
+ service = (wfd_oem_advertise_service_s *)
+ g_try_malloc0(sizeof(wfd_oem_advertise_service_s));
+ event->asp_services = g_list_append((GList *)event->asp_services, service);
+
+ service->adv_id = 0;
+ service->config_method = 0;
+ service->service_type_length = service_type_len;
+ service->service_type = service_type;
+ service->search_id = 0;
+
+ /* ASP service */
+ event->asp2_services;
+
+ char *asp_service_type = strdup("asp_service_type");
+ int asp_service_type_len = strlen(asp_service_type);
+ char *instance_name = strdup("instance_name");
+ int instance_name_len = strlen(instance_name);
+
+ service = (wfd_oem_advertise_service_s *)
+ g_try_malloc0(sizeof(wfd_oem_advertise_service_s));
+ event->asp2_services = g_list_append((GList *)event->asp2_services, service);
+
+ service->adv_id = 1;
+ service->config_method = 0;
+ service->service_type_length = asp_service_type_len;
+ service->service_type = asp_service_type;
+ service->instance_name_length = instance_name_len;
+ service->instance_name = instance_name;
+ service->search_id = 0;
+
+ return this->event_data;
+}
+void *EventInjector::AspServiceFound()
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_asp_service_s *service = NULL;
+ char *asp_service_type = strdup("asp_service_type");
+ char *service_info = strdup("service_info");
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ service = (wfd_oem_asp_service_s *) g_try_malloc0(sizeof(wfd_oem_asp_service_s));
+
+ event->edata = (void*) service;
+ event->edata_type = WFD_OEM_EDATA_TYPE_ASP_SERVICE;
+ event->event_id = WFD_OEM_EVENT_ASP_SERV_RESP;
+
+ service->adv_id = 0;
+ service->status = 0;
+ service->config_method = 0;
+ service->service_type = asp_service_type;
+ service->service_info = service_info;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::AspProvStart(int wps_mode, int network_role)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_asp_prov_s *edata;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_asp_prov_s *) g_try_malloc0(sizeof(wfd_oem_asp_prov_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_ASP_PROV;
+ event->event_id = WFD_OEM_EVENT_ASP_PROV_START;
+
+ edata->adv_id = 0;
+ edata->session_id = 0;
+ edata->network_role = network_role;
+ edata->session_information = strdup("session_info");
+
+ this->txt_to_mac(this->local_mac_str, edata->service_mac);
+ this->txt_to_mac(this->peer_device_addr_str, edata->session_mac);
+
+ event->wps_mode = wps_mode;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::AspProvDone(int status, int wps_mode, int network_role, int persist, int persist_id)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_asp_prov_s *edata;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_asp_prov_s *) g_try_malloc0(sizeof(wfd_oem_asp_prov_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_ASP_PROV;
+ event->event_id = WFD_OEM_EVENT_ASP_PROV_DONE;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ edata->adv_id = 0;
+ edata->session_id = 0;
+ edata->network_role = network_role;
+ edata->session_information = strdup("session_info");
+ edata->status = status;
+ if (persist) {
+ edata->persist = persist;
+ edata->persistent_group_id = persist_id;
+ }
+
+ this->txt_to_mac(this->local_mac_str, edata->service_mac);
+ this->txt_to_mac(this->peer_device_addr_str, edata->session_mac);
+
+ event->wps_mode = 0;
+
+ this->txt_to_mac(this->peer_device_addr_str, event->dev_addr);
+
+ return this->event_data;
+}
+
+void *EventInjector::AspProvFail(int status)
+{
+ wfd_oem_event_s *event = NULL;
+ wfd_oem_asp_prov_s *edata;
+ this->InitData();
+
+ event = (wfd_oem_event_s *)this->event_data;
+ edata = (wfd_oem_asp_prov_s *) g_try_malloc0(sizeof(wfd_oem_asp_prov_s));
+
+ event->edata = (void*) edata;
+ event->edata_type = WFD_OEM_EDATA_TYPE_ASP_PROV;
+ event->event_id = WFD_OEM_EVENT_PROV_DISC_FAIL;
+
+ edata->adv_id = 0;
+ edata->status = status;
+ edata->session_information = strdup("session_info");
+
+ return this->event_data;
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __EVENT_INJECTOR_H__
+#define __EVENT_INJECTOR_H__
+
+class EventInjector {
+private:
+ static const int mac_addr_len;
+ static const char *local_mac_str;
+ static const char *peer_device_addr_str;
+ static const char *peer_iface_addr_str;
+ static const char *legacy_peer_iface_addr_str;
+ static const char *peer_go_addr_str;
+ static const char *peer_device_name;
+ static const int peer_config_methods;
+ static const int peer_dev_flag;
+ static const int peer_group_flag;
+ static const int peer_dev_role;
+ static const unsigned char peer_pri_dev_type;
+ static const unsigned char peer_sec_dev_type;
+ static const char *pin_str;
+ static const unsigned char ip_addr[4];
+ static const unsigned char ip_addr_mask[4];
+ static const unsigned char ip_addr_go[4];
+ static const int group_freq;
+ static const char *group_pass;
+
+ void *event_data;
+ int txt_to_mac(const char *txt, unsigned char *mac);
+ void InitData();
+public:
+ EventInjector();
+ ~EventInjector();
+ void *GetData();
+ void *Deactivated();
+ void *PeerFound();
+ void *GoFound();
+ void *PeerJoined();
+ void *PeerJoinedwithIP();
+ void *PeerDisconnected();
+ void *LegacyPeerJoined();
+ void *LegacyPeerDisconnected();
+ void *DeviceLost();
+ void *FindStopped();
+ void *ProvReqDisplayPin(bool from_go);
+ void *ProvRespDisplayPin(bool from_go);
+ void *ProvReqEnterPin(bool from_go);
+ void *ProvRespEnterPin(bool from_go);
+ void *ProvPbcReq(bool from_go);
+ void *ProvPbcResp(bool from_go);
+ void *ProvFailure();
+ void *GroupStartedGO();
+ void *GroupStartedGOPersistent();
+ void *GroupStartedGC();
+ void *GroupStartedGCPersistent();
+ void *GroupStartedGCwithoutIP();
+ void *GoNegSuccessGo();
+ void *GoNegSuccessGc();
+ void *GoNegFailure();
+ void *GoNegRequestPbc();
+ void *GoNegRequestDisplay();
+ void *GoNegRequestKeypad();
+ void *InvitationReceived();
+ void *GroupFinished();
+ void *KeyNegFailed();
+ void *WpsFailed();
+ void *GroupFormationFailed();
+ void *InvitationAccepted();
+ void *ServDiscResp();
+ void *AspPeerFound();
+ void *AspServiceFound();
+ void *AspProvStart(int wps_mode, int network_role);
+ void *AspProvDone(int status, int wps_mode, int network_role, int persist, int persist_id);
+ void *AspProvFail(int status);
+};
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <glib.h>
+#include "wifi-direct-oem.h"
+#include "method_injector.h"
+
+const char *MethodInjector::peer_device_addr_str = "aa:bb:cc:dd:ee:ff";
+const char *MethodInjector::legacy_peer_iface_addr_str = "aa:bb:cc:dd:ee:ee";
+const char *MethodInjector::local_mac_str = "aa:bb:cc:dd:ee:dd";
+const char *MethodInjector::device_name = "gunit_test_name";
+const char *MethodInjector::pin_str = "12345678";
+const int MethodInjector::frame_id = WFD_OEM_VSIE_FRAME_P2P_PD_REQ;
+const char *MethodInjector::vsie_str = "ABCDEFGH";
+
+const int MethodInjector::display_type = 3;
+const int MethodInjector::display_port = 12345;
+const int MethodInjector::display_hdcp = 0;
+const int MethodInjector::display_avail = 0;
+const char *MethodInjector::passphrase = "abcdefgh";
+
+MethodInjector::MethodInjector()
+{
+ this->result = NULL;
+}
+
+MethodInjector::MethodInjector(GVariant *input)
+{
+ this->result = input;
+ g_variant_ref(input);
+}
+
+MethodInjector::MethodInjector(const MethodInjector & Other)
+{
+ if (Other.result) {
+ this->result = Other.result;
+ g_variant_ref(Other.result);
+ }
+}
+
+MethodInjector::~MethodInjector()
+{
+ if (MethodInjector::result) {
+ g_variant_unref(result);
+ result = NULL;
+ }
+}
+
+GVariant *MethodInjector::GetResult()
+{
+ return this->result;
+}
+
+const char *MethodInjector::GetDeviceName()
+{
+ return this->device_name;
+}
+
+GVariant *MethodInjector::StartDiscoveryListen()
+{
+ GVariantBuilder *builder = NULL;
+ GVariant *res = NULL;
+
+ gboolean listen_only = true;
+ int timeout = 0;
+ int frequency = 0;
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "Mode",
+ g_variant_new("b", listen_only));
+ g_variant_builder_add(builder, "{sv}", "Timeout",
+ g_variant_new("i", timeout));
+ g_variant_builder_add(builder, "{sv}", "Frequency",
+ g_variant_new("i", frequency));
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::StartDiscoveryFind()
+{
+ GVariantBuilder *builder = NULL;
+ GVariant *res = NULL;
+
+ gboolean listen_only = false;
+ int timeout = 0;
+ int frequency = 0;
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "Mode",
+ g_variant_new("b", listen_only));
+ g_variant_builder_add(builder, "{sv}", "Timeout",
+ g_variant_new("i", timeout));
+ g_variant_builder_add(builder, "{sv}", "Frequency",
+ g_variant_new("i", frequency));
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::CreateGroup()
+{
+ GVariantBuilder *builder = NULL;
+ GVariant *res = NULL;
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "ssid",
+ g_variant_new_string("TIZEN"));
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::Connect()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->peer_device_addr_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::AcceptConnect()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->peer_device_addr_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::RejectConnect()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->peer_device_addr_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+
+GVariant *MethodInjector::CancelConnect()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->peer_device_addr_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetDeviceName()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->device_name);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetReqWpsMode(int req_wps_mode)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(i)", req_wps_mode);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetGoIntent(int go_intent)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(i)", go_intent);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetMaxClient(int max_client)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(i)", max_client);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetAutoConnection(bool mode)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(b)", mode);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetSessionTimer(int session_timer)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(i)", session_timer);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::GetPeerAddr()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->peer_device_addr_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::GetLegacyPeerAddr()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->legacy_peer_iface_addr_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetWpsPin()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->pin_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetPassphrase()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(s)", this->passphrase);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetDisplay()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(iii)", this->display_type, this->display_port, this->display_hdcp);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+
+}
+
+GVariant *MethodInjector::SetDisplayAvail()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(i)", this->display_avail);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetAutoGroupRemoval(bool enable)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(b)", enable);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SetPersistentGroup(bool enable)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(b)", enable);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::AddVsie()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(is)", this->frame_id, this->vsie_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::GetVsie()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(i)", this->frame_id);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::RemoveVsie()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(is)", this->frame_id, this->vsie_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvStartDiscovery()
+{
+ GVariant *res = NULL;
+ int srv_type = 2;
+ char *mac_addr = "00:00:00:00:00:00";
+
+ res = g_variant_new("(is)", srv_type, mac_addr);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvStopDiscovery()
+{
+ GVariant *res = NULL;
+ int srv_type = 2;
+ char *mac_addr = "00:00:00:00:00:00";
+
+ res = g_variant_new("(is)", srv_type, mac_addr);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvRegister()
+{
+ GVariant *res = NULL;
+ int srv_type = 2;
+ char *srv = "10|uuid:6859dede-8574-59ab-9332-123456789012::upnp:rootFdevice";
+
+ res = g_variant_new("(is)", srv_type, srv);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvRegisterBonjourPtr()
+{
+ GVariant *res = NULL;
+ int srv_type = 1;
+ char *srv = "_http._tcp|ptrLocal._http._tcp";
+
+ res = g_variant_new("(is)", srv_type, srv);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvRegisterBonjourTxt()
+{
+ GVariant *res = NULL;
+ int srv_type = 1;
+ char *srv = "_http._tcp|key=value";
+
+ res = g_variant_new("(is)", srv_type, srv);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvRegister(int type, char *srv_str)
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(is)", type, srv_str);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::SrvDeregister()
+{
+ GVariant *res = NULL;
+ int srv_id = 1;
+
+ res = g_variant_new("(i)", srv_id);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::AspAdvertise()
+{
+ GVariant *res = NULL;
+ GVariantBuilder *builder = NULL;
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "adv_id", g_variant_new("u", 0));
+ g_variant_builder_add(builder, "{sv}", "discovery_tech", g_variant_new("i", 0));
+ g_variant_builder_add(builder, "{sv}", "preferred_connection", g_variant_new("y", 0));
+ g_variant_builder_add(builder, "{sv}", "auto_accept", g_variant_new("i", 0));
+ g_variant_builder_add(builder, "{sv}", "status", g_variant_new("y", 0));
+ g_variant_builder_add(builder, "{sv}", "role", g_variant_new("y", 0));
+ g_variant_builder_add(builder, "{sv}", "replace", g_variant_new("i", 0));
+ g_variant_builder_add(builder, "{sv}", "config_method", g_variant_new("u", 0));
+ g_variant_builder_add(builder, "{sv}", "instance_name", g_variant_new("s", "instance_name"));
+ g_variant_builder_add(builder, "{sv}", "service_type", g_variant_new("s", "service_type"));
+ g_variant_builder_add(builder, "{sv}", "rsp_info", g_variant_new("s", "rsp_info"));
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::AspAdvertiseCancel()
+{
+ GVariant *res = NULL;
+
+ res = g_variant_new("(u)", 0);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+
+}
+
+GVariant *MethodInjector::AspSeek()
+{
+ GVariant *res = NULL;
+ GVariantBuilder *builder = NULL;
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "discovery_tech", g_variant_new("i", 0));
+ g_variant_builder_add(builder, "{sv}", "preferred_connection", g_variant_new("y", 0));
+ g_variant_builder_add(builder, "{sv}", "search_id", g_variant_new("t", 0));
+ g_variant_builder_add(builder, "{sv}", "service_type", g_variant_new("s", "service_type"));
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::AspSeekCancel()
+{
+ GVariant *res = NULL;
+ res = g_variant_new("(t)", 0);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
+
+GVariant *MethodInjector::AspSessionConnect(const char *session_mac_str, unsigned char network_role, unsigned int network_config)
+{
+ GVariant *res = NULL;
+ GVariantBuilder *builder = NULL;
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+
+ g_variant_builder_add(builder, "{sv}", "service_mac", g_variant_new("s", this->peer_device_addr_str));
+ g_variant_builder_add(builder, "{sv}", "adv_id", g_variant_new("u", 0));
+
+ g_variant_builder_add(builder, "{sv}", "session_mac", g_variant_new("s", session_mac_str));
+ g_variant_builder_add(builder, "{sv}", "session_id", g_variant_new("u", 0));
+ g_variant_builder_add(builder, "{sv}", "role", g_variant_new("y", network_role));
+ g_variant_builder_add(builder, "{sv}", "config_method", g_variant_new("u", network_config));
+ g_variant_builder_add(builder, "{sv}", "session _info", g_variant_new("s", "session_info"));
+
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+
+}
+
+GVariant *MethodInjector::AspSessionConfirm(const char *session_mac_str, int confirm, char *pin)
+{
+ GVariant *res = NULL;
+ GVariantBuilder *builder = NULL;
+ gchar pin_str[8 + 1] = {0, };
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+
+ g_variant_builder_add(builder, "{sv}", "session_mac", g_variant_new("s", this->peer_device_addr_str));
+ g_variant_builder_add(builder, "{sv}", "session_id", g_variant_new("u", 0));
+ g_variant_builder_add(builder, "{sv}", "confirm", g_variant_new("i", confirm));
+ if (pin != 0) {
+ g_snprintf(pin_str, 8 + 1, "%s", (gchar *)pin);
+ g_variant_builder_add(builder, "{sv}", "pin", g_variant_new("s", pin_str));
+ }
+ g_variant_builder_add(builder, "{sv}", "service_mac", g_variant_new("s", this->local_mac_str));
+ g_variant_builder_add(builder, "{sv}", "adv_id", g_variant_new("u", 0));
+
+ res = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ if (this->result)
+ g_variant_unref(this->result);
+ this->result = res;
+ g_variant_ref(res);
+
+ return res;
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __METHOD_INJECTOR_H__
+#define __METHOD_INJECTOR_H__
+
+class MethodInjector {
+private:
+ static const char *peer_device_addr_str;
+ static const char *legacy_peer_iface_addr_str;
+ static const char *device_name;
+ static const char *pin_str;
+ static const int frame_id;
+ static const char *vsie_str;
+ GVariant *result;
+public:
+ static const char *passphrase;
+ static const int display_type;
+ static const int display_port;
+ static const int display_hdcp;
+ static const int display_avail;
+ static const char *local_mac_str;
+ MethodInjector();
+ MethodInjector(GVariant *input);
+ MethodInjector(const MethodInjector & Other);
+ ~MethodInjector();
+ const char *GetDeviceName();
+ GVariant *GetResult();
+ GVariant *StartDiscoveryListen();
+ GVariant *StartDiscoveryFind();
+ GVariant *CreateGroup();
+ GVariant *DestroyGroup();
+ GVariant *Connect();
+ GVariant *AcceptConnect();
+ GVariant *RejectConnect();
+ GVariant *CancelConnect();
+ GVariant *SetDeviceName();
+ GVariant *SetReqWpsMode(int req_wps_mode);
+ GVariant *SetGoIntent(int go_intent);
+ GVariant *SetMaxClient(int max_client);
+ GVariant *SetAutoConnection(bool mode);
+ GVariant *SetSessionTimer(int session_timer);
+ GVariant *GetPeerAddr();
+ GVariant *GetLegacyPeerAddr();
+ GVariant *SetWpsPin();
+ GVariant *SetPassphrase();
+ GVariant *SetDisplay();
+ GVariant *SetDisplayAvail();
+ GVariant *SetAutoGroupRemoval(bool enable);
+ GVariant *SetPersistentGroup(bool enable);
+ GVariant *AddVsie();
+ GVariant *GetVsie();
+ GVariant *RemoveVsie();
+ GVariant *SrvStartDiscovery();
+ GVariant *SrvStopDiscovery();
+ GVariant *SrvRegister();
+ GVariant *SrvRegisterBonjourPtr();
+ GVariant *SrvRegisterBonjourTxt();
+ GVariant *SrvRegister(int type, char *srv_str);
+ GVariant *SrvDeregister();
+ GVariant *AspAdvertise();
+ GVariant *AspAdvertiseCancel();
+ GVariant *AspSeek();
+ GVariant *AspSeekCancel();
+ GVariant *AspSessionConnect(const char *session_mac_str, unsigned char network_role, unsigned int network_config);
+ GVariant *AspSessionConfirm(const char *session_mac_str, int confirm, char *pin);
+};
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+
+#include "unittest.h"
+#include "method_injector.h"
+#include "event_injector.h"
+#include "wifi-direct-ipc.h"
+#include "wifi-direct-manager.h"
+#include "wifi-direct-method.h"
+#include "wifi-direct-state.h"
+#include "wifi-direct-oem.h"
+#include "wifi-direct-event.h"
+#include "wifi-direct-group.h"
+#include "wifi-direct-log.h"
+
+using ::testing::EmptyTestEventListener;
+using ::testing::InitGoogleTest;
+using ::testing::Test;
+using ::testing::TestCase;
+using ::testing::TestEventListeners;
+using ::testing::TestInfo;
+using ::testing::TestPartResult;
+using ::testing::UnitTest;
+
+#define CHECK_WFD_MGR_STATE(manager, expected_state)\
+ do {\
+ int res = 0;\
+ int state = 0;\
+ res = wfd_state_get((manager), &state);\
+ ASSERT_EQ(0, res);\
+ ASSERT_EQ((expected_state), state);\
+ } while (0);
+
+#define INIT_WFD_MGR(manager)\
+ do {\
+ wfd_manager_s *manager_null = NULL;\
+ int res = 0;\
+ res = wfd_manager_load();\
+ ASSERT_EQ(0, res);\
+ ASSERT_NE(manager_null, wfd_get_manager());\
+ CHECK_WFD_MGR_STATE(wfd_get_manager(), WIFI_DIRECT_STATE_DEACTIVATED);\
+ } while (0);
+
+TEST(wfd_mgr_activate_deactivate, activate_hanlder_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_activate_deactivate, activate_hanlder_Negative)
+{
+ wfd_manager_s * manager = NULL;
+ int state = 0;
+ int ret = 0;
+
+ manager = wfd_get_manager();
+ activate_handler(NULL, NULL);
+ ret = wfd_state_get(NULL, &state);
+ ASSERT_EQ(-1, ret);
+}
+
+TEST(wfd_mgr_get, get_info_Positive )
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_state_handler(NULL, NULL);
+ get_supported_wps_mode_handler(NULL, NULL);
+ get_local_wps_mode_handler(NULL, NULL);
+ is_listening_only_handler(NULL, NULL);
+ is_discoverable_handler(NULL, NULL);
+ is_group_owner_handler(NULL, NULL);
+ is_auto_group_handler(NULL, NULL);
+ get_operating_channel_handler(NULL, NULL);
+ activate_pushbutton_handler(NULL, NULL);
+ get_ip_address_handler(NULL, NULL);
+ get_mac_address_handler(NULL, NULL);
+ get_interface_name_handler(NULL, NULL);
+ get_subnet_mask_handler(NULL, NULL);
+ get_gateway_handler(NULL, NULL);
+ get_primary_dev_type_handler(NULL, NULL);
+ get_secondary_dev_type_handler(NULL, NULL);
+
+ destroy_group_handler(NULL, NULL);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete group_started_event;
+ delete group_destroy_event;
+}
+
+TEST(wfd_mgr_get, is_listening_only_handler_Negative)
+{
+ is_listening_only_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, is_group_owner_handler_Negative)
+{
+ is_group_owner_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, is_discoverable_handler_Negative)
+{
+ is_discoverable_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, is_auto_group_handler_Negative)
+{
+ is_auto_group_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, get_operating_channel_handler_Negative1)
+{
+ get_operating_channel_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, get_operating_channel_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ get_operating_channel_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_get, activate_pushbutton_handler_Negative1)
+{
+ activate_pushbutton_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, activate_pushbutton_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ activate_pushbutton_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_get, get_ip_address_handler_Negative1)
+{
+ get_ip_address_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, get_ip_address_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ get_ip_address_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_get, get_interface_name_handler_Negative1)
+{
+ get_interface_name_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_get, get_interface_name_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ get_interface_name_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+
+TEST(wfd_mgr_set_get, set_get_device_name_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ char device_name_orig[WIFI_DIRECT_MAX_DEVICE_NAME_LEN+1] = {0, };
+ char device_name[WIFI_DIRECT_MAX_DEVICE_NAME_LEN+1] = {0, };
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_local_get_dev_name(device_name_orig);
+ ASSERT_EQ(0, ret);
+
+ MethodInjector *set_device_name_method = new MethodInjector;
+ set_device_name_handler(set_device_name_method->SetDeviceName(), NULL);
+
+ ret = wfd_local_get_dev_name(device_name);
+ ASSERT_EQ(0, ret);
+ ASSERT_STREQ(set_device_name_method->GetDeviceName(), device_name);
+
+ get_device_name_handler(NULL, NULL);
+ ret = wfd_local_set_dev_name(device_name_orig);
+ ASSERT_EQ(0, ret);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete set_device_name_method;
+}
+
+TEST(wfd_mgr_set_get, __set_get_req_wps_mode_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ int wps_mode_orig = 0;
+ int wps_mode = 4;
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_manager_get_req_wps_mode(&wps_mode_orig);
+ ASSERT_EQ(0, ret);
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_req_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+ ret = wfd_manager_get_req_wps_mode(&wps_mode);
+ ASSERT_EQ(4, wps_mode);
+ ASSERT_EQ(0, ret);
+
+ ret = wfd_manager_set_req_wps_mode(wps_mode_orig);
+ ASSERT_EQ(0, ret);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_req_wps_method;
+}
+
+TEST(wfd_mgr_set_get, set_get_passphrase_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_passphrase_method = new MethodInjector;
+ set_passphrase_handler(set_passphrase_method->SetPassphrase(), NULL);
+ ASSERT_STREQ(manager->local->passphrase, set_passphrase_method->passphrase);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_passphrase_handler(NULL, NULL);
+
+ destroy_group_handler(NULL, NULL);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete set_passphrase_method;
+ delete group_started_event;
+ delete group_destroy_event;
+}
+TEST(wfd_mgr_set_get, set_passphrase_handler_Negative1)
+{
+ MethodInjector *set_passphrase_method = new MethodInjector;
+ set_passphrase_handler(set_passphrase_method->SetPassphrase(), NULL);
+
+ delete set_passphrase_method;
+}
+
+TEST(wfd_mgr_set_get, set_passphrase_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *set_passphrase_method = new MethodInjector;
+ set_passphrase_handler(set_passphrase_method->SetPassphrase(), NULL);
+ ASSERT_STRNE(manager->local->passphrase, set_passphrase_method->passphrase);
+
+ destroy_group_handler(NULL, NULL);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+ wfd_manager_unload();
+
+ delete set_passphrase_method;
+ delete group_create_method;
+ delete group_started_event;
+ delete group_destroy_event;
+}
+
+TEST(wfd_mgr_set_get, set_passphrase_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ set_passphrase_handler(g_variant_new("(s)", "0"), NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_set_get, set_get_go_intent_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ int go_intent_orig = 0;
+ int go_intent = 14;
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_manager_get_go_intent(&go_intent_orig);
+ ASSERT_EQ(0, ret);
+
+ get_go_intent_handler(NULL, NULL);
+
+ MethodInjector *set_go_intent_method = new MethodInjector;
+ set_go_intent_handler(set_go_intent_method->SetGoIntent(go_intent), NULL);
+
+ get_go_intent_handler(NULL, NULL);
+ ret = wfd_manager_get_go_intent(&go_intent);
+ ASSERT_EQ(14, go_intent);
+ ASSERT_EQ(0, ret);
+
+ ret = wfd_manager_set_go_intent(go_intent_orig);
+ ASSERT_EQ(0, ret);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_go_intent_method;
+}
+
+TEST(wfd_mgr_set_get, set_go_intent_handler_Negative)
+{
+ wfd_manager_s * manager = NULL;
+ int go_intent_orig = 0;
+ int go_intent = 14;
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_manager_get_go_intent(&go_intent_orig);
+ ASSERT_EQ(0, ret);
+
+ get_go_intent_handler(NULL, NULL);
+
+ MethodInjector *set_go_intent_method = new MethodInjector;
+ set_go_intent_handler(set_go_intent_method->SetGoIntent(-1), NULL);
+ ret = wfd_manager_get_go_intent(&go_intent);
+ ASSERT_EQ(go_intent_orig, go_intent);
+ ASSERT_EQ(0, ret);
+
+ ret = wfd_manager_set_go_intent(go_intent_orig);
+ ASSERT_EQ(0, ret);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_go_intent_method;
+}
+
+TEST(wfd_mgr_set_get, set_get_max_client_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ int max_client_orig = 0;
+ int max_client = 5;
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_manager_get_max_station(&max_client_orig);
+ ASSERT_EQ(0, ret);
+
+ MethodInjector *set_max_client_method = new MethodInjector;
+ set_max_client_handler(set_max_client_method->SetMaxClient(max_client), NULL);
+
+ get_max_client_handler(NULL, NULL);
+ ret = wfd_manager_get_max_station(&max_client);
+ ASSERT_EQ(5, max_client);
+ ASSERT_EQ(0, ret);
+
+ ret = wfd_manager_set_max_station(max_client_orig);
+ ASSERT_EQ(0, ret);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_max_client_method;
+}
+
+TEST(wfd_mgr_set_get, set_max_client_handler_Negative)
+{
+ wfd_manager_s * manager = NULL;
+ int max_client_orig = 0;
+ int max_client = 5;
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_manager_get_max_station(&max_client_orig);
+ ASSERT_EQ(0, ret);
+
+ MethodInjector *set_max_client_method = new MethodInjector;
+ set_max_client_handler(set_max_client_method->SetMaxClient(-1), NULL);
+
+ ret = wfd_manager_get_max_station(&max_client);
+ ASSERT_EQ(max_client_orig, max_client);
+ ASSERT_EQ(0, ret);
+
+ ret = wfd_manager_set_max_station(max_client_orig);
+ ASSERT_EQ(0, ret);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_max_client_method;
+}
+
+
+TEST(wfd_mgr_set_get, set_autoconnection_mode_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ int auto_connect_orig = 0;
+ int auto_connect;
+ int ret = 0;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ ret = wfd_manager_get_autoconnection(&auto_connect_orig);
+ ASSERT_EQ(0, ret);
+
+ MethodInjector *set_auto_connect = new MethodInjector;
+ set_autoconnection_mode_handler(set_auto_connect->SetAutoConnection(true), NULL);
+ is_autoconnection_mode_handler(NULL, NULL);
+ ret = wfd_manager_get_autoconnection(&auto_connect);
+ ASSERT_EQ(true, auto_connect);
+
+ set_autoconnection_mode_handler(set_auto_connect->SetAutoConnection(false), NULL);
+ ret = wfd_manager_get_autoconnection(&auto_connect);
+ ASSERT_EQ(false, auto_connect);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_auto_connect;
+}
+
+TEST(wfd_mgr_set_get, set_get_session_timer_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ int session_timer_orig = 0;
+ int session_timer = 5;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ session_timer_orig = manager->session_timer;
+
+ MethodInjector *set_session_timer_method = new MethodInjector;
+ set_session_timer_handler(set_session_timer_method->SetSessionTimer(session_timer), NULL);
+ get_session_timer_handler(NULL, NULL);
+ session_timer = manager->session_timer;
+ ASSERT_EQ(5, session_timer);
+
+ manager->session_timer = session_timer_orig;
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete set_session_timer_method;
+}
+
+TEST(wfd_mgr_set_get, set_session_timer_handler_Negative)
+{
+ MethodInjector *set_session_timer_method = new MethodInjector;
+ set_session_timer_handler(set_session_timer_method->SetSessionTimer(10), NULL);
+}
+
+TEST(wfd_mgr_set_get, get_session_timer_handler_Negative)
+{
+ get_session_timer_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_set_get, set_persistent_group_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *enable_persistent_group_method = new MethodInjector;
+ set_persistent_group_handler(enable_persistent_group_method->SetPersistentGroup(true), NULL);
+ ASSERT_EQ(true, (manager->local->group_flags &
+ WFD_GROUP_FLAG_PERSISTENT)
+ == WFD_GROUP_FLAG_PERSISTENT);
+
+ is_persistent_group_enabled_handler(NULL, NULL);
+
+ set_persistent_group_handler(enable_persistent_group_method->SetPersistentGroup(false), NULL);
+ ASSERT_EQ(false, (manager->local->group_flags &
+ WFD_GROUP_FLAG_PERSISTENT)
+ == WFD_GROUP_FLAG_PERSISTENT);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete enable_persistent_group_method;
+}
+
+TEST(wfd_mgr_set_get, set_persistent_group_handler_Negative)
+{
+ MethodInjector *enable_persistent_group_method = new MethodInjector;
+ set_persistent_group_handler(enable_persistent_group_method->SetPersistentGroup(true), NULL);
+}
+
+TEST(wfd_mgr_set_get, get_auto_group_removal_handler_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_auto_group_removal_method = new MethodInjector;
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(true), NULL);
+ ASSERT_EQ(true, manager->auto_group_remove_enable);
+
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(false), NULL);
+ ASSERT_EQ(false, manager->auto_group_remove_enable);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(true), NULL);
+ ASSERT_EQ(true, manager->auto_group_remove_enable);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete group_started_event;
+ delete group_destroy_event;
+ delete set_auto_group_removal_method;
+}
+
+TEST(wfd_mgr_set_get, get_auto_group_removal_handler_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_auto_group_removal_method = new MethodInjector;
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(true), NULL);
+ ASSERT_EQ(true, manager->auto_group_remove_enable);
+
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(false), NULL);
+ ASSERT_EQ(false, manager->auto_group_remove_enable);
+
+ EventInjector *found_event = new EventInjector;
+ wfd_event_peer_found((wfd_oem_event_s *)found_event->PeerFound());
+
+ get_connected_peers_handler(NULL, NULL);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+
+ EventInjector *prov_pbc_resp_event = new EventInjector;
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)prov_pbc_resp_event->ProvPbcResp(false));
+
+ EventInjector *go_neg_req_event = new EventInjector;
+ wfd_event_go_neg_req((wfd_oem_event_s*)go_neg_req_event->GoNegRequestPbc());
+
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(true), NULL);
+ ASSERT_EQ(true, manager->auto_group_remove_enable);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete set_auto_group_removal_method;
+ delete found_event;
+ delete connect_method;
+ delete prov_pbc_resp_event;
+ delete go_neg_req_event;
+}
+
+TEST(wfd_mgr_set_get, get_auto_group_removal_handler_Negative1)
+{
+ MethodInjector *set_auto_group_removal_method = new MethodInjector;
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(true), NULL);
+
+ delete set_auto_group_removal_method;
+}
+
+TEST(wfd_mgr_set_get, get_auto_group_removal_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *set_auto_group_removal_method = new MethodInjector;
+ get_auto_group_removal_handler(set_auto_group_removal_method->SetAutoGroupRemoval(true), NULL);
+
+ wfd_manager_unload();
+ delete set_auto_group_removal_method;
+}
+
+
+TEST(wfd_mgr_discovery, start_discovery_handler_find_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+
+ stop_discovery_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+
+ wfd_event_discovery_finished((wfd_oem_event_s*)event->FindStopped());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete find_injector;
+ delete event;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_find_Positive2)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ stop_discovery_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_discovery_finished((wfd_oem_event_s*)event->FindStopped());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete find_injector;
+ delete group_create_method;
+ delete event;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_Negative1)
+{
+ wfd_manager_s * manager = NULL;
+ int state = 0;
+ int ret = 0;
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ ret = wfd_state_get(manager, &state);
+ ASSERT_EQ(-1, ret);
+
+ delete find_injector;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_find_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete find_injector;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_find_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete find_injector;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_listen_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryListen(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+
+ stop_discovery_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete find_injector;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_go_Listen)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *find_injector = new MethodInjector;
+ start_discovery_handler(find_injector->StartDiscoveryListen(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ destroy_group_handler(NULL, NULL);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete find_injector;
+ delete group_create_method;
+ delete group_started_event;
+ delete group_destroy_event;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_get_peer_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ wfd_oem_event_s *event = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ EventInjector *found_injector = new EventInjector;
+ event = (wfd_oem_event_s *)found_injector->PeerFound();
+ wfd_event_peer_found(event);
+
+ get_discovered_peer_handler(NULL, NULL);
+
+ EventInjector *lost_injector = new EventInjector;
+ event = (wfd_oem_event_s *)lost_injector->DeviceLost();
+ wfd_event_peer_disappeared(event);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete found_injector;
+ delete lost_injector;
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_get_peer_Negative1)
+{
+ get_discovered_peer_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_discovery, start_discovery_handler_get_peer_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ get_discovered_peer_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_get_peer_info, get_peer_info_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ get_peer_info_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ get_peer_rssi_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ display_get_peer_type_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ display_get_peer_type_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ display_get_peer_hdcp_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ display_get_peer_port_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ display_get_peer_throughput_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_event_peer_disappeared((wfd_oem_event_s *)event->DeviceLost());
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete event;
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, get_peer_info_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ get_peer_info_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, get_peer_info_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ get_peer_info_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, get_peer_rssi_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ get_peer_rssi_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, get_peer_rssi_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ get_peer_rssi_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, get_peer_rssi_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ get_peer_rssi_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_type_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_type_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_type_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_type_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_type_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_type_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_type_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_type_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_avail_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_avail_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_avail_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_avail_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_avail_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_avail_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_avail_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_avail_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_hdcp_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_hdcp_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_hdcp_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_hdcp_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_hdcp_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_hdcp_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_hdcp_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_hdcp_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_port_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_port_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_port_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_port_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_port_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_port_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_port_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_port_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_throughput_handler_Negative1)
+{
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_throughput_handler(peer_dev_addr->GetPeerAddr(), NULL);
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_throughput_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_throughput_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_throughput_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_throughput_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_get_peer_info, display_get_peer_throughput_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *peer_dev_addr = new MethodInjector;
+ display_get_peer_throughput_handler(peer_dev_addr->GetPeerAddr(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete peer_dev_addr;
+}
+
+TEST(wfd_mgr_gruop, create_group_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ destroy_group_handler(NULL, NULL);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete group_started_event;
+ delete group_destroy_event;
+}
+
+TEST(wfd_mgr_gruop, create_group_handler_Negative1)
+{
+ wfd_manager_s * manager = NULL;
+ int state = 0;
+ int ret = 0;
+ manager = wfd_get_manager();
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ ret = wfd_state_get(manager, &state);
+ ASSERT_EQ(-1, ret);
+
+ delete group_create_method;
+}
+
+TEST(wfd_mgr_gruop, create_group_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+ delete group_create_method;
+}
+
+TEST(wfd_mgr_gruop, create_group_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ EventInjector *group_started_event = new EventInjector;
+ wfd_event_group_created((wfd_oem_event_s*)group_started_event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ destroy_group_handler(NULL, NULL);
+
+ EventInjector *group_destroy_event = new EventInjector;
+ wfd_event_group_destroyed((wfd_oem_event_s*)group_destroy_event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete group_started_event;
+ delete group_destroy_event;
+}
+
+TEST(wfd_mgr_gruop, destroy_group_handler_Negative1)
+{
+ wfd_manager_s * manager = NULL;
+ int state = 0;
+ int ret = 0;
+
+ manager = wfd_get_manager();
+
+ destroy_group_handler(NULL, NULL);
+
+ ret = wfd_state_get(manager, &state);
+ ASSERT_EQ(-1, ret);
+}
+
+TEST(wfd_mgr_gruop, destroy_group_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ destroy_group_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_vsie, add_get_remove_vsie_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *add_vsie_method = new MethodInjector;
+ add_vsie_handler(add_vsie_method->AddVsie(), NULL);
+
+ MethodInjector *get_vsie_method = new MethodInjector;
+ get_vsie_handler(get_vsie_method->GetVsie(), NULL);
+
+ MethodInjector *remove_vsie_method = new MethodInjector;
+ remove_vsie_handler(remove_vsie_method->RemoveVsie(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete add_vsie_method;
+ delete get_vsie_method;
+ delete remove_vsie_method;
+}
+
+TEST(wfd_mgr_vsie, add_vsie_handler_Negative1)
+{
+ MethodInjector *add_vsie_method = new MethodInjector;
+ add_vsie_handler(add_vsie_method->AddVsie(), NULL);
+ delete add_vsie_method;
+}
+
+TEST(wfd_mgr_vsie, add_vsie_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *add_vsie_method = new MethodInjector;
+ add_vsie_handler(add_vsie_method->AddVsie(), NULL);
+
+ wfd_manager_unload();
+
+ delete add_vsie_method;
+}
+
+TEST(wfd_mgr_vsie, get_vsie_handler_Negative1)
+{
+ MethodInjector *get_vsie_method = new MethodInjector;
+ get_vsie_handler(get_vsie_method->GetVsie(), NULL);
+ delete get_vsie_method;
+}
+
+TEST(wfd_mgr_vsie, get_vsie_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *get_vsie_method = new MethodInjector;
+ get_vsie_handler(get_vsie_method->GetVsie(), NULL);
+
+ wfd_manager_unload();
+
+ delete get_vsie_method;
+}
+
+TEST(wfd_mgr_vsie, remove_vsie_handler_Negative1)
+{
+ MethodInjector *remove_vsie_method = new MethodInjector;
+ remove_vsie_handler(remove_vsie_method->RemoveVsie(), NULL);
+ delete remove_vsie_method;
+}
+
+TEST(wfd_mgr_vsie, remove_vsie_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *remove_vsie_method = new MethodInjector;
+ remove_vsie_handler(remove_vsie_method->RemoveVsie(), NULL);
+
+ wfd_manager_unload();
+
+ delete remove_vsie_method;
+}
+
+
+TEST(wfd_mgr_display, display_set_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ wfd_device_s *device = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ display_init_handler(NULL, NULL);
+ device = manager->local;
+ ASSERT_EQ(device->display.type, WIFI_DISPLAY_DEFAULT_TYPE);
+ ASSERT_EQ(device->display.port, WIFI_DISPLAY_DEFAULT_PORT);
+ ASSERT_EQ(device->display.availability, WIFI_DISPLAY_DEFAULT_AVAIL);
+ ASSERT_EQ(device->display.hdcp_support, WIFI_DISPLAY_DEFAULT_HDCP);
+
+ MethodInjector *set_display_method = new MethodInjector;
+ display_set_config_handler(set_display_method->SetDisplay(), NULL);
+ ASSERT_EQ(device->display.type, set_display_method->display_type);
+ ASSERT_EQ(device->display.port, set_display_method->display_port);
+ ASSERT_EQ(device->display.hdcp_support, set_display_method->display_hdcp);
+
+ MethodInjector *set_display_avail_method = new MethodInjector;
+ display_set_avail_handler(set_display_avail_method->SetDisplayAvail(), NULL);
+ ASSERT_EQ(device->display.availability, set_display_avail_method->display_avail);
+
+ display_deinit_handler(NULL, NULL);
+ ASSERT_EQ(device->display.type, 0);
+ ASSERT_EQ(device->display.port, 0);
+ ASSERT_EQ(device->display.availability, 0);
+ ASSERT_EQ(device->display.hdcp_support, 0);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete set_display_method;
+ delete set_display_avail_method;
+}
+
+TEST(wfd_mgr_display, display_init_handler_Negative1)
+{
+ display_init_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_display, display_init_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ display_init_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_init_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ display_init_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_init_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ display_init_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_deinit_handler_Negative1)
+{
+ display_deinit_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_display, display_deinit_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ display_deinit_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_deinit_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ display_deinit_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_deinit_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ display_deinit_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_set_config_handler_Negative1)
+{
+ display_set_config_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_display, display_set_config_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ display_set_config_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_set_config_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ display_set_config_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_set_config_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ display_set_config_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_set_avail_handler_Negative1)
+{
+ display_set_avail_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_display, display_set_avail_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ display_set_avail_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_set_avail_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = false;
+
+ display_set_avail_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_display, display_set_avail_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_wifi_display_supported = true;
+
+ display_set_avail_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+
+TEST(wfd_mgr_connection, connection_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ get_connected_peers_handler(NULL, NULL);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+
+ get_connecting_peer_handler(NULL, NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_connected_peers_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connection_Positive2)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoinedwithIP());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_connected_peers_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connection_Positive3)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s *)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s *)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s *)event->GoNegSuccessGo());
+
+ wfd_event_peer_disappeared((wfd_oem_event_s *)event->DeviceLost());
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoinedwithIP());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_connected_peers_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+
+TEST(wfd_mgr_connection, connection_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_invitation_accepted((wfd_oem_event_s*)event->InvitationAccepted());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGCPersistent());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+}
+
+TEST(wfd_mgr_connection, get_connected_peers_handler_Negative1)
+{
+ get_connected_peers_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_connection, get_connected_peers_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ get_connected_peers_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_connection, get_connected_peers_handler_Negative3)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ get_connected_peers_handler(NULL, NULL);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative1)
+{
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+
+ wfd_manager_unload();
+
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative3)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative4)
+{
+
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ get_connected_peers_handler(NULL, NULL);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ manager->max_station = 0;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative5)
+{
+
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ get_connected_peers_handler(NULL, NULL);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative6)
+{
+
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ get_connected_peers_handler(NULL, NULL);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_key_neg_fail((wfd_oem_event_s*)event->KeyNegFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection, connect_handler_Negative7)
+{
+
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ get_connected_peers_handler(NULL, NULL);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+
+ wfd_event_group_formation_failure((wfd_oem_event_s*)event->GroupFormationFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+
+TEST(wfd_mgr_connection, get_connecting_peer_handler_Negative1)
+{
+ get_connecting_peer_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_connection, get_connecting_peer_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ get_connecting_peer_handler(NULL, NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_connection, accept_connection_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, accept_connection_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, accept_connection_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGCwithoutIP());
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, accept_connection_Negative1)
+{
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ delete accept_connect_method;
+}
+
+TEST(wfd_mgr_connection, accept_connection_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+}
+
+TEST(wfd_mgr_connection, accept_connection_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+}
+
+TEST(wfd_mgr_connection, accept_connection_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_key_neg_fail((wfd_oem_event_s*)event->KeyNegFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+TEST(wfd_mgr_connection, cancel_connection_handler_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ MethodInjector *cancel_connect_method = new MethodInjector;
+ cancel_connection_handler(cancel_connect_method->CancelConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete accept_connect_method;
+ delete cancel_connect_method;
+}
+
+TEST(wfd_mgr_connection, cancel_connection_handler_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+
+ MethodInjector *cancel_connect_method = new MethodInjector;
+ cancel_connection_handler(cancel_connect_method->CancelConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete accept_connect_method;
+ delete cancel_connect_method;
+}
+
+TEST(wfd_mgr_connection, cancel_connection_handler_Negative1)
+{
+ MethodInjector *cancel_connect_method = new MethodInjector;
+ cancel_connection_handler(cancel_connect_method->CancelConnect(), NULL);
+
+ delete cancel_connect_method;
+}
+
+TEST(wfd_mgr_connection, cancel_connection_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *cancel_connect_method = new MethodInjector;
+ cancel_connection_handler(cancel_connect_method->CancelConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete cancel_connect_method;
+}
+
+TEST(wfd_mgr_connection, reject_connection_handler_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+
+ MethodInjector *reject_connect_method = new MethodInjector;
+ reject_connection_handler(reject_connect_method->RejectConnect(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete reject_connect_method;
+}
+
+TEST(wfd_mgr_connection, reject_connection_handler_Negative1)
+{
+
+ MethodInjector *reject_connect_method = new MethodInjector;
+ reject_connection_handler(reject_connect_method->RejectConnect(), NULL);
+
+ delete reject_connect_method;
+}
+
+TEST(wfd_mgr_connection, reject_connection_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *reject_connect_method = new MethodInjector;
+ reject_connection_handler(reject_connect_method->RejectConnect(), NULL);
+
+ wfd_manager_unload();
+
+ delete reject_connect_method;
+}
+
+TEST(wfd_mgr_connection, reject_connection_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+
+ MethodInjector *reject_connect_method = new MethodInjector;
+ reject_connection_handler(reject_connect_method->RejectConnect(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete reject_connect_method;
+}
+
+TEST(wfd_mgr_connection, disconnect_handler_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *find_method = new MethodInjector;
+ start_discovery_handler(find_method->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *peer_addr = new MethodInjector;
+ disconnect_handler(peer_addr->GetPeerAddr(), NULL);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete connect_method;
+ delete find_method;
+ delete event;
+ delete peer_addr;
+}
+
+TEST(wfd_mgr_connection, disconnect_handler_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ MethodInjector *find_method = new MethodInjector;
+ start_discovery_handler(find_method->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ MethodInjector *peer_addr = new MethodInjector;
+ disconnect_handler(peer_addr->GetPeerAddr(), NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete find_method;
+ delete event;
+ delete peer_addr;
+}
+
+TEST(wfd_mgr_connection, disconnect_handler_Negative1)
+{
+ MethodInjector *peer_addr = new MethodInjector;
+ disconnect_handler(peer_addr->GetPeerAddr(), NULL);
+
+ delete peer_addr;
+}
+
+TEST(wfd_mgr_connection, disconnect_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *peer_addr = new MethodInjector;
+ disconnect_handler(peer_addr->GetPeerAddr(), NULL);
+
+ wfd_manager_unload();
+
+ delete peer_addr;
+}
+TEST(wfd_mgr_connection, disconnect_all_handler_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *find_method = new MethodInjector;
+ start_discovery_handler(find_method->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ disconnect_all_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete connect_method;
+ delete find_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, disconnect_all_handler_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ MethodInjector *find_method = new MethodInjector;
+ start_discovery_handler(find_method->StartDiscoveryFind(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ disconnect_all_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete find_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, disconnect_all_handler_Negative1)
+{
+ disconnect_all_handler(NULL, NULL);
+}
+
+TEST(wfd_mgr_connection, disconnect_all_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ disconnect_all_handler(NULL, NULL);
+
+ wfd_manager_unload();
+}
+
+TEST(wfd_mgr_connection, legacy_connection_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->LegacyPeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->LegacyPeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+}
+
+
+TEST(wfd_mgr_connection, multi_connect_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->LegacyPeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ MethodInjector *peer_addr = new MethodInjector;
+ disconnect_handler(peer_addr->GetPeerAddr(), NULL);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->LegacyPeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+}
+
+
+TEST(wfd_mgr_connection_fail, wfd_event_prov_disc_fail_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->ProvFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_prov_disc_fail_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->ProvFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_prov_disc_fail_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->LegacyPeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->ProvFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->LegacyPeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_prov_disc_fail_Negative1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->ProvFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+}
+
+TEST(wfd_mgr_connection, wfd_event_go_neg_fail_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_fail((wfd_oem_event_s*)event->GoNegFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection, wfd_event_go_neg_fail_Negative)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_go_neg_fail((wfd_oem_event_s*)event->GoNegFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_wps_fail_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+
+ wfd_event_wps_fail((wfd_oem_event_s*)event->WpsFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_wps_fail_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+
+ wfd_event_wps_fail((wfd_oem_event_s*)event->WpsFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_wps_fail_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->LegacyPeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+
+ wfd_event_wps_fail((wfd_oem_event_s*)event->WpsFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->LegacyPeerDisconnected());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete group_create_method;
+ delete connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connection_fail, wfd_event_wps_fail_Negative1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_wps_fail((wfd_oem_event_s*)event->WpsFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+}
+
+TEST(wfd_mgr_connect_pbc, pbc_connection_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connect_pbc, pbc_connection_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestPbc());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connect_pbc, pbc_connection_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->GoFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(true));
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connect_pbc, pbc_connection_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_invitation_req((wfd_oem_event_s*)event->InvitationReceived());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvPbcResp(true));
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connect_pbc, pbc_connection_Positive5)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete group_create_method;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connect_pbc, pbc_connection_Positive6)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvPbcReq(false));
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete group_create_method;
+ delete accept_connect_method;
+}
+
+TEST(wfd_mgr_connect_keypad, keypad_connection_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+ int wps_mode = WFD_WPS_MODE_DISPLAY;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvRespEnterPin(false));
+
+ get_local_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_wps_pin_method = new MethodInjector;
+ set_wps_pin_handler(set_wps_pin_method->SetWpsPin(), NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestKeypad());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+ delete accept_connect_method;
+ delete set_wps_pin_method;
+}
+
+TEST(wfd_mgr_connect_keypad, keypad_connection_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvReqEnterPin(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestKeypad());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ get_local_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_wps_pin_method = new MethodInjector;
+ set_wps_pin_handler(set_wps_pin_method->SetWpsPin(), NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connect_keypad, keypad_connection_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+ int wps_mode = WFD_WPS_MODE_DISPLAY;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->GoFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvRespEnterPin(true));
+
+ get_local_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_wps_pin_method = new MethodInjector;
+ set_wps_pin_handler(set_wps_pin_method->SetWpsPin(), NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+ delete set_req_wps_method;
+}
+
+TEST(wfd_mgr_connect_keypad, keypad_connection_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+ int wps_mode = WFD_WPS_MODE_DISPLAY;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+
+ wfd_event_invitation_req((wfd_oem_event_s*)event->InvitationReceived());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvRespEnterPin(true));
+
+ get_local_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_wps_pin_method = new MethodInjector;
+ set_wps_pin_handler(set_wps_pin_method->SetWpsPin(), NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete set_req_wps_method;
+ delete accept_connect_method;
+ delete set_wps_pin_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connect_keypad, keypad_connection_Positive5)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvReqEnterPin(true));
+
+ get_local_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_wps_pin_method = new MethodInjector;
+ set_wps_pin_handler(set_wps_pin_method->SetWpsPin(), NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete group_create_method;
+ delete connect_method;
+ delete accept_connect_method;
+ delete set_wps_pin_method;
+}
+
+TEST(wfd_mgr_connect_keypad, keypad_connection_Positive6)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvReqEnterPin(true));
+
+ get_local_wps_mode_handler(NULL, NULL);
+
+ MethodInjector *set_wps_pin_method = new MethodInjector;
+ set_wps_pin_handler(set_wps_pin_method->SetWpsPin(), NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete group_create_method;
+ delete set_wps_pin_method;
+ delete accept_connect_method;
+}
+
+TEST(wfd_mgr_connect_display, display_connection_Positive1)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+ int wps_mode = WFD_WPS_MODE_KEYPAD;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvRespDisplayPin(false));
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_wps_pin_handler(NULL, NULL);
+
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestDisplay());
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGo());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connect_display, display_connection_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvReqDisplayPin(false));
+ wfd_event_go_neg_req((wfd_oem_event_s*)event->GoNegRequestDisplay());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_wps_pin_handler(NULL, NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connect_display, display_connection_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+ int wps_mode = WFD_WPS_MODE_KEYPAD;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->GoFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvRespDisplayPin(true));
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_wps_pin_handler(NULL, NULL);
+
+ get_wps_pin_handler(NULL, NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+
+ wfd_manager_unload();
+
+ delete event;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connect_display, display_connection_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+ int wps_mode = WFD_WPS_MODE_KEYPAD;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *set_req_wps_method = new MethodInjector;
+ set_req_wps_mode_handler(set_req_wps_method->SetReqWpsMode(wps_mode), NULL);
+
+ wfd_event_invitation_req((wfd_oem_event_s*)event->InvitationReceived());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_resp((wfd_oem_event_s*)event->ProvRespDisplayPin(true));
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_wps_pin_handler(NULL, NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ destroy_group_handler(NULL, NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete accept_connect_method;
+ delete event;
+}
+
+TEST(wfd_mgr_connect_display, display_connection_Positive5)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+
+ MethodInjector *connect_method = new MethodInjector;
+ connect_handler(connect_method->Connect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvReqDisplayPin(false));
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_wps_pin_handler(NULL, NULL);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete group_create_method;
+ delete connect_method;
+}
+
+TEST(wfd_mgr_connect_display, display_connection_Positive6)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_prov_disc_req((wfd_oem_event_s*)event->ProvReqDisplayPin(false));
+
+ get_local_wps_mode_handler(NULL, NULL);
+ get_wps_pin_handler(NULL, NULL);
+
+ MethodInjector *accept_connect_method = new MethodInjector;
+ accept_connection_handler(accept_connect_method->AcceptConnect(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTING);
+
+ wfd_event_sta_connected((wfd_oem_event_s*)event->PeerJoined());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ wfd_event_sta_disconnected((wfd_oem_event_s*)event->PeerDisconnected());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+ delete group_create_method;
+ delete accept_connect_method;
+}
+
+TEST(wfd_mgr_connect_srv, srv_discovery_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_start = new MethodInjector;
+ srv_start_discovery_handler(srv_start->SrvStartDiscovery(), NULL);
+
+ MethodInjector *srv_stop = new MethodInjector;
+ srv_stop_discovery_handler(srv_start->SrvStopDiscovery(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete srv_start;
+ delete srv_stop;
+}
+
+TEST(wfd_mgr_connect_srv, srv_start_discovery_handler_Negative1)
+{
+
+ MethodInjector *srv_start = new MethodInjector;
+ srv_start_discovery_handler(srv_start->SrvStartDiscovery(), NULL);
+
+ delete srv_start;
+}
+
+TEST(wfd_mgr_connect_srv, srv_start_discovery_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *srv_start = new MethodInjector;
+ srv_start_discovery_handler(srv_start->SrvStartDiscovery(), NULL);
+
+ wfd_manager_unload();
+
+ delete srv_start;
+}
+
+TEST(wfd_mgr_connect_srv, srv_start_discovery_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_start = new MethodInjector;
+ srv_start_discovery_handler(srv_start->SrvStartDiscovery(), NULL);
+
+ wfd_manager_unload();
+
+ delete srv_start;
+}
+
+TEST(wfd_mgr_connect_srv, srv_stop_discovery_handler_Negative1)
+{
+
+ MethodInjector *srv_stop = new MethodInjector;
+ srv_stop_discovery_handler(srv_stop->SrvStopDiscovery(), NULL);
+
+ delete srv_stop;
+}
+
+TEST(wfd_mgr_connect_srv, srv_stop_discovery_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *srv_stop = new MethodInjector;
+ srv_stop_discovery_handler(srv_stop->SrvStopDiscovery(), NULL);
+
+ wfd_manager_unload();
+
+ delete srv_stop;
+}
+
+TEST(wfd_mgr_connect_srv, srv_stop_discovery_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_stop = new MethodInjector;
+ srv_stop_discovery_handler(srv_stop->SrvStopDiscovery(), NULL);
+
+ wfd_manager_unload();
+
+ delete srv_stop;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_deregister_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(), NULL);
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+ delete srv_deregister;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_deregister_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegisterBonjourPtr(), NULL);
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+ delete srv_deregister;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_deregister_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegisterBonjourTxt(), NULL);
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+ delete srv_deregister;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_deregister_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(0xff, "Vendor|Specific"), NULL);
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+ delete srv_deregister;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_handler_Negative1)
+{
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(), NULL);
+
+ delete srv_register;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+ GList *services = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(), NULL);
+ ASSERT_EQ(services, manager->local->services);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+ GList *services = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(), NULL);
+ ASSERT_EQ(services, manager->local->services);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_handler_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+ GList *services = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(4, "Wrong|Type"), NULL);
+ ASSERT_EQ(services, manager->local->services);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_handler_Negative5)
+{
+ wfd_manager_s * manager = NULL;
+ GList *services = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(10, "Invalid|ServiceType"), NULL);
+ ASSERT_EQ(services, manager->local->services);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+}
+
+TEST(wfd_mgr_connect_srv, srv_register_handler_Negative6)
+{
+ wfd_manager_s * manager = NULL;
+ GList *services = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_register = new MethodInjector;
+ srv_register_handler(srv_register->SrvRegister(2, "InvalidServiceStr"), NULL);
+ ASSERT_EQ(services, manager->local->services);
+
+ wfd_manager_unload();
+
+ delete srv_register;
+}
+
+TEST(wfd_mgr_connect_srv, srv_deregister_handler_Negative1)
+{
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ delete srv_deregister;
+}
+
+TEST(wfd_mgr_connect_srv, srv_deregister_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ wfd_manager_unload();
+
+ delete srv_deregister;
+}
+
+TEST(wfd_mgr_connect_srv, srv_deregister_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+ manager->is_service_discovery_supported = true;
+
+ MethodInjector *srv_deregister = new MethodInjector;
+ srv_deregister_handler(srv_deregister->SrvDeregister(), NULL);
+
+ wfd_manager_unload();
+
+ delete srv_deregister;
+}
+
+
+TEST(wfd_mgr_connect_srv, wfd_event_serv_disc_resp_Positive)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_service_discovery_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->PeerFound());
+ wfd_event_serv_disc_resp((wfd_oem_event_s*)event->ServDiscResp());
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_advertise_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *advertse_start = new MethodInjector;
+ advertise_service_handler(advertse_start->AspAdvertise(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+ ASSERT_EQ(WFD_SCAN_MODE_PASSIVE, manager->scan_mode);
+
+ MethodInjector *advertise_cancel = new MethodInjector;
+ cancel_advertise_service_handler(advertise_cancel->AspAdvertiseCancel(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete advertse_start;
+ delete advertise_cancel;
+}
+
+TEST(wfd_mgr_asp, asp_advertise_Positive2)
+{
+ EventInjector *event = new EventInjector;
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ MethodInjector *group_create_method = new MethodInjector;
+ create_group_handler(group_create_method->CreateGroup(), NULL);
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGO());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *advertse_start = new MethodInjector;
+ advertise_service_handler(advertse_start->AspAdvertise(), NULL);
+
+ MethodInjector *advertise_cancel = new MethodInjector;
+ cancel_advertise_service_handler(advertise_cancel->AspAdvertiseCancel(), NULL);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete advertse_start;
+ delete advertise_cancel;
+ delete group_create_method;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, advertise_service_handler_Negative1)
+{
+
+ MethodInjector *advertse_start = new MethodInjector;
+ advertise_service_handler(advertse_start->AspAdvertise(), NULL);
+
+ delete advertse_start;
+}
+
+TEST(wfd_mgr_asp, advertise_service_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *advertse_start = new MethodInjector;
+ advertise_service_handler(advertse_start->AspAdvertise(), NULL);
+
+ wfd_manager_unload();
+
+ delete advertse_start;
+}
+
+TEST(wfd_mgr_asp, advertise_service_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *advertse_start = new MethodInjector;
+ advertise_service_handler(advertse_start->AspAdvertise(), NULL);
+
+ wfd_manager_unload();
+
+ delete advertse_start;
+}
+
+TEST(wfd_mgr_asp, cancel_advertise_service_handler_Negative1)
+{
+
+ MethodInjector *advertise_cancel = new MethodInjector;
+ cancel_advertise_service_handler(advertise_cancel->AspAdvertiseCancel(), NULL);
+
+ delete advertise_cancel;
+}
+
+TEST(wfd_mgr_asp, cancel_advertise_service_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *advertise_cancel = new MethodInjector;
+ cancel_advertise_service_handler(advertise_cancel->AspAdvertiseCancel(), NULL);
+
+ wfd_manager_unload();
+
+ delete advertise_cancel;
+}
+
+TEST(wfd_mgr_asp, cancel_advertise_service_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *advertise_cancel = new MethodInjector;
+ cancel_advertise_service_handler(advertise_cancel->AspAdvertiseCancel(), NULL);
+
+ wfd_manager_unload();
+
+ delete advertise_cancel;
+}
+
+TEST(wfd_mgr_asp, asp_seek_service_Positive)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *asp_seek = new MethodInjector;
+ seek_service_handler(asp_seek->AspSeek(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+ ASSERT_EQ(WFD_SCAN_MODE_ACTIVE, manager->scan_mode);
+
+ MethodInjector *asp_seek_cancel = new MethodInjector;
+ cancel_seek_service_handler(asp_seek_cancel->AspSeekCancel(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_seek;
+ delete asp_seek_cancel;
+}
+
+TEST(wfd_mgr_asp, seek_service_handler_Negative1)
+{
+
+ MethodInjector *asp_seek = new MethodInjector;
+ seek_service_handler(asp_seek->AspSeek(), NULL);
+
+ delete asp_seek;
+}
+
+TEST(wfd_mgr_asp, seek_service_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *asp_seek = new MethodInjector;
+ seek_service_handler(asp_seek->AspSeek(), NULL);
+
+ wfd_manager_unload();
+
+ delete asp_seek;
+}
+
+TEST(wfd_mgr_asp, seek_service_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *asp_seek = new MethodInjector;
+ seek_service_handler(asp_seek->AspSeek(), NULL);
+
+ wfd_manager_unload();
+
+ delete asp_seek;
+}
+
+TEST(wfd_mgr_asp, cancel_seek_service_handler_Negative1)
+{
+
+ MethodInjector *asp_seek_cancel = new MethodInjector;
+ cancel_seek_service_handler(asp_seek_cancel->AspSeekCancel(), NULL);
+
+ delete asp_seek_cancel;
+}
+
+TEST(wfd_mgr_asp, cancel_seek_service_handler_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ MethodInjector *asp_seek_cancel = new MethodInjector;
+ cancel_seek_service_handler(asp_seek_cancel->AspSeekCancel(), NULL);
+
+ wfd_manager_unload();
+
+ delete asp_seek_cancel;
+}
+
+TEST(wfd_mgr_asp, cancel_seek_service_handler_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *asp_seek_cancel = new MethodInjector;
+ cancel_seek_service_handler(asp_seek_cancel->AspSeekCancel(), NULL);
+
+ wfd_manager_unload();
+
+ delete asp_seek_cancel;
+}
+
+TEST(wfd_mgr_asp, asp_peer_found_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *asp_seek = new MethodInjector;
+ seek_service_handler(asp_seek->AspSeek(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+ ASSERT_EQ(WFD_SCAN_MODE_ACTIVE, manager->scan_mode);
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_seek_cancel = new MethodInjector;
+ cancel_seek_service_handler(asp_seek_cancel->AspSeekCancel(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_seek;
+ delete asp_seek_cancel;
+}
+
+TEST(wfd_mgr_asp, asp_service_found_Positive)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ MethodInjector *asp_seek = new MethodInjector;
+ seek_service_handler(asp_seek->AspSeek(), NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DISCOVERING);
+ ASSERT_EQ(WFD_SCAN_MODE_ACTIVE, manager->scan_mode);
+
+ wfd_event_asp_serv_resp((wfd_oem_event_s *)event->AspServiceFound());
+
+ MethodInjector *asp_seek_cancel = new MethodInjector;
+ cancel_seek_service_handler(asp_seek_cancel->AspSeekCancel(), NULL);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_seek;
+ delete asp_seek_cancel;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Positive1)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+ wfd_event_asp_prov_done((wfd_oem_event_s *)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS, WFD_WPS_MODE_P2PS, WFD_OEM_ASP_SESSION_ROLE_NEW, 0, 0));
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Positive2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS, WFD_WPS_MODE_P2PS, WFD_OEM_ASP_SESSION_ROLE_NEW, 0, 0));
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Positive3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->AspProvFail(WFD_OEM_SC_FAIL_INVALID_PARAMS));
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS_ACCEPTED_BY_USER, WFD_WPS_MODE_P2PS,
+ WFD_OEM_ASP_SESSION_ROLE_NEW, 0, 0));
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+
+TEST(wfd_mgr_asp, asp_connect_session_Positive4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->AspProvFail(WFD_OEM_SC_FAIL_INVALID_PARAMS));
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS_ACCEPTED_BY_USER, 0, 0, 1, 0));
+
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+
+TEST(wfd_mgr_asp, asp_connect_session_Positive5)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ wfd_event_asp_prov_start((wfd_oem_event_s*)event->AspProvStart
+ (WFD_WPS_MODE_P2PS, WFD_OEM_ASP_SESSION_ROLE_NEW));
+
+ MethodInjector *asp_confirm = new MethodInjector;
+ confirm_sessoin_handler(asp_confirm->AspSessionConfirm
+ (asp_confirm->local_mac_str,
+ 1, NULL), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS_ACCEPTED_BY_USER, WFD_WPS_MODE_P2PS,
+ WFD_OEM_ASP_SESSION_ROLE_NEW, 0, 0));
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_created((wfd_oem_event_s*)event->GroupStartedGC());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_CONNECTED);
+
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_confirm;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative1)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_prov_disc_fail((wfd_oem_event_s*)event->AspProvFail(WFD_OEM_SC_FAIL_INCOMPATIBLE_PROV_METHOD));
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative2)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_FAIL_REJECTED_BY_USER, 0, 0, 0, 0));
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative3)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS,
+ WFD_WPS_MODE_DISPLAY,
+ WFD_OEM_ASP_SESSION_ROLE_NEW,
+ 1, 0));
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative4)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS, 0, 0, 0, 0));
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+TEST(wfd_mgr_asp, asp_connect_session_Negative5)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS,
+ WFD_WPS_MODE_P2PS,
+ WFD_OEM_ASP_SESSION_ROLE_NEW,
+ 0, 0));
+
+ wfd_event_go_neg_fail((wfd_oem_event_s*)event->GoNegFailure());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative6)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS,
+ WFD_WPS_MODE_P2PS,
+ WFD_OEM_ASP_SESSION_ROLE_NEW,
+ 0, 0));
+
+ wfd_event_wps_fail((wfd_oem_event_s*)event->WpsFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative7)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS,
+ WFD_WPS_MODE_P2PS,
+ WFD_OEM_ASP_SESSION_ROLE_NEW,
+ 0, 0));
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_formation_failure((wfd_oem_event_s*)event->GroupFormationFailed());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+TEST(wfd_mgr_asp, asp_connect_session_Negative8)
+{
+ wfd_manager_s * manager = NULL;
+ EventInjector *event = new EventInjector;
+
+ INIT_WFD_MGR(manager);
+ manager = wfd_get_manager();
+
+ activate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ manager->is_asp_supported = true;
+
+ wfd_event_peer_found((wfd_oem_event_s *)event->AspPeerFound());
+
+ MethodInjector *asp_connect = new MethodInjector;
+ connect_sessoin_handler(asp_connect->AspSessionConnect
+ (asp_connect->local_mac_str,
+ WFD_OEM_ASP_WPS_TYPE_NONE,
+ WFD_OEM_ASP_SESSION_ROLE_NONE), NULL);
+
+ wfd_event_asp_prov_done((wfd_oem_event_s*)event->AspProvDone
+ (WFD_OEM_SC_SUCCESS,
+ WFD_WPS_MODE_P2PS,
+ WFD_OEM_ASP_SESSION_ROLE_NEW,
+ 0, 0));
+
+ wfd_event_go_neg_done((wfd_oem_event_s*)event->GoNegSuccessGc());
+ wfd_event_group_destroyed((wfd_oem_event_s*)event->GroupFinished());
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_ACTIVATED);
+
+ deactivate_handler(NULL, NULL);
+ CHECK_WFD_MGR_STATE(manager, WIFI_DIRECT_STATE_DEACTIVATED);
+
+ wfd_manager_unload();
+
+ delete asp_connect;
+ delete event;
+}
+
+int main(int argc, char **argv)
+{
+ InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef __WFD_MANAGER_UNITTEST_H__
+#define __WFD_MANAGER_UNITTEST_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <glib.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //__WFD_MANAGER_UNITTEST_H__