Index: mojo/edk/embedder/named_platform_handle_utils.h |
diff --git a/mojo/edk/embedder/named_platform_handle_utils.h b/mojo/edk/embedder/named_platform_handle_utils.h |
index 6b856bb52f03c3ff0ac8c30468a9724704810045..f13e1765fabb6d3d417436a397a0dbcceb5f30e8 100644 |
--- a/mojo/edk/embedder/named_platform_handle_utils.h |
+++ b/mojo/edk/embedder/named_platform_handle_utils.h |
@@ -9,21 +9,37 @@ |
#include "mojo/edk/embedder/scoped_platform_handle.h" |
#include "mojo/edk/system/system_impl_export.h" |
+#if defined(OS_WIN) |
+#include "base/strings/string16.h" |
+#endif |
+ |
namespace mojo { |
namespace edk { |
struct NamedPlatformHandle; |
+struct CreateServerHandleOptions { |
+#if defined(OS_WIN) |
+ // If true, creating a server handle will fail if another pipe with the same |
+ // name exists. |
+ bool enforce_uniqueness = true; |
+ |
+ // If non-empty, a security descriptor to use when creating the pipe. If |
+ // empty, a default security descriptor will be used. See |
+ // kDefaultSecurityDescriptor in named_platform_handle_utils_win.cc. |
+ base::string16 security_descriptor; |
+#endif |
+}; |
+ |
// Creates a client platform handle from |handle|. This may block until |handle| |
// is ready to receive connections. |
MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle |
CreateClientHandle(const NamedPlatformHandle& handle); |
-// Creates a server platform handle from |handle|. On Windows, if |
-// |enforce_uniqueness| is true, this will fail if another pipe with the same |
-// name exists. On other platforms, |enforce_uniqueness| must be false. |
+// Creates a server platform handle from |handle|. |
MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle |
-CreateServerHandle(const NamedPlatformHandle& handle, bool enforce_uniqueness); |
+CreateServerHandle(const NamedPlatformHandle& handle, |
+ const CreateServerHandleOptions& options = {}); |
} // namespace edk |
} // namespace mojo |