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