service: Add function to manipulate DNS search domains
authorJukka Rissanen <jukka.rissanen@linux.intel.com>
Fri, 22 Feb 2013 11:47:51 +0000 (13:47 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 22 Feb 2013 12:43:12 +0000 (14:43 +0200)
src/connman.h
src/service.c

index 617d62a..2001875 100644 (file)
@@ -605,6 +605,8 @@ int __connman_service_set_ignore(struct connman_service *service,
                                                connman_bool_t ignore);
 void __connman_service_set_userconnect(struct connman_service *service,
                                                connman_bool_t userconnect);
+void __connman_service_set_search_domains(struct connman_service *service,
+                                       char **domains);
 
 void __connman_service_set_string(struct connman_service *service,
                                        const char *key, const char *value);
index f375c72..236879e 100644 (file)
@@ -4748,6 +4748,25 @@ void __connman_service_set_userconnect(struct connman_service *service,
                service->userconnect = userconnect;
 }
 
+void __connman_service_set_search_domains(struct connman_service *service,
+                                       char **domains)
+{
+       int index;
+
+       index = __connman_service_get_index(service);
+       if (index < 0)
+               return;
+
+       if (service->domains != NULL) {
+               remove_searchdomains(service, index, service->domains);
+               g_strfreev(service->domains);
+
+               service->domains = g_strdupv(domains);
+
+               update_nameservers(service);
+       }
+}
+
 static void service_complete(struct connman_service *service)
 {
        reply_pending(service, EIO);