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 #ifndef IPC_ATTACHMENT_BROKER_UNPRIVILEGED_WIN_H_
6 #define IPC_ATTACHMENT_BROKER_UNPRIVILEGED_WIN_H_
8 #include "ipc/attachment_broker_unprivileged.h"
9 #include "ipc/handle_attachment_win.h"
10 #include "ipc/ipc_export.h"
14 class BrokerableAttachment
;
16 // This class is an implementation of AttachmentBroker for the Windows platform
17 // for non-privileged processes.
18 class IPC_EXPORT AttachmentBrokerUnprivilegedWin
19 : public IPC::AttachmentBrokerUnprivileged
{
21 AttachmentBrokerUnprivilegedWin();
22 ~AttachmentBrokerUnprivilegedWin() override
;
24 // IPC::AttachmentBroker overrides.
25 bool SendAttachmentToProcess(const BrokerableAttachment
* attachment
,
26 base::ProcessId destination_process
) override
;
28 // IPC::Listener overrides.
29 bool OnMessageReceived(const Message
& message
) override
;
32 // IPC message handlers.
33 void OnWinHandleHasBeenDuplicated(
34 const IPC::internal::HandleAttachmentWin::WireFormat
& wire_format
);
36 DISALLOW_COPY_AND_ASSIGN(AttachmentBrokerUnprivilegedWin
);
41 #endif // IPC_ATTACHMENT_BROKER_UNPRIVILEGED_WIN_H_