1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef COMPONENTS_PRECACHE_CORE_URL_LIST_PROVIDER_H_ 6 #define COMPONENTS_PRECACHE_CORE_URL_LIST_PROVIDER_H_ 7 8 #include <list> 9 10 #include "base/callback.h" 11 #include "url/gurl.h" 12 13 namespace precache { 14 15 // Interface for classes that can provide a list of URLs. 16 class URLListProvider { 17 public: 18 typedef base::Callback<void(const std::list<GURL>&)> GetURLsCallback; 19 20 // Runs |callback| with a list of URLs. |callback| may be run before the call 21 // to GetURLs returns. |callback| will be run on the same thread that this 22 // method was called on. 23 virtual void GetURLs(const GetURLsCallback& callback) = 0; 24 }; 25 26 } // namespace precache 27 28 #endif // COMPONENTS_PRECACHE_CORE_URL_LIST_PROVIDER_H_ 29