From: Hyunjun Ko Date: Tue, 8 Dec 2015 04:31:54 +0000 (+0900) Subject: Check wifi display requirement in OPTIONS X-Git-Tag: submit/tizen/20151210.072437~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9bb5c8d3c6a5366dd49a17cbe17ebffa7cc7b8eb;p=platform%2Fcore%2Fapi%2Fscreen-mirroring.git Check wifi display requirement in OPTIONS Change-Id: Ic309d4863d1955574be9db02d94858740ccd94a6 --- diff --git a/miracast_server/miracast_server_impl.c b/miracast_server/miracast_server_impl.c index 331b0c4..773f3ab 100755 --- a/miracast_server/miracast_server_impl.c +++ b/miracast_server/miracast_server_impl.c @@ -46,6 +46,7 @@ #define MIRACAST_WFD_SOURCE_OFF 0 #define TEST_MOUNT_POINT "/wfd1.0/streamid=0" +#define WFD_REQUIREMENT "org.wfa.wfd1.0" static const GDBusMethodInfo scmirroring_server_method_info_method = { @@ -527,6 +528,24 @@ __teardown_req(GstRTSPClient *client, GstRTSPContext *ctx) return; } +static gchar* +__check_requirements_cb (GstRTSPClient * client, GstRTSPContext * ctx, gchar ** req, gpointer user_data) +{ + int index = 0; + GString *result = g_string_new (""); + + while (req[index] != NULL) { + if (g_strcmp0 (req[index], WFD_REQUIREMENT)) { + if (result->len > 0) + g_string_append (result, ", "); + g_string_append (result, req[index]); + } + index++; + } + + return g_string_free (result, FALSE); +} + static void __miracast_server_client_connected_cb(GstRTSPServer *server, GstRTSPClient *client, gpointer user_data) { MiracastServer *server_obj = (MiracastServer *)user_data; @@ -539,6 +558,7 @@ static void __miracast_server_client_connected_cb(GstRTSPServer *server, GstRTSP g_signal_connect(G_OBJECT(client), "teardown-request", G_CALLBACK(__teardown_req), NULL); g_signal_connect(G_OBJECT(client), "closed", G_CALLBACK(__client_closed), NULL); g_signal_connect(G_OBJECT(client), "new-session", G_CALLBACK(__new_session), NULL); + g_signal_connect(G_OBJECT(client), "check-requirements", G_CALLBACK(__check_requirements_cb), NULL); /* Sending connected response to client */ klass->send_response(server_obj, "OK:CONNECTED");