Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: mojo/services/network/network_service_impl.cc

Issue 1873463003: Remove mojo network service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/services/network/network_service_impl.h ('k') | mojo/services/network/public/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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 #include "mojo/services/network/network_service_impl.h"
6
7 #include <utility>
8
9 #include "mojo/services/network/http_server_impl.h"
10 #include "mojo/services/network/net_adapters.h"
11 #include "mojo/services/network/tcp_bound_socket_impl.h"
12 #include "mojo/services/network/udp_socket_impl.h"
13 #include "mojo/services/network/url_loader_impl.h"
14 #include "net/base/mime_util.h"
15
16 namespace mojo {
17
18 NetworkServiceImpl::NetworkServiceImpl(
19 scoped_ptr<mojo::MessageLoopRef> app_refcount,
20 InterfaceRequest<NetworkService> request)
21 : app_refcount_(std::move(app_refcount)),
22 binding_(this, std::move(request)) {}
23
24 NetworkServiceImpl::~NetworkServiceImpl() {
25 }
26
27 void NetworkServiceImpl::CreateTCPBoundSocket(
28 NetAddressPtr local_address,
29 InterfaceRequest<TCPBoundSocket> bound_socket,
30 const CreateTCPBoundSocketCallback& callback) {
31 scoped_ptr<TCPBoundSocketImpl> bound(
32 new TCPBoundSocketImpl(app_refcount_->Clone(), std::move(bound_socket)));
33 int net_error = bound->Bind(std::move(local_address));
34 if (net_error != net::OK) {
35 callback.Run(MakeNetworkError(net_error), NetAddressPtr());
36 return;
37 }
38 ignore_result(bound.release()); // Strongly owned by the message pipe.
39 NetAddressPtr resulting_local_address(bound->GetLocalAddress());
40 callback.Run(MakeNetworkError(net::OK), std::move(resulting_local_address));
41 }
42
43 void NetworkServiceImpl::CreateTCPConnectedSocket(
44 NetAddressPtr remote_address,
45 ScopedDataPipeConsumerHandle send_stream,
46 ScopedDataPipeProducerHandle receive_stream,
47 InterfaceRequest<TCPConnectedSocket> client_socket,
48 const CreateTCPConnectedSocketCallback& callback) {
49 // TODO(brettw) implement this. We need to know what type of socket to use
50 // so we can create the right one (i.e. to pass to TCPSocket::Open) before
51 // doing the connect.
52 callback.Run(MakeNetworkError(net::ERR_NOT_IMPLEMENTED), NetAddressPtr());
53 }
54
55 void NetworkServiceImpl::CreateUDPSocket(InterfaceRequest<UDPSocket> request) {
56 // The lifetime of this UDPSocketImpl is bound to that of the underlying pipe.
57 new UDPSocketImpl(std::move(request), app_refcount_->Clone());
58 }
59
60 void NetworkServiceImpl::CreateHttpServer(
61 NetAddressPtr local_address,
62 HttpServerDelegatePtr delegate,
63 const CreateHttpServerCallback& callback) {
64 HttpServerImpl::Create(std::move(local_address), std::move(delegate),
65 app_refcount_->Clone(), callback);
66 }
67
68 void NetworkServiceImpl::GetMimeTypeFromFile(
69 const mojo::String& file_path,
70 const GetMimeTypeFromFileCallback& callback) {
71 std::string mime;
72 net::GetMimeTypeFromFile(
73 base::FilePath::FromUTF8Unsafe(file_path.To<std::string>()), &mime);
74 callback.Run(mime);
75 }
76
77 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/network/network_service_impl.h ('k') | mojo/services/network/public/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698