| Index: mojo/python/system/mojo/embedder.pyx
|
| diff --git a/mojo/python/system/mojo/embedder.pyx b/mojo/python/system/mojo/embedder.pyx
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c7021f050e2fd0212257612937d44724868447a7
|
| --- /dev/null
|
| +++ b/mojo/python/system/mojo/embedder.pyx
|
| @@ -0,0 +1,41 @@
|
| +# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +# distutils: language = c++
|
| +
|
| +from libc.stdint cimport uintptr_t
|
| +
|
| +from mojo import system
|
| +
|
| +cdef extern from "third_party/cython/python_export.h":
|
| + pass
|
| +
|
| +cdef extern from "base/memory/scoped_ptr.h":
|
| + cdef cppclass scoped_ptr[T]:
|
| + scoped_ptr(T*)
|
| +
|
| +cdef extern from "mojo/embedder/platform_support.h" \
|
| + namespace "mojo::embedder" nogil:
|
| + cdef cppclass PlatformSupport:
|
| + pass
|
| +
|
| +cdef extern from "mojo/embedder/simple_platform_support.h" \
|
| + namespace "mojo::embedder" nogil:
|
| + cdef cppclass SimplePlatformSupport(PlatformSupport):
|
| + SimplePlatformSupport()
|
| +
|
| +cdef extern from "mojo/embedder/embedder.h" nogil:
|
| + cdef void InitCEmbedder "mojo::embedder::Init"(
|
| + scoped_ptr[PlatformSupport] platform_support)
|
| +
|
| +cdef extern from "mojo/public/platform/native/system_thunks.h" nogil:
|
| + cdef struct MojoSystemThunks:
|
| + pass
|
| + cdef MojoSystemThunks MojoMakeSystemThunks()
|
| +
|
| +def init():
|
| + InitCEmbedder(scoped_ptr[PlatformSupport](
|
| + new SimplePlatformSupport()))
|
| + cdef MojoSystemThunks thunks = MojoMakeSystemThunks()
|
| + system.set_system_thunks(<uintptr_t>(&thunks))
|
|
|