Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / mojo / public / c / README.md
1 Mojo Public C API
2 =================
3
4 This directory contains C language bindings for the Mojo Public API.
5
6 Environment
7 -----------
8
9 The environment/ subdirectory defines some common things that, while not part of
10 the system API, may be required for GLES2 (for example). These are things that a
11 Mojo application may be required to provide to the GLES2 (for example) library
12 in order to use it. (However, the Mojo application may implement these things as
13 it sees fit.)
14
15 GLES2
16 -----
17
18 The gles2/ subdirectory defines the GLES2 C API that's available to Mojo
19 applications. To use GLES2, Mojo applications must link against a dynamic
20 library (the exact mechanism being platform-dependent) and use the header files
21 in this directory as well as the standard Khronos GLES2 header files.
22
23 The reason for this, rather than providing GLES2 using the standard Mojo IPC
24 mechanism, is performance: The protocol (and transport mechanisms) used to
25 communicate with the Mojo GLES2 service is not stable nor "public" (mainly for
26 performance reasons), and using the dynamic library shields the application from
27 changes to the underlying system.
28
29 System
30 ------
31
32 The system/ subdirectory provides definitions of the basic low-level API used by
33 all Mojo applications (whether directly or indirectly). These consist primarily
34 of the IPC primitives used to communicate with Mojo services.
35
36 Though the message protocol is stable, the implementation of the transport is
37 not, and access to the IPC mechanisms must be via the primitives defined in this
38 directory.
39
40 Test Support
41 ------------
42
43 This directory contains a C API for running tests. This API is only available
44 under special, specific test conditions. It is not meant for general use by Mojo
45 applications.