Index: ipc/ipc_message_attachment_set.h |
diff --git a/ipc/file_descriptor_set_posix.h b/ipc/ipc_message_attachment_set.h |
similarity index 87% |
rename from ipc/file_descriptor_set_posix.h |
rename to ipc/ipc_message_attachment_set.h |
index d454962e84fcf14e62f689551f1cbc0125992c3c..a257dd00a88f26e4e7ded7d87bdfb6b20a630155 100644 |
--- a/ipc/file_descriptor_set_posix.h |
+++ b/ipc/ipc_message_attachment_set.h |
@@ -2,27 +2,38 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef IPC_FILE_DESCRIPTOR_SET_POSIX_H_ |
-#define IPC_FILE_DESCRIPTOR_SET_POSIX_H_ |
+#ifndef IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ |
+#define IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ |
#include <vector> |
#include "base/basictypes.h" |
-#include "base/files/file.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_vector.h" |
#include "ipc/ipc_export.h" |
+#if defined(OS_POSIX) |
+#include "base/files/file.h" |
+#endif |
+ |
+namespace IPC { |
+ |
// ----------------------------------------------------------------------------- |
-// A FileDescriptorSet is an ordered set of POSIX file descriptors. These are |
+// A MessageAttachmentSet is an ordered set of POSIX file descriptors. These are |
// associated with IPC messages so that descriptors can be transmitted over a |
// UNIX domain socket. |
// ----------------------------------------------------------------------------- |
-class IPC_EXPORT FileDescriptorSet |
- : public base::RefCountedThreadSafe<FileDescriptorSet> { |
+class IPC_EXPORT MessageAttachmentSet |
+ : public base::RefCountedThreadSafe<MessageAttachmentSet> { |
public: |
- FileDescriptorSet(); |
+ MessageAttachmentSet(); |
+ // Return the number of descriptors |
+ unsigned size() const; |
+ // Return true if no unconsumed descriptors remain |
+ bool empty() const { return 0 == size(); } |
+ |
+#if defined(OS_POSIX) |
// This is the maximum number of descriptors per message. We need to know this |
// because the control message kernel interface has to be given a buffer which |
// is large enough to store all the descriptor numbers. Otherwise the kernel |
@@ -30,7 +41,7 @@ class IPC_EXPORT FileDescriptorSet |
// lost. |
// |
// In debugging mode, it's a fatal error to try and add more than this number |
- // of descriptors to a FileDescriptorSet. |
+ // of descriptors to a MessageAttachmentSet. |
static const size_t kMaxDescriptorsPerMessage = 7; |
// --------------------------------------------------------------------------- |
@@ -43,15 +54,9 @@ class IPC_EXPORT FileDescriptorSet |
bool AddToOwn(base::ScopedFD fd); |
// --------------------------------------------------------------------------- |
- |
- |
// --------------------------------------------------------------------------- |
// Interfaces for accessing during message deserialisation... |
- // Return the number of descriptors |
- unsigned size() const { return descriptors_.size(); } |
- // Return true if no unconsumed descriptors remain |
- bool empty() const { return 0 == size(); } |
// Take the nth descriptor from the beginning of the set, |
// transferring the ownership of the descriptor taken. Code using this |
// /must/ access the descriptors in order, and must do it at most once. |
@@ -63,7 +68,6 @@ class IPC_EXPORT FileDescriptorSet |
// --------------------------------------------------------------------------- |
- |
// --------------------------------------------------------------------------- |
// Interfaces for transmission... |
@@ -84,7 +88,6 @@ class IPC_EXPORT FileDescriptorSet |
// --------------------------------------------------------------------------- |
- |
// --------------------------------------------------------------------------- |
// Interfaces for receiving... |
@@ -93,19 +96,23 @@ class IPC_EXPORT FileDescriptorSet |
// unconsumed descriptors are closed on destruction. |
void AddDescriptorsToOwn(const base::PlatformFile* buffer, unsigned count); |
+#endif // OS_POSIX |
+ |
// --------------------------------------------------------------------------- |
private: |
- friend class base::RefCountedThreadSafe<FileDescriptorSet>; |
+ friend class base::RefCountedThreadSafe<MessageAttachmentSet>; |
- ~FileDescriptorSet(); |
+ ~MessageAttachmentSet(); |
+#if defined(OS_POSIX) |
// A vector of descriptors and close flags. If this message is sent, then |
// these descriptors are sent as control data. After sending, any descriptors |
// with a true flag are closed. If this message has been received, then these |
// are the descriptors which were received and all close flags are true. |
std::vector<base::PlatformFile> descriptors_; |
ScopedVector<base::ScopedFD> owned_descriptors_; |
+#endif |
// This contains the index of the next descriptor which should be consumed. |
// It's used in a couple of ways. Firstly, at destruction we can check that |
@@ -113,7 +120,9 @@ class IPC_EXPORT FileDescriptorSet |
// can check that they are read in order. |
mutable unsigned consumed_descriptor_highwater_; |
- DISALLOW_COPY_AND_ASSIGN(FileDescriptorSet); |
+ DISALLOW_COPY_AND_ASSIGN(MessageAttachmentSet); |
}; |
-#endif // IPC_FILE_DESCRIPTOR_SET_POSIX_H_ |
+} // namespace IPC |
+ |
+#endif // IPC_IPC_MESSAGE_ATTACHMENT_SET_H_ |