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

Unified Diff: ipc/attachment_broker_win.h

Issue 1205713002: Make attachment broker a subclass of IPC::Listener. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@attachment_broker3_listener_base
Patch Set: Update copyright date. Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ipc/attachment_broker_messages.h ('k') | ipc/attachment_broker_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ipc/attachment_broker_win.h
diff --git a/ipc/attachment_broker_win.h b/ipc/attachment_broker_win.h
index 1cf4348b68120406934172713abd6b8188a1b752..5df2c9a2395b9fcba21d7d53307db751112d7148 100644
--- a/ipc/attachment_broker_win.h
+++ b/ipc/attachment_broker_win.h
@@ -5,7 +5,12 @@
#ifndef IPC_ATTACHMENT_BROKER_WIN_H_
#define IPC_ATTACHMENT_BROKER_WIN_H_
+#include <vector>
+
+#include "base/gtest_prod_util.h"
+#include "base/memory/ref_counted.h"
#include "ipc/attachment_broker.h"
+#include "ipc/handle_attachment_win.h"
#include "ipc/ipc_export.h"
namespace IPC {
@@ -29,11 +34,28 @@ class IPC_EXPORT AttachmentBrokerWin : public IPC::AttachmentBroker {
bool GetAttachmentWithId(BrokerableAttachment::AttachmentId id,
BrokerableAttachment* attachment) override;
+ // IPC::Listener overrides.
+ bool OnMessageReceived(const Message& message) override;
+
// |sender_| is used to send Messages to the broker. |sender_| must live at
// least as long as this instance.
void set_sender(IPC::Sender* sender) { sender_ = sender; }
private:
+ FRIEND_TEST_ALL_PREFIXES(AttachmentBrokerWinTest, ReceiveValidMessage);
+ FRIEND_TEST_ALL_PREFIXES(AttachmentBrokerWinTest, ReceiveInvalidMessage);
+
+ // IPC message handlers.
+ void OnWinHandleHasBeenDuplicated(
+ const IPC::internal::HandleAttachmentWin::WireFormat& wire_format);
+
+ // A vector of BrokerableAttachments that have been received, but not yet
+ // consumed.
+ // A std::vector is used instead of a std::map because this container is
+ // expected to have few elements, for which a std::vector is expected to have
+ // better performance.
+ std::vector<scoped_refptr<BrokerableAttachment>> attachments_;
+
// |sender_| is used to send Messages to the broker. |sender_| must live at
// least as long as this instance.
IPC::Sender* sender_;
« no previous file with comments | « ipc/attachment_broker_messages.h ('k') | ipc/attachment_broker_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698