OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 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/handle_attachment_win.h" | 5 #include "ipc/handle_attachment_win.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 | 8 |
9 namespace IPC { | 9 namespace IPC { |
10 namespace internal { | 10 namespace internal { |
11 | 11 |
12 HandleAttachmentWin::HandleAttachmentWin(const HANDLE& handle) | 12 HandleAttachmentWin::HandleAttachmentWin(const HANDLE& handle) |
13 : handle_(handle) { | 13 : handle_(handle) { |
14 } | 14 } |
15 | 15 |
| 16 HandleAttachmentWin::HandleAttachmentWin(const WireFormat& wire_format) |
| 17 : BrokerableAttachment(wire_format.attachment_id), |
| 18 handle_(LongToHandle(wire_format.handle)) { |
| 19 } |
| 20 |
16 HandleAttachmentWin::~HandleAttachmentWin() { | 21 HandleAttachmentWin::~HandleAttachmentWin() { |
17 } | 22 } |
18 | 23 |
19 HandleAttachmentWin::BrokerableType HandleAttachmentWin::GetBrokerableType() | 24 HandleAttachmentWin::BrokerableType HandleAttachmentWin::GetBrokerableType() |
20 const { | 25 const { |
21 return WIN_HANDLE; | 26 return WIN_HANDLE; |
22 } | 27 } |
23 | 28 |
24 HandleAttachmentWin::WireFormat HandleAttachmentWin::GetWireFormat( | 29 HandleAttachmentWin::WireFormat HandleAttachmentWin::GetWireFormat( |
25 const base::ProcessId& destination) const { | 30 const base::ProcessId& destination) const { |
26 WireFormat format; | 31 WireFormat format; |
27 format.handle = HandleToLong(handle_); | 32 format.handle = HandleToLong(handle_); |
28 format.attachment_id = GetIdentifier(); | 33 format.attachment_id = GetIdentifier(); |
29 format.destination_process = destination; | 34 format.destination_process = destination; |
30 return format; | 35 return format; |
31 } | 36 } |
32 | 37 |
33 } // namespace internal | 38 } // namespace internal |
34 } // namespace IPC | 39 } // namespace IPC |
OLD | NEW |