// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SUGGESTIONS_IMAGE_MANAGER_H_ #define COMPONENTS_SUGGESTIONS_IMAGE_MANAGER_H_ #include "base/basictypes.h" #include "base/callback.h" #include "components/suggestions/proto/suggestions.pb.h" #include "ui/gfx/image/image_skia.h" #include "url/gurl.h" namespace suggestions { // An interface to retrieve images related to a specific URL. class ImageManager { public: ImageManager() {} virtual ~ImageManager() {} // (Re)Initializes states using data received from a SuggestionService. We're // not doing this in the constructor because an instance may be long-lived. virtual void Initialize(const SuggestionsProfile& suggestions) = 0; // Retrieves stored image for website |url| asynchronously. Calls |callback| // with Bitmap pointer if found, and NULL otherwise. virtual void GetImageForURL( const GURL& url, base::Callback<void(const GURL&, const SkBitmap*)> callback) = 0; private: DISALLOW_COPY_AND_ASSIGN(ImageManager); }; } // namespace suggestions #endif // COMPONENTS_SUGGESTIONS_IMAGE_MANAGER_H_