1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
/** \mainpage Pepper API (PPAPI) Reference Documentation
<p>
This reference documentation describes the Pepper plugin API (PPAPI),
a cross-platform, open-source API for browser plugins.
You can use the Pepper API
in <a href="http://code.google.com/p/nativeclient-sdk">Native Client</a>
modules to communicate with the Google Chrome browser.
This page has the following contents:
</p>
<ul>
<li> @ref reading </li>
<li> @ref modules </li>
<li> @ref about </li>
<li> @ref todo </li>
</ul>
\section reading Before you start
This documentation assumes that you have read and understood
the following pages in the PPAPI project:
- <a href="http://code.google.com/p/ppapi/wiki/GettingStarted">Getting started</a>
- <a href="http://code.google.com/p/ppapi/wiki/Concepts">Important concepts</a>
For additional documentation and information
about Pepper, see the PPAPI project
<a href="http://code.google.com/p/ppapi/">homepage</a> and
<a href="http://code.google.com/p/ppapi/w/list">wiki</a>.
\section modules API categories
The Pepper API consists of C API,
plus C++ classes
(in the pp namespace)
that we recommend you use if you're writing a C++ plugin.
You'll see three prefixes in the C API:
<dl>
<dt> PP_ </dt>
<dd> Data types,
such as ::PP_Instance and ::PP_Event.
</dd>
<dt> PPB_ </dt>
<dd> API that you can use to call into the browser,
such as ::PPB_Instance and ::PPB_GetInterface.
</dd>
<dt> PPP_ </dt>
<dd> API that you implement
so that the browser can call into your module.
Examples include ::PPP_Instance and ::PPP_InitializeModule.
</dd>
</dl>
The C++ API provides a layer over the C API.
For example, when you call the constructor
for the pp::Instance class,
you specify a ::PP_Instance variable.
For your convenience, pp::Instance defines methods such as
HandleEvent(), which implements ::PPP_Instance.HandleEvent, and
GetWindowObject(), which implements ::PPB_Instance.GetWindowObject.
\section about About this doc
<p>
The tabs at the top of each page
take you to the following sections.
</p>
<ul>
<li> <b>Main Page</b>: This page </li>
<li> <a href="modules.html"><b>Modules</b></a>:
Lets you find API by functional area
— for example,
<a href="group___c_p_p.html">C++ API</a> or
<a href="group___p_p.html">Data Types (PP)</a>.
Don't confuse this Doxygen term
with the Pepper concept of modules,
which are represented by pp::Module objects.
</li>
<li> <a href="annotated.html"><b>Data Structures</b></a>:
List of classes and data structures in PPAPI.
</li>
<li> <a href="files.html"><b>Files</b></a>:
The header files used to generate this documentation,
with file descriptions and links to generated doc.
Don't miss the <a href="globals.html">File member index</a>.
</li>
</ul>
\section todo TO DO {PENDING: remove/comment this out before publishing}
- add include filenames to doc {NOTE: they're now at the end of each page. ok?}
- check whether private fields should be documented
- make sure naming is consistent and as understandable as possible
(modules? plugins? ...)
<!-- - make sure access levels (public/protected/private are in the doc)
{PENDING: they appear to be. e.g. see file:///home/kathyw/SVN/ppapi/doc-out-linux/html/classpp_1_1_resource.html} -->
<!-- - Modules -> API Groups? I couldn't figure out how to do this. -->
*/
|