int _scmirroring_src_send_set_coupling_mode(int sock, scmirroring_coupling_mode_e coupling_mode);
int _scmirroring_src_send_set_direct_streaming(int sock, scmirroring_direct_streaming_e direct_streaming, const char *filesrc);
int _scmirroring_src_send_switch_transport(int sock, scmirroring_av_transport_e av_transport);
+int _scmirroring_server_launch(const char *server_name);
#ifdef __cplusplus
* limitations under the License.
*/
#include <stdio.h>
-#include <gio/gio.h>
+#include <unistd.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/socket.h>
return FALSE;
}
-static int __miracast_server_launch(scmirroring_primary_sink_s *scmirroring)
-{
- int ret = SCMIRRORING_ERROR_NONE;
- GDBusProxy *proxy = NULL;
- GVariant *reg = NULL;
- GDBusConnection *conn = NULL;
- GError *error = NULL;
-
-#if !GLIB_CHECK_VERSION(2, 35, 0)
- g_type_init();
-#endif
-
- scmirroring_debug("-----------socket connect failed it means server is not yet started------------");
- scmirroring_debug("going to start miracast server");
-
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
- if (error) {
- scmirroring_error("Failed to get dbus connection: %s", error->message);
- g_error_free(error);
- return SCMIRRORING_ERROR_INVALID_OPERATION;
- }
-
- gchar *name = NULL;
- gchar *if_name = NULL;
- gchar *obj_path = NULL;
-
- if (scmirroring->server_name) {
- name = g_strdup_printf("org.tizen.%s.server", scmirroring->server_name);
- if_name = g_strdup_printf("org.tizen.%s.server", scmirroring->server_name);
- obj_path = g_strdup_printf("/org/tizen/%s/server", scmirroring->server_name);
- } else {
- name = g_strdup("org.tizen.scmirroring.server");
- if_name = g_strdup("org.tizen.scmirroring.server");
- obj_path = g_strdup("/org/tizen/scmirroring/server");
- }
-
- scmirroring_debug("Server Name : %s", name);
-
- proxy = g_dbus_proxy_new_sync(conn,
- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,
- NULL,
- name,
- obj_path,
- if_name,
- NULL,
- &error);
- g_free(name);
- g_free(if_name);
- g_free(obj_path);
- g_object_unref(conn);
- if (proxy == NULL) {
- scmirroring_error("g_dbus_proxy_new_sync failed : %s", error->message);
- g_error_free(error);
- return SCMIRRORING_ERROR_INVALID_OPERATION;
- }
-
- reg = g_dbus_proxy_call_sync(proxy, "launch_method", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
- g_object_unref(proxy);
-
- if (reg) {
- g_variant_unref(reg);
- reg = NULL;
- }
- if (error) {
- scmirroring_error("g_dbus_proxy_call_sync failed : %s", error->message);
- g_error_free(error);
- return SCMIRRORING_ERROR_INVALID_OPERATION;
- }
-
- scmirroring_debug("Miracast server is launched successfully");
-
- return ret;
-}
-
/*
* Application - miracast server message
* 1. Response Message from miracast server
if (connect(_scmirroring->sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
/* Once failed to connect, try to launch miracast server */
if (retry == 0) {
- ret = __miracast_server_launch(_scmirroring);
+ ret = _scmirroring_server_launch(_scmirroring->server_name);
if (ret != SCMIRRORING_ERROR_NONE) {
SCMIRRORING_SAFE_G_FREE(_scmirroring->sock_path);
- scmirroring_error("__miracast_server_launch error : %d", ret);
+ scmirroring_error("_scmirroring_server_launch error : %d", ret);
return ret;
}
retry++;
* limitations under the License.
*/
-#include <gio/gio.h>
+#include <unistd.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/socket.h>
return FALSE;
}
-static int __miracast_server_launch(scmirroring_src_s *scmirroring)
-{
- int ret = SCMIRRORING_ERROR_NONE;
- GDBusProxy *proxy = NULL;
- GVariant *reg = NULL;
- GDBusConnection *conn = NULL;
- GError *error = NULL;
-
-#if !GLIB_CHECK_VERSION(2, 35, 0)
- g_type_init();
-#endif
-
- scmirroring_debug("-----------socket connect failed it means server is not yet started------------");
- scmirroring_debug("going to start miracast server");
-
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
- if (error) {
- scmirroring_error("Failed to get dbus connection: %s", error->message);
- g_error_free(error);
- return SCMIRRORING_ERROR_INVALID_OPERATION;
- }
-
- gchar *name = NULL;
- gchar *if_name = NULL;
- gchar *obj_path = NULL;
-
- if (scmirroring->server_name) {
- name = g_strdup_printf("org.tizen.%s.server", scmirroring->server_name);
- if_name = g_strdup_printf("org.tizen.%s.server", scmirroring->server_name);
- obj_path = g_strdup_printf("/org/tizen/%s/server", scmirroring->server_name);
- } else {
- name = g_strdup("org.tizen.scmirroring.server");
- if_name = g_strdup("org.tizen.scmirroring.server");
- obj_path = g_strdup("/org/tizen/scmirroring/server");
- }
-
- scmirroring_debug("Server Name : %s", name);
-
- proxy = g_dbus_proxy_new_sync(conn,
- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,
- NULL,
- name,
- obj_path,
- if_name,
- NULL,
- &error);
- g_free(name);
- g_free(if_name);
- g_free(obj_path);
- g_object_unref(conn);
- if (proxy == NULL) {
- scmirroring_error("g_dbus_proxy_new_sync failed : %s", error->message);
- g_error_free(error);
- return SCMIRRORING_ERROR_INVALID_OPERATION;
- }
-
- reg = g_dbus_proxy_call_sync(proxy, "launch_method", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
- g_object_unref(proxy);
-
- if (reg) {
- g_variant_unref(reg);
- reg = NULL;
- }
- if (error) {
- scmirroring_error("g_dbus_proxy_call_sync failed : %s", error->message);
- g_error_free(error);
- return SCMIRRORING_ERROR_INVALID_OPERATION;
- }
-
- scmirroring_debug("Miracast server is launched successfully");
-
- return ret;
-}
-
/*
* Application - miracast server message
* 1. Response Message from miracast server
if (connect(_scmirroring->sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
/* Once failed to connect, try to launch miracast server */
if (retry == 0) {
- ret = __miracast_server_launch(_scmirroring);
+ ret = _scmirroring_server_launch(_scmirroring->server_name);
if (ret != SCMIRRORING_ERROR_NONE) {
SCMIRRORING_SAFE_G_FREE(_scmirroring->sock_path);
- scmirroring_error("__miracast_server_launch error : %d", ret);
+ scmirroring_error("_scmirroring_server_launch error : %d", ret);
return ret;
}
retry++;
#include <stdio.h>
#include <unistd.h>
+#include <gio/gio.h>
#include <scmirroring_private.h>
scmirroring_error_e _scmirroring_error_convert(const char *func, int error)
return ret;
}
+
+int _scmirroring_server_launch(const char *server_name)
+{
+ int ret = SCMIRRORING_ERROR_NONE;
+ GDBusProxy *proxy = NULL;
+ GVariant *reg = NULL;
+ GDBusConnection *conn = NULL;
+ GError *error = NULL;
+
+#if !GLIB_CHECK_VERSION(2, 35, 0)
+ g_type_init();
+#endif
+
+ scmirroring_debug("-----------socket connect failed it means server is not yet started------------");
+ scmirroring_debug("going to start miracast server");
+
+ conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
+ if (error) {
+ scmirroring_error("Failed to get dbus connection: %s", error->message);
+ g_error_free(error);
+ return SCMIRRORING_ERROR_INVALID_OPERATION;
+ }
+
+ gchar *name = NULL;
+ gchar *if_name = NULL;
+ gchar *obj_path = NULL;
+
+ if (server_name) {
+ name = g_strdup_printf("org.tizen.%s.server", server_name);
+ if_name = g_strdup_printf("org.tizen.%s.server", server_name);
+ obj_path = g_strdup_printf("/org/tizen/%s/server", server_name);
+ } else {
+ name = g_strdup("org.tizen.scmirroring.server");
+ if_name = g_strdup("org.tizen.scmirroring.server");
+ obj_path = g_strdup("/org/tizen/scmirroring/server");
+ }
+
+ scmirroring_debug("Server Name : %s", name);
+
+ proxy = g_dbus_proxy_new_sync(conn,
+ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,
+ NULL,
+ name,
+ obj_path,
+ if_name,
+ NULL,
+ &error);
+ g_free(name);
+ g_free(if_name);
+ g_free(obj_path);
+ g_object_unref(conn);
+ if (proxy == NULL) {
+ scmirroring_error("g_dbus_proxy_new_sync failed : %s", error->message);
+ g_error_free(error);
+ return SCMIRRORING_ERROR_INVALID_OPERATION;
+ }
+
+ reg = g_dbus_proxy_call_sync(proxy, "launch_method", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
+ g_object_unref(proxy);
+
+ if (reg) {
+ g_variant_unref(reg);
+ reg = NULL;
+ }
+ if (error) {
+ scmirroring_error("g_dbus_proxy_call_sync failed : %s", error->message);
+ g_error_free(error);
+ return SCMIRRORING_ERROR_INVALID_OPERATION;
+ }
+
+ scmirroring_debug("Miracast server is launched successfully");
+
+ return ret;
+}
+