OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ | 5 #ifndef IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ |
6 #define IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ | 6 #define IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 // support close flags. | 52 // support close flags. |
53 // returns: an attachment, or nullptr on error | 53 // returns: an attachment, or nullptr on error |
54 scoped_refptr<MessageAttachment> GetAttachmentAt(unsigned index); | 54 scoped_refptr<MessageAttachment> GetAttachmentAt(unsigned index); |
55 | 55 |
56 // This must be called after transmitting the descriptors returned by | 56 // This must be called after transmitting the descriptors returned by |
57 // PeekDescriptors. It marks all the descriptors as consumed and closes those | 57 // PeekDescriptors. It marks all the descriptors as consumed and closes those |
58 // which are auto-close. | 58 // which are auto-close. |
59 void CommitAll(); | 59 void CommitAll(); |
60 | 60 |
61 // Returns a vector of all brokerable attachments. | 61 // Returns a vector of all brokerable attachments. |
62 std::vector<const BrokerableAttachment*> PeekBrokerableAttachments() const; | 62 std::vector<BrokerableAttachment*> GetBrokerableAttachments() const; |
63 | 63 |
64 // Replaces a placeholder brokerable attachment with |attachment|, matching | 64 // Replaces a placeholder brokerable attachment with |attachment|, matching |
65 // them by their id. | 65 // them by their id. |
66 void ReplacePlaceholderWithAttachment( | 66 void ReplacePlaceholderWithAttachment( |
67 const scoped_refptr<BrokerableAttachment>& attachment); | 67 const scoped_refptr<BrokerableAttachment>& attachment); |
68 | 68 |
69 #if defined(OS_POSIX) | 69 #if defined(OS_POSIX) |
70 // This is the maximum number of descriptors per message. We need to know this | 70 // This is the maximum number of descriptors per message. We need to know this |
71 // because the control message kernel interface has to be given a buffer which | 71 // because the control message kernel interface has to be given a buffer which |
72 // is large enough to store all the descriptor numbers. Otherwise the kernel | 72 // is large enough to store all the descriptor numbers. Otherwise the kernel |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 // all the descriptors have been read (with GetNthDescriptor). Secondly, we | 119 // all the descriptors have been read (with GetNthDescriptor). Secondly, we |
120 // can check that they are read in order. | 120 // can check that they are read in order. |
121 mutable unsigned consumed_descriptor_highwater_; | 121 mutable unsigned consumed_descriptor_highwater_; |
122 | 122 |
123 DISALLOW_COPY_AND_ASSIGN(MessageAttachmentSet); | 123 DISALLOW_COPY_AND_ASSIGN(MessageAttachmentSet); |
124 }; | 124 }; |
125 | 125 |
126 } // namespace IPC | 126 } // namespace IPC |
127 | 127 |
128 #endif // IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ | 128 #endif // IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ |
OLD | NEW |