return ret;
}
+int wifi_direct_get_display(wifi_direct_display_type_e *type, int *port, int *hdcp)
+{
+ __WDC_LOG_FUNC_START__;
+
+ CHECK_FEATURE_SUPPORTED(WIFIDIRECT_DISPLAY_FEATURE);
+
+ GError* error = NULL;
+ GVariant *reply = NULL;
+ int ret = WIFI_DIRECT_ERROR_NONE;
+ int val = 0;
+
+ if (g_client_info.is_registered == false) {
+ WDC_LOGE("Client is NOT registered");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_NOT_INITIALIZED;
+ }
+
+ if (!type || !port || !hdcp) {
+ WDC_LOGE("Invalid paramaeters passed!");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_INVALID_PARAMETER;
+ }
+
+ reply = wifi_direct_dbus_method_call_sync(WFD_MANAGER_DISPLAY_INTERFACE,
+ "GetConfig",
+ NULL,
+ &error);
+
+ ret = __net_wifidirect_gerror_to_enum(error);
+ if (ret != WIFI_DIRECT_ERROR_NONE)
+ return ret;
+
+ g_variant_get(reply, "(iiii)", &ret, &val, port, hdcp);
+ *type = val;
+ g_variant_unref(reply);
+
+ WDC_LOGD("%s() return : [%d]", __func__, ret);
+ __WDC_LOG_FUNC_END__;
+
+ return ret;
+}
+
+int wifi_direct_get_display_availability(bool *availability)
+{
+ __WDC_LOG_FUNC_START__;
+
+ CHECK_FEATURE_SUPPORTED(WIFIDIRECT_DISPLAY_FEATURE);
+
+ GError* error = NULL;
+ GVariant *reply = NULL;
+ int ret = WIFI_DIRECT_ERROR_NONE;
+ int val = 0;
+
+ if (g_client_info.is_registered == false) {
+ WDC_LOGE("Client is NOT registered.");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_NOT_INITIALIZED;
+ }
+
+ if (!availability) {
+ WDC_LOGE("Invalid paramaeters passed!");
+ __WDC_LOG_FUNC_END__;
+ return WIFI_DIRECT_ERROR_INVALID_PARAMETER;
+ }
+
+ reply = wifi_direct_dbus_method_call_sync(WFD_MANAGER_DISPLAY_INTERFACE,
+ "GetAvailiability",
+ NULL,
+ &error);
+
+ ret = __net_wifidirect_gerror_to_enum(error);
+ if (ret != WIFI_DIRECT_ERROR_NONE)
+ return ret;
+
+ g_variant_get(reply, "(ii)", &ret, &val);
+ *availability = val;
+ g_variant_unref(reply);
+
+ WDC_LOGD("%s() return : [%d]", __func__, ret);
+ __WDC_LOG_FUNC_END__;
+
+ return ret;
+}
+
//LCOV_EXCL_START
int wifi_direct_get_peer_display_type(char *mac_address, wifi_direct_display_type_e *type)
{
CMD_DEINIT_DISPLAY,
CMD_SET_DISPLAY,
CMD_SET_DISPLAY_AVAILABILITY,
+ CMD_GET_DISPLAY,
+ CMD_GET_DISPLAY_AVAILABILITY,
CMD_GET_PEER_DISPLAY_TYPE,
CMD_GET_PEER_DISPLAY_AVAILABILITY,
CMD_GET_PEER_DISPLAY_HDCP,
{ CMD_DEINIT_DISPLAY, "CMD_DEINIT_DISPLAY" },
{ CMD_SET_DISPLAY, "CMD_SET_DISPLAY" },
{ CMD_SET_DISPLAY_AVAILABILITY, "CMD_SET_DISPLAY_AVAILABILITY" },
+ { CMD_GET_DISPLAY, "CMD_GET_DISPLAY" },
+ { CMD_GET_DISPLAY_AVAILABILITY, "CMD_GET_DISPLAY_AVAILABILITY" },
{ CMD_GET_PEER_DISPLAY_TYPE, "CMD_GET_PEER_DISPLAY_TYPE" },
{ CMD_GET_PEER_DISPLAY_AVAILABILITY, "CMD_GET_PEER_DISPLAY_AVAILABILITY" },
{ CMD_GET_PEER_DISPLAY_HDCP, "CMD_GET_PEER_DISPLAY_HDCP" },
}
}
break;
+ case CMD_GET_DISPLAY:
+ {
+ if (ad != NULL) {
+ wifi_direct_display_type_e type;
+ int port;
+ int hdcp;
+
+ result = wifi_direct_get_display(&type, &port, &hdcp);
+
+ printf("wifi_direct_get_display() result=[%d] type=[%d] port=[%d] hdcp=[%d]\n", result, type, port, hdcp);
+ break;
+ }
+ }
+ break;
+ case CMD_GET_DISPLAY_AVAILABILITY:
+ {
+ if (ad != NULL) {
+ bool availability;
+
+ result = wifi_direct_get_display_availability(&availability);
+
+ printf("wifi_direct_get_display_availability() result=[%d] availability=[%d]\n", result, availability);
+ break;
+ }
+ }
+ break;
case CMD_GET_PEER_DISPLAY_TYPE:
if (ad != NULL) {
if (select_peer(ad)) {