# 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 int64_t, intptr_t, uint32_t, uint64_t cimport c_async_waiter cdef extern from "mojo/public/cpp/bindings/callback.h" nogil: cdef cppclass CClosure "mojo::Callback": CClosure() cdef extern from "mojo/public/python/src/python_system_helper.h" \ namespace "mojo::python" nogil: cdef CClosure BuildClosure(object) cdef c_async_waiter.PythonAsyncWaiter* NewAsyncWaiter() cdef extern from "mojo/public/cpp/utility/run_loop.h" nogil: cdef cppclass CRunLoop "mojo::RunLoop": CRunLoop() void Run() except * void RunUntilIdle() except * void Quit() void PostDelayedTask(CClosure&, int64_t) cdef CRunLoop CRunLoopCurrent "mojo::RunLoop::current"() cdef extern from "mojo/public/cpp/environment/environment.h" nogil: cdef cppclass CEnvironment "mojo::Environment": CEnvironment()