Index: mojo/public/README.md |
diff --git a/mojo/public/README.md b/mojo/public/README.md |
index 32fc4b186155423fcc945cf6e728c68c501743ad..a31a8a8245e99c57b2396fea67c0dcc610b8827e 100644 |
--- a/mojo/public/README.md |
+++ b/mojo/public/README.md |
@@ -1,62 +1,43 @@ |
Mojo Public API |
=============== |
-The Mojo Public API is a binary stable API to the Mojo system. There are |
-several components to the API: |
+The Mojo Public API is a binary stable API to the Mojo system. |
-Bindings |
--------- |
- |
-This directory contains a static library that clients may link into their |
-binary. The contents of this directory are not binary stable as each client is |
-free to use whichever version they prefer. |
+It consists of support for a number of programming languages (with a directory |
+for each support language), some "build" tools and build-time requirements, and |
+interface definitions for Mojo services (specified using an IDL). |
-This directory also contains a compiler that translates mojom interface |
-definition files into idiomatic bindings for various languages, including |
-C++ and JavaScript. Clients are expected to statically link with the generated |
-code, which reads and writes the binary stable IPC message format. |
+Note that there are various subdirectories named tests/. These contain tests of |
+the code in the enclosing directory, and are not meant for use by Mojo |
+applications. |
-Environment |
------------ |
+C/CPP/JS |
+-------- |
-This directory contains a static library that clients may link into their |
-binary. The contents of this directory are not binary stable as each client is |
-free to use whichever version they prefer. |
+The c/, cpp/, js/ subdirectories define the API for C, C++, and JavaScript, |
+respectively. |
-The environment static library represents the shared state that is needed to |
-support the Bindings and GLES2 libraries. It depends on the Utility library. |
+The basic principle for these directories is that they consist of the source |
+files that one needs at build/deployment/run time (as appropriate for the |
+language), organized in a natural way for the particular language. |
-GLES2 |
------ |
+Interfaces |
+---------- |
-The IPC protocol used to communicate between Mojo client and the GLES2 |
-service is not binary stable. To insulate themselves from changes in this |
-protocol, clients are expected to link dynamically against the standard GLES2 |
-headers from Khronos and the headers in this directory, which provide an |
-adaptor between the GLES2 C API and the underlying IPC protocol. |
+The interfaces/ subdirectory contains Mojo IDL (a.k.a. .mojom) descriptions of |
+standard Mojo services. |
-System |
------- |
+Platform |
+-------- |
-This directory defines the interface between Mojo clients and the Mojo IPC |
-system. Although the Mojo IPC message format is binary stable, the mechanism |
-by which these messages are transported is not stable. To insulate themselves |
-from changes in the underlying transport, clients are expected to link against |
-these headers dynamically. |
+The platform/ subdirectory contains any build-time requirements (e.g., static |
+libraries) that may be needed to produce a Mojo application for certain |
+platforms, such as a native shared library or as a NaCl binary. |
-Tests |
+Tools |
----- |
-This directory contains tests for code contained in the public API. Mojo |
-clients are expected to ignore this directory. |
- |
-Utility |
-------- |
- |
-This directory contains a static library that clients may link into their |
-binary. The contents of this directory are not binary stable as each client is |
-free to use whichever version they prefer. |
- |
-The Utility static library most notably defines an implementation of a RunLoop |
-based on the MojoWaitMany that clients may use as the basis for asynchronous |
-message processing. |
+The tools/ subdirectory contains tools that are useful/necessary at |
+build/deployment time. These tools may be needed (as a practical necessity) to |
+use the API in any given language, e.g., to generate bindings from Mojo IDL |
+files. |