Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Side by Side Diff: mojo/public/python/mojo/system.pyx

Issue 792843002: Refactor the python system_impl module. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/public/python/mojo/c_thunks.pxd ('k') | mojo/public/python/mojo/system_impl.pyx » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 # distutils language = c++ 5 # distutils language = c++
6 6
7 cimport c_core 7 cimport c_core
8 cimport c_export # needed so the init function gets exported
9 cimport c_thunks
8 10
9 11
10 from cpython.buffer cimport PyBUF_CONTIG 12 from cpython.buffer cimport PyBUF_CONTIG
11 from cpython.buffer cimport PyBUF_CONTIG_RO 13 from cpython.buffer cimport PyBUF_CONTIG_RO
12 from cpython.buffer cimport Py_buffer 14 from cpython.buffer cimport Py_buffer
13 from cpython.buffer cimport PyBuffer_FillInfo 15 from cpython.buffer cimport PyBuffer_FillInfo
14 from cpython.buffer cimport PyBuffer_Release 16 from cpython.buffer cimport PyBuffer_Release
15 from cpython.buffer cimport PyObject_GetBuffer 17 from cpython.buffer cimport PyObject_GetBuffer
16 from cpython.mem cimport PyMem_Malloc, PyMem_Free 18 from cpython.mem cimport PyMem_Malloc, PyMem_Free
17 from cpython.object cimport Py_EQ, Py_NE 19 from cpython.object cimport Py_EQ, Py_NE
18 from libc.stdint cimport int32_t, int64_t, uint32_t, uint64_t, uintptr_t 20 from libc.stdint cimport int32_t, int64_t, uint32_t, uint64_t, uintptr_t
19 21
20 import ctypes 22 import ctypes
21 import threading 23 import threading
22 24
23 import mojo.system_impl 25 import mojo.system_impl
24 26
25 def SetSystemThunks(system_thunks_as_object): 27 def SetSystemThunks(system_thunks_as_object):
26 """Bind the basic Mojo Core functions. 28 """Bind the basic Mojo Core functions.
27 29
28 This should only be used by the embedder. 30 This should only be used by the embedder.
29 """ 31 """
30 cdef const c_core.MojoSystemThunks* system_thunks = ( 32 cdef const c_thunks.MojoSystemThunks* system_thunks = (
31 <const c_core.MojoSystemThunks*><uintptr_t>system_thunks_as_object) 33 <const c_thunks.MojoSystemThunks*><uintptr_t>system_thunks_as_object)
32 c_core.MojoSetSystemThunks(system_thunks) 34 c_thunks.MojoSetSystemThunks(system_thunks)
33 mojo.system_impl.SetSystemThunks(system_thunks_as_object)
34 35
35 HANDLE_INVALID = c_core.MOJO_HANDLE_INVALID 36 HANDLE_INVALID = c_core.MOJO_HANDLE_INVALID
36 RESULT_OK = c_core.MOJO_RESULT_OK 37 RESULT_OK = c_core.MOJO_RESULT_OK
37 RESULT_CANCELLED = c_core.MOJO_RESULT_CANCELLED 38 RESULT_CANCELLED = c_core.MOJO_RESULT_CANCELLED
38 RESULT_UNKNOWN = c_core.MOJO_RESULT_UNKNOWN 39 RESULT_UNKNOWN = c_core.MOJO_RESULT_UNKNOWN
39 RESULT_INVALID_ARGUMENT = c_core.MOJO_RESULT_INVALID_ARGUMENT 40 RESULT_INVALID_ARGUMENT = c_core.MOJO_RESULT_INVALID_ARGUMENT
40 RESULT_DEADLINE_EXCEEDED = c_core.MOJO_RESULT_DEADLINE_EXCEEDED 41 RESULT_DEADLINE_EXCEEDED = c_core.MOJO_RESULT_DEADLINE_EXCEEDED
41 RESULT_NOT_FOUND = c_core.MOJO_RESULT_NOT_FOUND 42 RESULT_NOT_FOUND = c_core.MOJO_RESULT_NOT_FOUND
42 RESULT_ALREADY_EXISTS = c_core.MOJO_RESULT_ALREADY_EXISTS 43 RESULT_ALREADY_EXISTS = c_core.MOJO_RESULT_ALREADY_EXISTS
43 RESULT_PERMISSION_DENIED = c_core.MOJO_RESULT_PERMISSION_DENIED 44 RESULT_PERMISSION_DENIED = c_core.MOJO_RESULT_PERMISSION_DENIED
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 """ 794 """
794 return self.__run_loop.PostDelayedTask(runnable, delay) 795 return self.__run_loop.PostDelayedTask(runnable, delay)
795 796
796 @staticmethod 797 @staticmethod
797 def Current(): 798 def Current():
798 if hasattr(_RUN_LOOPS, 'loop'): 799 if hasattr(_RUN_LOOPS, 'loop'):
799 return ctypes.cast(_RUN_LOOPS.loop, ctypes.py_object).value 800 return ctypes.cast(_RUN_LOOPS.loop, ctypes.py_object).value
800 return None 801 return None
801 802
802 803
803 _ASYNC_WAITER = mojo.system_impl.ASYNC_WAITER 804 _ASYNC_WAITER = mojo.system_impl.AsyncWaiter()
OLDNEW
« no previous file with comments | « mojo/public/python/mojo/c_thunks.pxd ('k') | mojo/public/python/mojo/system_impl.pyx » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698