OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 MOJO_EDK_EMBEDDER_PLATFORM_HANDLE_UTILS_H_ | 5 #ifndef MOJO_EDK_EMBEDDER_PLATFORM_HANDLE_UTILS_H_ |
6 #define MOJO_EDK_EMBEDDER_PLATFORM_HANDLE_UTILS_H_ | 6 #define MOJO_EDK_EMBEDDER_PLATFORM_HANDLE_UTILS_H_ |
7 | 7 |
8 #include "mojo/edk/embedder/platform_handle.h" | 8 #include "mojo/edk/embedder/platform_handle.h" |
9 #include "mojo/edk/embedder/scoped_platform_handle.h" | 9 #include "mojo/edk/embedder/scoped_platform_handle.h" |
10 #include "mojo/edk/system/system_impl_export.h" | |
11 | 10 |
12 namespace mojo { | 11 namespace mojo { |
13 namespace embedder { | 12 namespace embedder { |
14 | 13 |
15 // Closes all the |PlatformHandle|s in the given container. | 14 // Closes all the |PlatformHandle|s in the given container. |
16 template <typename PlatformHandleContainer> | 15 template <typename PlatformHandleContainer> |
17 MOJO_SYSTEM_IMPL_EXPORT inline void CloseAllPlatformHandles( | 16 inline void CloseAllPlatformHandles(PlatformHandleContainer* platform_handles) { |
18 PlatformHandleContainer* platform_handles) { | |
19 for (typename PlatformHandleContainer::iterator it = | 17 for (typename PlatformHandleContainer::iterator it = |
20 platform_handles->begin(); | 18 platform_handles->begin(); |
21 it != platform_handles->end(); ++it) | 19 it != platform_handles->end(); ++it) |
22 it->CloseIfNecessary(); | 20 it->CloseIfNecessary(); |
23 } | 21 } |
24 | 22 |
25 // Duplicates the given |PlatformHandle| (which must be valid). (Returns an | 23 // Duplicates the given |PlatformHandle| (which must be valid). (Returns an |
26 // invalid |ScopedPlatformHandle| on failure.) | 24 // invalid |ScopedPlatformHandle| on failure.) |
27 MOJO_SYSTEM_IMPL_EXPORT ScopedPlatformHandle | 25 ScopedPlatformHandle DuplicatePlatformHandle(PlatformHandle platform_handle); |
28 DuplicatePlatformHandle(PlatformHandle platform_handle); | |
29 | 26 |
30 } // namespace embedder | 27 } // namespace embedder |
31 } // namespace mojo | 28 } // namespace mojo |
32 | 29 |
33 #endif // MOJO_EDK_EMBEDDER_PLATFORM_HANDLE_UTILS_H_ | 30 #endif // MOJO_EDK_EMBEDDER_PLATFORM_HANDLE_UTILS_H_ |
OLD | NEW |