OLD | NEW |
1 Mojo Public C++ API | 1 Mojo Public C++ API |
2 =================== | 2 =================== |
3 | 3 |
4 This directory contains C++ language bindings for the Mojo Public API. | 4 This directory contains C++ language bindings for the Mojo Public API. |
5 | 5 |
6 A number of subdirectories provide wrappers for the lower-level C APIs (in | 6 A number of subdirectories provide wrappers for the lower-level C APIs (in |
7 subdirectories of the same name, under mojo/public/c/). Typically, these | 7 subdirectories of the same name, under mojo/public/c/). Typically, these |
8 wrappers provide increased convenience and/or type-safety. | 8 wrappers provide increased convenience and/or type-safety. |
9 | 9 |
10 Other subdirectories provide support (static) libraries of various sorts. In | 10 Other subdirectories provide support (static) libraries of various sorts. In |
11 this case, the organization is to have the public interface for the library | 11 this case, the organization is to have the public interface for the library |
12 defined in header files in the subdirectory itself and the implementation of the | 12 defined in header files in the subdirectory itself and the implementation of the |
13 library at a lower level, under a lib (sub)subdirectory. A developer should be | 13 library at a lower level, under a lib (sub)subdirectory. A developer should be |
14 able to substitute their own implementation of any such support library, and | 14 able to substitute their own implementation of any such support library, and |
15 expect other support libraries, which may depend on that library, to work | 15 expect other support libraries, which may depend on that library, to work |
16 properly. | 16 properly. |
17 | 17 |
18 Bindings | 18 Bindings |
19 -------- | 19 -------- |
20 | 20 |
21 The bindings/ subdirectory contains a support (static) library needed by the | 21 The bindings/ subdirectory contains a support (static) library needed by the |
22 code generated by the bindings generator tool (in mojo/public/tools/bindings/), | 22 code generated by the bindings generator tool (in mojo/public/tools/bindings/), |
23 which translates Mojo IDL (.mojom) files into idiomatic C++ (among other | 23 which translates Mojo IDL (.mojom) files into idiomatic C++ (among other |
24 languages). | 24 languages). |
25 | 25 |
26 This library depends on the Environment library. | |
27 | |
28 Environment | |
29 ----------- | |
30 | |
31 The environment/ subdirectory contains a support (static) library that | |
32 represents shared state needed to support the Bindings and GLES2 libraries. | |
33 | |
34 This library depends on the Utility library. | |
35 | |
36 | |
37 GLES2 | |
38 ----- | |
39 | |
40 The gles2/ subdirectory contains C++ wrappers (and some additional helpers) of | |
41 the API defined in mojo/public/c/gles2/ (which provides access to GLES2). | |
42 | |
43 These wrappers depend on the Environment library. | |
44 | |
45 Shell | |
46 ----- | |
47 | |
48 The shell/ subdirectory contains a support (static) library that aids in writing | |
49 Mojo applications and interacting with the Shell service. | |
50 | |
51 System | 26 System |
52 ------ | 27 ------ |
53 | 28 |
54 The system/ subdirectory contains C++ wrappers (and some additional helpers) of | 29 The system/ subdirectory contains C++ wrappers (and some additional helpers) of |
55 the API defined in mojo/public/c/system/, which defines the basic, "core" API, | 30 the API defined in mojo/public/c/system/, which defines the basic, "core" API, |
56 especially used to communicate with Mojo services. | 31 especially used to communicate with Mojo services. |
57 | 32 |
58 Test Support | 33 Test Support |
59 ------------ | 34 ------------ |
60 | 35 |
61 The test_support/ subdirectory contains C++ wrappers of the test-only API | 36 The test_support/ subdirectory contains C++ wrappers of the test-only API |
62 defined in mojo/public/c/test_support/. It is not meant for general use by Mojo | 37 defined in mojo/public/c/test_support/. It is not meant for general use by Mojo |
63 applications. | 38 applications. |
64 | 39 |
65 Utility | 40 Utility |
66 ------- | 41 ------- |
67 | 42 |
| 43 TODO(yzshen): remove. |
| 44 |
68 The utility/ subdirectory contains a support (static) library that provides | 45 The utility/ subdirectory contains a support (static) library that provides |
69 various basic functionality. Most notably, it provides an implementation of a | 46 various basic functionality. Most notably, it provides an implementation of a |
70 RunLoop based on MojoWaitMany() that applications may use as the basis for | 47 RunLoop based on MojoWaitMany() that applications may use as the basis for |
71 asynchronous message processing. | 48 asynchronous message processing. |
OLD | NEW |