OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ipc/ipc_channel_factory.h" | 5 #include "ipc/ipc_channel_factory.h" |
6 | 6 |
7 namespace IPC { | 7 namespace IPC { |
8 | 8 |
9 namespace { | 9 namespace { |
10 | 10 |
11 class PlatformChannelFactory : public ChannelFactory { | 11 class PlatformChannelFactory : public ChannelFactory { |
12 public: | 12 public: |
13 PlatformChannelFactory(ChannelHandle handle, | 13 PlatformChannelFactory(ChannelHandle handle, |
14 Channel::Mode mode) | 14 Channel::Mode mode, |
15 : handle_(handle), mode_(mode) { | 15 AttachmentBroker* broker) |
16 } | 16 : handle_(handle), mode_(mode), broker_(broker) {} |
17 | 17 |
18 std::string GetName() const override { | 18 std::string GetName() const override { |
19 return handle_.name; | 19 return handle_.name; |
20 } | 20 } |
21 | 21 |
22 scoped_ptr<Channel> BuildChannel(Listener* listener) override { | 22 scoped_ptr<Channel> BuildChannel(Listener* listener) override { |
23 return Channel::Create(handle_, mode_, listener); | 23 return Channel::Create(handle_, mode_, listener, broker_); |
24 } | 24 } |
25 | 25 |
26 private: | 26 private: |
27 ChannelHandle handle_; | 27 ChannelHandle handle_; |
28 Channel::Mode mode_; | 28 Channel::Mode mode_; |
| 29 AttachmentBroker* broker_; |
29 | 30 |
30 DISALLOW_COPY_AND_ASSIGN(PlatformChannelFactory); | 31 DISALLOW_COPY_AND_ASSIGN(PlatformChannelFactory); |
31 }; | 32 }; |
32 | 33 |
33 } // namespace | 34 } // namespace |
34 | 35 |
35 // static | 36 // static |
36 scoped_ptr<ChannelFactory> ChannelFactory::Create( | 37 scoped_ptr<ChannelFactory> ChannelFactory::Create(const ChannelHandle& handle, |
37 const ChannelHandle& handle, Channel::Mode mode) { | 38 Channel::Mode mode, |
38 return scoped_ptr<ChannelFactory>(new PlatformChannelFactory(handle, mode)); | 39 AttachmentBroker* broker) { |
| 40 return scoped_ptr<ChannelFactory>( |
| 41 new PlatformChannelFactory(handle, mode, broker)); |
39 } | 42 } |
40 | 43 |
41 } // namespace IPC | 44 } // namespace IPC |
OLD | NEW |