1// 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 MOJO_SERVICES_NETWORK_NETWORK_SERVICE_IMPL_H_
6#define MOJO_SERVICES_NETWORK_NETWORK_SERVICE_IMPL_H_
7
8#include "base/compiler_specific.h"
9#include "mojo/public/cpp/bindings/interface_impl.h"
10#include "mojo/services/public/interfaces/network/network_service.mojom.h"
11#include "url/gurl.h"
12
13namespace mojo {
14class ApplicationConnection;
15class NetworkContext;
16
17class NetworkServiceImpl : public InterfaceImpl<NetworkService> {
18 public:
19  NetworkServiceImpl(ApplicationConnection* connection,
20                     NetworkContext* context);
21  virtual ~NetworkServiceImpl();
22
23  // NetworkService methods:
24  virtual void CreateURLLoader(InterfaceRequest<URLLoader> loader) OVERRIDE;
25  virtual void GetCookieStore(InterfaceRequest<CookieStore> store) OVERRIDE;
26  virtual void CreateWebSocket(InterfaceRequest<WebSocket> socket) OVERRIDE;
27
28 private:
29  NetworkContext* context_;
30  GURL origin_;
31};
32
33}  // namespace mojo
34
35#endif  // MOJO_SERVICES_NETWORK_NETWORK_SERVICE_IMPL_H_
36