Add GDBus method handler for DefaultDnsLookupCheck 06/200506/2
authorYu <jiung.yu@samsung.com>
Mon, 25 Feb 2019 08:34:33 +0000 (17:34 +0900)
committerYu <jiung.yu@samsung.com>
Wed, 27 Feb 2019 08:11:37 +0000 (17:11 +0900)
Change-Id: I3be4c300fab5ebc5a17a67247ebaa82a5749fdfd
Signed-off-by: Yu Jiung <jiung.yu@samsung.com>
include/inm-gdbus.h
include/inm-manager.h
packaging/dbus-inm-manager.conf
src/inm-gdbus.c
src/inm-manager.c

index cf747dd7a3d4c8ddc41401bb63039828b8d14bd6..d90462424e8bd126836cb343d41f539683007f5a 100644 (file)
@@ -149,6 +149,7 @@ void inm_gdbus_emit_ip_conflicted(int state, gchar *if_name, gchar *ip);
 void inm_gdbus_emit_arp_request_result(gboolean found, gchar *ip);
 void inm_gdbus_emit_gateway_check_result(gboolean found, gchar *ip);
 void inm_gdbus_emit_reacher_result(gboolean found, const gchar *url);
+void inm_gdbus_emit_default_dns_lookup_result(gboolean found, const gchar *host_name);
 void inm_gdbus_emit_ethernet_cable_state(gboolean state);
 void inm_gdbus_emit_wifi_module_state(gboolean state);
 void inm_gdbus_emit_retry_tx_rate_changed(int retry_tx_rate);
index 64fd9a9e8d2d785dc65c224925338b27a3084ff3..64fdf1f7b28c4e71df797dbcf3716b55933c0194 100644 (file)
@@ -106,6 +106,7 @@ int inm_manager_remove_reacher_url(const char *url);
 int inm_manager_start_reacher(int type);
 int inm_manager_stop_reacher(int type);
 int inm_manager_get_reacher_is_running(gboolean *is_running);
+int inm_manager_start_default_dns_lookup();
 
 int inm_manager_get_wifi_scan_state(gboolean *state);
 
index 23f6845143f61c78877c7313611910e90357bf86..fa2967353013f777642e68c5efe3adee0bc68861 100644 (file)
@@ -34,6 +34,7 @@
                <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="ArpRequestStop" privilege="http://tizen.org/privilege/network.get" />
                <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="DefaultGatewayStartChecking" privilege="http://tizen.org/privilege/network.get" />
                <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="DefaultGatewayStopChecking" privilege="http://tizen.org/privilege/network.get" />
+               <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="DefaultDnsLookupCheck" privilege="http://tizen.org/privilege/network.get" />
                <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="GetWifiState" privilege="http://tizen.org/privilege/network.get" />
                <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="GetEthernetState" privilege="http://tizen.org/privilege/network.get" />
                <check send_destination="net.inm_manager" send_interface="net.inm_manager" send_member="GetCurrentConnection" privilege="http://tizen.org/privilege/network.get" />
index b817beb6fd01fc3233d57865cf64979949329249..5eb25e41c0dc231f1f243223f89685703bccde73 100644 (file)
@@ -983,6 +983,23 @@ static inline void __handle_reacher_is_running(GVariant *parameters,
        __INM_FUNC_EXIT__;
 }
 
+static inline void __handle_default_dns_lookup(GVariant *parameters,
+               GDBusMethodInvocation *invocation)
+{
+       int ret = INM_MANAGER_ERROR_NONE;
+
+       __INM_FUNC_ENTER__;
+
+       ret = inm_manager_start_default_dns_lookup();
+       if (ret != INM_MANAGER_ERROR_NONE) {
+               __dbus_return_err(ret, invocation);
+               return;
+       }
+
+       g_dbus_method_invocation_return_value(invocation, NULL);
+       __INM_FUNC_EXIT__;
+}
+
 static inline void __handle_get_links(GVariant *parameters,
                                            GDBusMethodInvocation *invocation)
 {
@@ -1067,6 +1084,8 @@ static void __daemon_method_call(GDBusConnection *connection,
                __handle_stop_reacher(parameters, invocation);
        else if (g_strcmp0(method_name, "ReacherIsRunning") == 0)
                __handle_reacher_is_running(parameters, invocation);
+       else if (g_strcmp0(method_name, "DefaultDnsLookupCheck") == 0)
+               __handle_default_dns_lookup(parameters, invocation);
        else if (g_strcmp0(method_name, "GetLinks") == 0)
                __handle_get_links(parameters, invocation);
 }
@@ -1164,6 +1183,26 @@ void inm_gdbus_emit_reacher_result(gboolean found, const gchar *url)
        __INM_FUNC_EXIT__;
 }
 
+void inm_gdbus_emit_default_dns_lookup_result(gboolean found, const gchar *host_name)
+{
+       GVariantBuilder *builder = NULL;
+
+       __INM_FUNC_ENTER__;
+
+       builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
+       g_variant_builder_add(builder, "{sv}", "Result", g_variant_new_boolean(found));
+
+       inm_gdbus_emit_signal(NULL,
+                       INM_MANAGER_OBJ,
+                       INM_MANAGER_SERVICE,
+                       "DefaultDnsLookupResult",
+                       g_variant_new("(a{sv})",
+                                       builder));
+
+       g_variant_builder_unref(builder);
+       __INM_FUNC_EXIT__;
+}
+
 void inm_gdbus_emit_ethernet_cable_state(gboolean state)
 {
        GVariantBuilder *builder = NULL;
@@ -1479,6 +1518,8 @@ static void __init_daemon_introspection()
                        "<method name='ReacherIsRunning'>"
                                "<arg type='b' name='is_running' direction='out'/>"
                                "</method>"
+                       "<method name='DefaultDnsLookupCheck'>"
+                               "</method>"
                        "<method name='GetLinks'>"
                                "<arg type='a(ia{sv})' name='links' direction='out'/>"
                                "</method>"
index 30ba3121840375afc0adbca9acf0e069d0938674..137fc7e75689a0743540ae8ef92e60b34b9495d6 100644 (file)
@@ -559,6 +559,13 @@ int inm_manager_get_reacher_is_running(gboolean *is_running)
        return INM_MANAGER_ERROR_NONE;
 }
 
+int inm_manager_start_default_dns_lookup()
+{
+       __INM_FUNC_ENTER__;
+
+       __INM_FUNC_EXIT__;
+       return INM_MANAGER_ERROR_NONE;
+}
 
 int inm_manager_get_wifi_scan_state(gboolean *state)
 {