int connman_resolver_append_public_server(const char *server);
int connman_resolver_remove_public_server(const char *server);
+void connman_resolver_flush(void);
+
#define CONNMAN_RESOLVER_PRIORITY_LOW -100
#define CONNMAN_RESOLVER_PRIORITY_DEFAULT 0
#define CONNMAN_RESOLVER_PRIORITY_HIGH 100
const char *server);
int (*remove) (const char *interface, const char *domain,
const char *server);
+ void (*flush) (void);
};
int connman_resolver_register(struct connman_resolver *resolver);
return connman_resolver_remove(NULL, NULL, server);
}
+/**
+ * connman_resolver_flush:
+ *
+ * Flush pending resolver requests
+ */
+void connman_resolver_flush(void)
+{
+ GSList *list;
+
+ for (list = resolver_list; list; list = list->next) {
+ struct connman_resolver *resolver = list->data;
+
+ if (resolver->flush == NULL)
+ continue;
+
+ resolver->flush();
+ }
+
+ return;
+}
+
static int selftest_append(const char *interface, const char *domain,
const char *server)
{
service->nameservers[i]);
} else if (service->nameserver != NULL)
connman_resolver_append(ifname, NULL, service->nameserver);
+
+ connman_resolver_flush();
}
void __connman_service_append_nameserver(struct connman_service *service,