Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / mojo / services / network / url_loader_factory_impl.h
blob1d6c7c6dcc2a78080ea9dbaa3b67109b377558a4
1 // Copyright 2015 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.
5 #ifndef MOJO_SERVICES_NETWORK_URL_LOADER_FACTORY_IMPL_H_
6 #define MOJO_SERVICES_NETWORK_URL_LOADER_FACTORY_IMPL_H_
8 #include "base/compiler_specific.h"
9 #include "mojo/application/public/cpp/app_lifetime_helper.h"
10 #include "mojo/services/network/public/interfaces/url_loader_factory.mojom.h"
11 #include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h"
13 namespace mojo {
14 class NetworkContext;
16 class URLLoaderFactoryImpl : public URLLoaderFactory {
17 public:
18 URLLoaderFactoryImpl(NetworkContext* context,
19 scoped_ptr<mojo::AppRefCount> app_refcount,
20 InterfaceRequest<URLLoaderFactory> request);
21 ~URLLoaderFactoryImpl() override;
23 // URLLoaderFactory methods:
24 void CreateURLLoader(InterfaceRequest<URLLoader> loader) override;
26 private:
27 NetworkContext* context_;
28 scoped_ptr<mojo::AppRefCount> app_refcount_;
29 StrongBinding<URLLoaderFactory> binding_;
31 DISALLOW_COPY_AND_ASSIGN(URLLoaderFactoryImpl);
34 } // namespace mojo
36 #endif // MOJO_SERVICES_NETWORK_URL_LOADER_FACTORY_IMPL_H_