OLD | NEW |
| (Empty) |
1 // Copyright 2015 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. | |
4 | |
5 #include "mojo/platform_handle/platform_handle.h" | |
6 #include "third_party/mojo/src/mojo/edk/embedder/embedder.h" | |
7 | |
8 extern "C" { | |
9 | |
10 MojoResult MojoCreatePlatformHandleWrapper(MojoPlatformHandle platform_handle, | |
11 MojoHandle* wrapper) { | |
12 mojo::embedder::PlatformHandle platform_handle_wrapper(platform_handle); | |
13 mojo::embedder::ScopedPlatformHandle scoped_platform_handle( | |
14 platform_handle_wrapper); | |
15 return mojo::embedder::CreatePlatformHandleWrapper( | |
16 scoped_platform_handle.Pass(), wrapper); | |
17 } | |
18 | |
19 MojoResult MojoExtractPlatformHandle(MojoHandle wrapper, | |
20 MojoPlatformHandle* platform_handle) { | |
21 mojo::embedder::ScopedPlatformHandle scoped_platform_handle; | |
22 MojoResult result = mojo::embedder::PassWrappedPlatformHandle( | |
23 wrapper, &scoped_platform_handle); | |
24 if (result != MOJO_RESULT_OK) | |
25 return result; | |
26 | |
27 DCHECK(scoped_platform_handle.is_valid()); | |
28 #if defined(OS_POSIX) | |
29 *platform_handle = scoped_platform_handle.release().fd; | |
30 #elif defined(OS_WIN) | |
31 *platform_handle = scoped_platform_handle.release().handle; | |
32 #else | |
33 #error "Platform not yet supported." | |
34 #endif | |
35 return MOJO_RESULT_OK; | |
36 } | |
37 | |
38 } // extern "C" | |
OLD | NEW |