| Mojo Public C++ API |
| =================== |
| |
| This directory contains C++ language bindings for the Mojo Public API. |
| |
| A number of subdirectories provide wrappers for the lower-level C APIs (in |
| subdirectories of the same name, under mojo/public/c/). Typically, these |
| wrappers provide increased convenience and/or type-safety. |
| |
| Other subdirectories provide support (static) libraries of various sorts. In |
| this case, the organization is to have the public interface for the library |
| defined in header files in the subdirectory itself and the implementation of the |
| library at a lower level, under a lib (sub)subdirectory. A developer should be |
| able to substitute their own implementation of any such support library, and |
| expect other support libraries, which may depend on that library, to work |
| properly. |
| |
| Bindings |
| -------- |
| |
| The bindings/ subdirectory contains a support (static) library needed by the |
| code generated by the bindings generator tool (in mojo/public/tools/bindings/), |
| which translates Mojo IDL (.mojom) files into idiomatic C++ (among other |
| languages). |
| |
| This library depends on the Environment library. |
| |
| Environment |
| ----------- |
| |
| The environment/ subdirectory contains a support (static) library that |
| represents shared state needed to support the Bindings and GLES2 libraries. |
| |
| This library depends on the Utility library. |
| |
| |
| Shell |
| ----- |
| |
| The shell/ subdirectory contains a support (static) library that aids in writing |
| Mojo applications and interacting with the Shell service. |
| |
| System |
| ------ |
| |
| The system/ subdirectory contains C++ wrappers (and some additional helpers) of |
| the API defined in mojo/public/c/system/, which defines the basic, "core" API, |
| especially used to communicate with Mojo services. |
| |
| Test Support |
| ------------ |
| |
| The test_support/ subdirectory contains C++ test support functionality for |
| "internal" tests. It is not meant for general use by Mojo applications. |
| |
| Utility |
| ------- |
| |
| The utility/ subdirectory contains a support (static) library that provides |
| various basic functionality. Most notably, it provides an implementation of a |
| RunLoop based on MojoWaitMany() that applications may use as the basis for |
| asynchronous message processing. |