OLD | NEW |
(Empty) | |
| 1 Mojo Public C++ API |
| 2 =================== |
| 3 |
| 4 This directory contains C++ language bindings for the Mojo Public API. |
| 5 |
| 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 |
| 8 wrappers provide increased convenience and/or type-safety. |
| 9 |
| 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 in |
| 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 |
| 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 |
| 16 properly. |
| 17 |
| 18 Bindings |
| 19 -------- |
| 20 |
| 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/), |
| 23 which translates Mojo IDL (.mojom) files into idiomatic C++ (among other |
| 24 languages). |
| 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 |
| 52 ------ |
| 53 |
| 54 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, |
| 56 especially used to communicate with Mojo services. |
| 57 |
| 58 Test Support |
| 59 ------------ |
| 60 |
| 61 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 |
| 63 applications. |
| 64 |
| 65 Utility |
| 66 ------- |
| 67 |
| 68 The utility/ subdirectory contains a support (static) library that provides |
| 69 various basic functionality. Most notably, it provides an implementation of a |
| 70 RunLoop based on MojoWaitMany() that applications may use as the basis for |
| 71 asynchronous message processing. |
OLD | NEW |