11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# distutils: language = c++ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifrom libc.stdint cimport int64_t, intptr_t, uint32_t, uint64_t 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/c/system/core.h" nogil: 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoHandle 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint64_t MojoDeadline 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef uint32_t MojoHandleSignals 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/cpp/bindings/callback.h" nogil: 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef cppclass CClosure "mojo::Callback<void()>": 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci CClosure() 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/c/environment/async_waiter.h" nogil: 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ctypedef intptr_t MojoAsyncWaitID 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/python/src/python_system_helper.h" \ 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci namespace "mojo::python" nogil: 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef CClosure BuildClosure(object) 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef cppclass PythonAsyncWaiter "mojo::python::PythonAsyncWaiter": 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci PythonAsyncWaiter() 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoAsyncWaitID AsyncWait(MojoHandle, 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoHandleSignals, 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MojoDeadline, 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci object) 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void CancelWait(MojoAsyncWaitID) 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/cpp/utility/run_loop.h" nogil: 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef cppclass CRunLoop "mojo::RunLoop": 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci CRunLoop() 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void Run() except * 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void RunUntilIdle() except * 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void Quit() 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void PostDelayedTask(CClosure&, int64_t) 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicdef extern from "mojo/public/cpp/environment/environment.h" nogil: 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cdef cppclass CEnvironment "mojo::Environment": 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci CEnvironment() 49