wfd_device_s *wfd_manager_get_peer_by_addr(wfd_manager_s *manager, unsigned char *peer_addr);
int wfd_manager_set_display_device(int type, int port, int hdcp);
int wfd_manager_set_session_availability(int availability);
+int wfd_manager_get_display_device(int *type, int *port, int *hdcp);
+int wfd_manager_get_session_availability(int *availability);
int wfd_manager_start_discovery(wfd_manager_s *manager, int mode, int timeout,
const char* type, int channel, int frequency);
int wfd_manager_cancel_discovery(wfd_manager_s *manager);
void display_deinit_handler(GVariant *parameters, void *dest);
void display_set_config_handler(GVariant *parameters, void *dest);
void display_set_avail_handler(GVariant *parameters, void *dest);
+void display_get_config_handler(GVariant *parameters, void *dest);
+void display_get_avail_handler(GVariant *parameters, void *dest);
void display_get_peer_type_handler(GVariant *parameters, void *dest);
void display_get_peer_avail_handler(GVariant *parameters, void *dest);
void display_get_peer_hdcp_handler(GVariant *parameters, void *dest);
Name: wifi-direct-manager
Summary: Wi-Fi Direct manger
-Version: 1.2.269
+Version: 1.2.270
Release: 1
Group: Network & Connectivity/Wireless
License: Apache-2.0
"<arg type='i' name='availability' direction='in'/>"
"<arg type='i' name='error_code' direction='out'/>"
"</method>"
+ "<method name='GetConfig'>"
+ "<arg type='i' name='error_code' direction='out'/>"
+ "<arg type='i' name='type' direction='out'/>"
+ "<arg type='i' name='port' direction='out'/>"
+ "<arg type='i' name='hdcp' direction='out'/>"
+ "</method>"
+ "<method name='GetAvailiability'>"
+ "<arg type='i' name='error_code' direction='out'/>"
+ "<arg type='i' name='availability' direction='out'/>"
+ "</method>"
"<method name='GetPeerType'>"
"<arg type='s' name='peer_mac_addr' direction='in'/>"
"<arg type='i' name='error_code' direction='out'/>"
{"Deinit", display_deinit_handler},
{"SetConfig", display_set_config_handler},
{"SetAvailiability", display_set_avail_handler},
+ {"GetConfig", display_get_config_handler},
+ {"GetAvailiability", display_get_avail_handler},
{"GetPeerType", display_get_peer_type_handler},
{"GetPeerAvailability", display_get_peer_avail_handler},
{"GetPeerHdcp", display_get_peer_hdcp_handler},
return res;
}
+int wfd_manager_get_display_device(int *type, int *port, int *hdcp)
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ wfd_device_s *device = g_manager->local;
+ int res = 0;
+
+ if (!device || !type || !port || !hdcp) {
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return -1;
+ }
+
+ *type = device->display.type;
+ *port = device->display.port;
+ *hdcp = device->display.hdcp_support;
+
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return res;
+}
+
+int wfd_manager_get_session_availability(int *availability)
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ wfd_device_s *device = g_manager->local;
+ int res = 0;
+
+ if (!device || !availability) {
+ WDS_LOGE("Invalid parameter");//LCOV_EXCL_LINE
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return -1;
+ }
+
+ *availability = device->display.availability;
+
+ __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)
{
return;
}
+void display_get_config_handler(GVariant *parameters, void *dest)
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ wfd_manager_s *manager = wfd_get_manager();
+ GVariant *return_parameters = NULL;
+ int type, port, hdcp;
+ int ret;
+
+ WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+ if (!manager->is_wifi_display_supported)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+ if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
+ ret = wfd_manager_get_display_device(&type, &port, &hdcp);
+ if (ret < 0)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
+ WDS_LOGD("type %d port %d hdcp %d", type, port, hdcp);
+
+ ret = WIFI_DIRECT_ERROR_NONE;
+ return_parameters = g_variant_new("(iiii)", ret, type, port, hdcp);
+ wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
+
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return;
+}
+
+void display_get_avail_handler(GVariant *parameters, void *dest)
+{
+ __WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE
+ wfd_manager_s *manager = wfd_get_manager();
+ GVariant *return_parameters = NULL;
+ int availability;
+ int ret;
+
+ WIFI_DIRECT_METHOD_RET_IF_NULL(manager);
+
+ if (!manager->is_wifi_display_supported)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_SUPPORTED, dest);
+
+ if (manager->state < WIFI_DIRECT_STATE_ACTIVATED)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_NOT_PERMITTED, dest);
+
+ ret = wfd_manager_get_session_availability(&availability);
+ if (ret < 0)
+ WIFI_DIRECT_METHOD_RET_ERR(WIFI_DIRECT_ERROR_OPERATION_FAILED, dest);
+
+ WDS_LOGD("availability %d", availability);
+
+ ret = WIFI_DIRECT_ERROR_NONE;
+ return_parameters = g_variant_new("(ii)", ret, availability);
+ wfd_manager_dbus_reply_params((GDBusMethodInvocation *)dest, return_parameters);
+
+ __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
+ return;
+}
+
void display_get_peer_type_handler(GVariant *parameters, void *dest)
{
__WDS_LOG_FUNC_ENTER__;//LCOV_EXCL_LINE