blob: a47e2734dc74cfc217d97b098056fed5880decac [file] [log] [blame]
Benjamin Lerman5d429aa2015-05-07 16:21:00 +02001// Copyright 2014 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 SHELL_URL_RESPONSE_DISK_CACHE_LOADER_H_
6#define SHELL_URL_RESPONSE_DISK_CACHE_LOADER_H_
7
8#include "base/macros.h"
9#include "base/memory/scoped_ptr.h"
Benjamin Lermana9579a92015-07-28 10:30:26 +020010#include "base/task_runner.h"
Benjamin Lerman5d429aa2015-05-07 16:21:00 +020011#include "mojo/public/cpp/application/application_impl.h"
12#include "services/url_response_disk_cache/url_response_disk_cache_app.h"
13#include "shell/application_manager/application_loader.h"
14
15namespace shell {
16
17class URLResponseDiskCacheLoader : public ApplicationLoader {
18 public:
Benjamin Lermanc440c742015-09-28 13:52:53 +020019 URLResponseDiskCacheLoader(scoped_refptr<base::TaskRunner> task_runner,
20 mojo::URLResponseDiskCacheDelegate* delegate);
Benjamin Lerman5d429aa2015-05-07 16:21:00 +020021 ~URLResponseDiskCacheLoader() override;
22
23 private:
24 // ApplicationLoader overrides:
25 void Load(
26 const GURL& url,
27 mojo::InterfaceRequest<mojo::Application> application_request) override;
28
29 mojo::URLResponseDiskCacheApp url_response_disk_cache_;
30 scoped_ptr<mojo::ApplicationImpl> application_;
31
32 DISALLOW_COPY_AND_ASSIGN(URLResponseDiskCacheLoader);
33};
34
35} // namespace shell
36
37#endif // SHELL_URL_RESPONSE_DISK_CACHE_LOADER_H_