1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MOJO_EMBEDDER_PLATFORM_HANDLE_UTILS_H_
6 #define MOJO_EMBEDDER_PLATFORM_HANDLE_UTILS_H_
8 #include "mojo/embedder/platform_handle.h"
9 #include "mojo/embedder/scoped_platform_handle.h"
10 #include "mojo/system/system_impl_export.h"
15 // Closes all the |PlatformHandle|s in the given container.
16 template <typename PlatformHandleContainer
>
17 MOJO_SYSTEM_IMPL_EXPORT
inline void CloseAllPlatformHandles(
18 PlatformHandleContainer
* platform_handles
) {
19 for (typename
PlatformHandleContainer::iterator it
=
20 platform_handles
->begin();
21 it
!= platform_handles
->end();
23 it
->CloseIfNecessary();
26 // Duplicates the given |PlatformHandle| (which must be valid). (Returns an
27 // invalid |ScopedPlatformHandle| on failure.)
28 MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle
DuplicatePlatformHandle(
29 PlatformHandle platform_handle
);
31 } // namespace embedder
34 #endif // MOJO_EMBEDDER_PLATFORM_HANDLE_UTILS_H_