OLD | NEW |
1 Mojo Public API | 1 Mojo Public API |
2 =============== | 2 =============== |
3 | 3 |
4 The Mojo Public API is a binary stable API to the Mojo system. There are | 4 The Mojo Public API is a binary stable API to the Mojo system. There are |
5 several components to the API: | 5 several components to the API: |
6 | 6 |
7 Bindings | 7 Bindings |
8 -------- | 8 -------- |
9 | 9 |
10 This directory contains a static library that clients can link into their | 10 This directory contains a static library that clients may link into their |
11 binary. The contents of this directory are not binary stable because each | 11 binary. The contents of this directory are not binary stable as each client is |
12 client is free to use whichever version they prefer. | 12 free to use whichever version they prefer. |
13 | 13 |
14 This directory also contains a compiler that translates mojom interface | 14 This directory also contains a compiler that translates mojom interface |
15 definition files into idiomatic bindings for various languages, including | 15 definition files into idiomatic bindings for various languages, including |
16 C++ and JavaScript. Clients are expected to statically link with the generated | 16 C++ and JavaScript. Clients are expected to statically link with the generated |
17 code, which reads and writes the binary stable IPC message format. | 17 code, which reads and writes the binary stable IPC message format. |
18 | 18 |
| 19 Environment |
| 20 ----------- |
| 21 |
| 22 This directory contains a static library that clients may link into their |
| 23 binary. The contents of this directory are not binary stable as each client is |
| 24 free to use whichever version they prefer. |
| 25 |
| 26 The environment static library represents the shared state that is needed to |
| 27 support the Bindings and GLES2 libraries. It depends on the Utility library. |
| 28 |
19 GLES2 | 29 GLES2 |
20 ----- | 30 ----- |
21 | 31 |
22 The IPC protocol used to communicate between Mojo client and the GLES2 | 32 The IPC protocol used to communicate between Mojo client and the GLES2 |
23 service is not binary stable. To insulate themselves from changes in this | 33 service is not binary stable. To insulate themselves from changes in this |
24 protocol, clients are expected to link dynamically against the standard GLES2 | 34 protocol, clients are expected to link dynamically against the standard GLES2 |
25 headers from Khronos and the headers in this directory, which provide an | 35 headers from Khronos and the headers in this directory, which provide an |
26 adaptor between the GLES2 C API and the underlying IPC protocol. | 36 adaptor between the GLES2 C API and the underlying IPC protocol. |
27 | 37 |
28 System | 38 System |
29 ------ | 39 ------ |
30 | 40 |
31 This directory defines the interface between Mojo clients and the Mojo IPC | 41 This directory defines the interface between Mojo clients and the Mojo IPC |
32 system. Although the Mojo IPC message format is binary stable, the mechanism | 42 system. Although the Mojo IPC message format is binary stable, the mechanism |
33 by which these messages are transported is not stable. To insulate themselves | 43 by which these messages are transported is not stable. To insulate themselves |
34 from changes in the underlying transport, clients are expected to link against | 44 from changes in the underlying transport, clients are expected to link against |
35 these headers dynamically. | 45 these headers dynamically. |
36 | 46 |
37 Tests | 47 Tests |
38 ----- | 48 ----- |
39 | 49 |
40 This directory contains tests for code contained in the public API. Mojo | 50 This directory contains tests for code contained in the public API. Mojo |
41 clients are expected to ignore this directory. | 51 clients are expected to ignore this directory. |
| 52 |
| 53 Utility |
| 54 ------- |
| 55 |
| 56 This directory contains a static library that clients may link into their |
| 57 binary. The contents of this directory are not binary stable as each client is |
| 58 free to use whichever version they prefer. |
| 59 |
| 60 The Utility static library most notably defines an implementation of a RunLoop |
| 61 based on the MojoWaitMany that clients may use as the basis for asynchronous |
| 62 message processing. |
OLD | NEW |