Index: ipc/ipc_channel_handle.h |
diff --git a/ipc/ipc_channel_handle.h b/ipc/ipc_channel_handle.h |
index 8a344fd392124574174e847af0e097ac1c18041a..ef31b8434c4ef6de1c43bd4ff1afe5fa6b593920 100644 |
--- a/ipc/ipc_channel_handle.h |
+++ b/ipc/ipc_channel_handle.h |
@@ -10,71 +10,31 @@ |
#include "build/build_config.h" |
#include "mojo/public/cpp/system/message_pipe.h" |
-#if defined(OS_POSIX) |
+#if defined(OS_NACL_SFI) |
#include "base/file_descriptor_posix.h" |
-#elif defined(OS_WIN) |
-#include <windows.h> |
-#endif // defined (OS_WIN) |
- |
-// On Windows, any process can create an IPC channel and others can fetch |
-// it by name. We pass around the channel names over IPC. |
-// On Windows the initialization of ChannelHandle with an existing pipe |
-// handle is provided for convenience. |
-// NOTE: A ChannelHandle with a pipe handle Will NOT be marshalled over IPC. |
- |
-// On POSIX, we instead pass around handles to channel endpoints via IPC. |
-// When it's time to IPC a new channel endpoint around, we send both the |
-// channel name as well as a base::FileDescriptor, which is itself a special |
-// type that knows how to copy a socket endpoint over IPC. |
-// |
-// In sum, this data structure can be used to pass channel information by name |
-// in both Windows and Posix. When passing a handle to a channel over IPC, |
-// use this data structure only for POSIX. |
+#endif // defined (OS_NACL_SFI) |
namespace IPC { |
+// Note that serialization for this object is defined in the ParamTraits |
+// template specialization in ipc_message_utils.h. |
+#if defined(OS_NACL_SFI) |
+struct ChannelHandle { |
+ ChannelHandle() {} |
+ explicit ChannelHandle(const base::FileDescriptor& s) : socket(s) {} |
+ |
+ base::FileDescriptor socket; |
+}; |
+#else |
struct ChannelHandle { |
- // Note that serialization for this object is defined in the ParamTraits |
- // template specialization in ipc_message_utils.h. |
ChannelHandle() {} |
- // The name that is passed in should be an absolute path for Posix. |
- // Otherwise there may be a problem in IPC communication between |
- // processes with different working directories. |
- ChannelHandle(const std::string& n) : name(n) {} |
- ChannelHandle(const char* n) : name(n) {} |
-#if defined(OS_WIN) |
- explicit ChannelHandle(HANDLE h) : pipe(h) {} |
-#elif defined(OS_POSIX) |
- ChannelHandle(const std::string& n, const base::FileDescriptor& s) |
- : name(n), socket(s) {} |
-#endif // defined(OS_POSIX) |
ChannelHandle(mojo::MessagePipeHandle h) : mojo_handle(h) {} |
- bool is_mojo_channel_handle() const { |
-#if defined(OS_WIN) |
- if (pipe.handle) |
- return false; |
-#elif defined(OS_POSIX) |
- if (socket.fd != -1) |
- return false; |
-#endif // defined(OS_POSIX) |
- return mojo_handle.is_valid() && name.empty(); |
- } |
+ bool is_mojo_channel_handle() const { return mojo_handle.is_valid(); } |
- std::string name; |
-#if defined(OS_POSIX) |
- base::FileDescriptor socket; |
-#elif defined(OS_WIN) |
- // A simple container to automatically initialize pipe handle |
- struct PipeHandle { |
- PipeHandle() : handle(NULL) {} |
- PipeHandle(HANDLE h) : handle(h) {} |
- HANDLE handle; |
- }; |
- PipeHandle pipe; |
-#endif // defined (OS_WIN) |
mojo::MessagePipeHandle mojo_handle; |
}; |
+#endif // defined(OS_NACL_SFI) |
} // namespace IPC |