AsyncUrlChannelClassifier.h (906B)
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim:set expandtab ts=4 sw=2 sts=2 cin: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_net_AsyncUrlChannelClassifier_h 8 #define mozilla_net_AsyncUrlChannelClassifier_h 9 10 #include "nsISupports.h" 11 #include <functional> 12 13 class nsIChannel; 14 15 namespace mozilla { 16 namespace net { 17 18 class AsyncUrlChannelClassifier final { 19 public: 20 // Warm up the classifier, i.e. launch the classifier thread and load the DB. 21 static void WarmUp(); 22 23 static nsresult CheckChannel(nsIChannel* aChannel, 24 std::function<void()>&& aCallback); 25 }; 26 27 } // namespace net 28 } // namespace mozilla 29 30 #endif // mozilla_net_AsyncUrlChannelClassifier_h