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 #include "ipc/handle_attachment_win.h"
12 HandleAttachmentWin::HandleAttachmentWin(const HANDLE
& handle
,
13 HandleWin::Permissions permissions
)
14 : handle_(handle
), permissions_(permissions
) {}
16 HandleAttachmentWin::HandleAttachmentWin(const WireFormat
& wire_format
)
17 : BrokerableAttachment(wire_format
.attachment_id
),
18 handle_(LongToHandle(wire_format
.handle
)),
19 permissions_(wire_format
.permissions
) {}
21 HandleAttachmentWin::HandleAttachmentWin(
22 const BrokerableAttachment::AttachmentId
& id
)
23 : BrokerableAttachment(id
),
24 handle_(INVALID_HANDLE_VALUE
),
25 permissions_(HandleWin::INVALID
) {}
27 HandleAttachmentWin::~HandleAttachmentWin() {
30 HandleAttachmentWin::BrokerableType
HandleAttachmentWin::GetBrokerableType()
35 HandleAttachmentWin::WireFormat
HandleAttachmentWin::GetWireFormat(
36 const base::ProcessId
& destination
) const {
38 format
.handle
= HandleToLong(handle_
);
39 format
.attachment_id
= GetIdentifier();
40 format
.destination_process
= destination
;
41 format
.permissions
= permissions_
;
45 } // namespace internal