Index: ipc/brokerable_attachment.h |
diff --git a/ipc/brokerable_attachment.h b/ipc/brokerable_attachment.h |
index 452d1297aa9df2cfdaa173652131b5f7a944d407..cad6f4d212b6949d7574d7575755ba38da91f4df 100644 |
--- a/ipc/brokerable_attachment.h |
+++ b/ipc/brokerable_attachment.h |
@@ -22,6 +22,15 @@ class IPC_EXPORT BrokerableAttachment : public MessageAttachment { |
struct IPC_EXPORT AttachmentId { |
uint8_t nonce[kNonceSize]; |
+ // Default constructor returns a random nonce. |
+ AttachmentId(); |
+ |
+ // Constructs an AttachmentId from a buffer. |
+ AttachmentId(const char* start_address, size_t size); |
+ |
+ // Writes the nonce into a buffer. |
+ void SerializeToBuffer(char* start_address, size_t size); |
+ |
bool operator==(const AttachmentId& rhs) const { |
for (size_t i = 0; i < kNonceSize; ++i) { |
if (nonce[i] != rhs.nonce[i]) |
@@ -42,6 +51,7 @@ class IPC_EXPORT BrokerableAttachment : public MessageAttachment { |
}; |
enum BrokerableType { |
+ PLACEHOLDER, |
WIN_HANDLE, |
}; |
@@ -52,31 +62,26 @@ class IPC_EXPORT BrokerableAttachment : public MessageAttachment { |
// can be used. |
bool NeedsBrokering() const; |
- // Fills in the data of this instance with the data from |attachment|. |
- // This instance must require brokering, |attachment| must be brokered, and |
- // both instances must have the same identifier. |
- virtual void PopulateWithAttachment( |
- const BrokerableAttachment* attachment) = 0; |
- |
// Returns TYPE_BROKERABLE_ATTACHMENT |
Type GetType() const override; |
virtual BrokerableType GetBrokerableType() const = 0; |
+// MessageAttachment override. |
+#if defined(OS_POSIX) |
+ base::PlatformFile TakePlatformFile() override; |
+#endif // OS_POSIX |
+ |
protected: |
BrokerableAttachment(); |
- BrokerableAttachment(const AttachmentId& id, bool needs_brokering); |
+ BrokerableAttachment(const AttachmentId& id); |
~BrokerableAttachment() override; |
- void SetNeedsBrokering(bool needs_brokering); |
- |
private: |
// This member uniquely identifies a BrokerableAttachment across all Chrome |
// processes. |
const AttachmentId id_; |
- // Whether the attachment still needs to be filled in by an AttachmentBroker. |
- bool needs_brokering_; |
DISALLOW_COPY_AND_ASSIGN(BrokerableAttachment); |
}; |