gboolean purpleDNS::Resolve(PurpleDnsQueryData *query_data, PurpleDnsQueryResolvedCallback resolved_cb, PurpleDnsQueryFailedCallback failed_cb) { NS_ENSURE_TRUE(!NS_IsOffline(), false); nsCString host(purple_dnsquery_get_host(query_data)); LOG(("Resolving with moz: %s", host.get())); NS_ENSURE_TRUE(sRequests, false); nsCOMPtr<nsIDNSService> dns = do_GetService("@mozilla.org/network/dns-service;1"); nsCOMPtr<nsIDNSRecord> record; nsCOMPtr<nsICancelable> cancelable; nsCOMPtr<nsIThread> thread = do_GetMainThread(); nsCOMPtr<purpleDNSRequest> listener; listener = new purpleDNSRequest(); listener->mAccountId = purpleAccountScoper::GetCurrentAccountId(); listener->query_data = query_data; listener->resolved_cb = resolved_cb; listener->failed_cb = failed_cb; nsresult rv = dns->AsyncResolve(host, 0, listener, thread, getter_AddRefs(listener->asyncResolv)); NS_ENSURE_SUCCESS(rv, false);// The request wasn't handled. sRequests->AppendObject(listener); return true; // We handle the request, libpurple shouldn't try to do it. }
NS_IMETHODIMP Navigator::GetOnLine(bool* aOnline) { NS_PRECONDITION(aOnline, "Null out param"); *aOnline = !NS_IsOffline(); return NS_OK; }
bool Navigator::OnLine() { return !NS_IsOffline(); }