OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/thunk/interfaces_preamble.h" | 5 #include "ppapi/thunk/interfaces_preamble.h" |
6 | 6 |
7 // This file contains lists of interfaces. It's intended to be included by | 7 // This file contains lists of interfaces. It's intended to be included by |
8 // another file which defines implementations of the macros. This allows files | 8 // another file which defines implementations of the macros. This allows files |
9 // to do specific registration tasks for each supported interface. | 9 // to do specific registration tasks for each supported interface. |
10 // | 10 // |
11 // When adding an interface, you must also add the hash value for the | 11 // When adding an interface, you must also add the hash value for the |
12 // interface's name to tools/metrics/histograms/histograms.xml. This is so we | 12 // interface's name to tools/metrics/histograms/histograms.xml. This is so we |
13 // get human-readable UMA tracking for interface usage. | 13 // get human-readable UMA tracking for interface usage. |
14 // | 14 // |
15 // Use the 'pepper_hash_for_uma' tool in ppapi/tools to determine the hash for | 15 // Use the 'pepper_hash_for_uma' tool in ppapi/tools to determine the hash for |
16 // a given interface string. | 16 // a given interface string. |
17 | 17 |
18 // Api categories | 18 // Api categories |
19 // -------------- | 19 // -------------- |
20 // Enumerates the categories of APIs. These correspnd to the *_api.h files in | 20 // Enumerates the categories of APIs. These correspnd to the *_api.h files in |
21 // this directory. One API may implement one or more actual interfaces. | 21 // this directory. One API may implement one or more actual interfaces. |
22 // | 22 // |
23 // For PROXIED_APIs, these also correspond to *_Proxy objects. The proxied ones | 23 // For PROXIED_APIs, these also correspond to *_Proxy objects. The proxied ones |
24 // define factory functions for each of these classes. UNPROXIED_APIs are ones | 24 // define factory functions for each of these classes. |
25 // that exist in the webkit/plugins/ppapi/*_impl.h, but not in the proxy. | |
26 PROXIED_API(PPB_Audio) | 25 PROXIED_API(PPB_Audio) |
27 PROXIED_API(PPB_Core) | 26 PROXIED_API(PPB_Core) |
28 PROXIED_API(PPB_Graphics3D) | 27 PROXIED_API(PPB_Graphics3D) |
29 PROXIED_API(PPB_ImageData) | 28 PROXIED_API(PPB_ImageData) |
30 PROXIED_API(PPB_Instance) | 29 PROXIED_API(PPB_Instance) |
31 | 30 |
32 // AudioConfig isn't proxied in the normal way, we have only local classes and | |
33 // serialize it to a struct when we need it on the host side. | |
34 UNPROXIED_API(PPB_AudioConfig) | |
35 | |
36 // Interfaces | 31 // Interfaces |
37 // ---------- | 32 // ---------- |
38 // Enumerates interfaces as (api_name, interface_name, interface_struct). | 33 // Enumerates interfaces as (api_name, interface_name, interface_struct). |
39 // | 34 // |
40 // The api_name corresponds to the class in the list above for the object | 35 // The api_name corresponds to the class in the list above for the object |
41 // that implements the API. Some things may be special and aren't implemented | 36 // that implements the API. Some things may be special and aren't implemented |
42 // by any specific API object, and we use "NoAPIName" for those. Implementors | 37 // by any specific API object, and we use "NoAPIName" for those. Implementors |
43 // of these macros should handle this case. There can be more than one line | 38 // of these macros should handle this case. There can be more than one line |
44 // referring to the same api_name (typically different versions of the | 39 // referring to the same api_name (typically different versions of the |
45 // same interface). | 40 // same interface). |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 92 |
98 // Note: PPB_Var and PPB_VarArrayBuffer are special and registered manually. | 93 // Note: PPB_Var and PPB_VarArrayBuffer are special and registered manually. |
99 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_0, PPB_View_1_0) | 94 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_0, PPB_View_1_0) |
100 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_1, PPB_View_1_1) | 95 PROXIED_IFACE(PPB_VIEW_INTERFACE_1_1, PPB_View_1_1) |
101 | 96 |
102 // This has no corresponding _Proxy object since it does no IPC. | 97 // This has no corresponding _Proxy object since it does no IPC. |
103 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_0, PPB_AudioConfig_1_0) | 98 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_0, PPB_AudioConfig_1_0) |
104 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_1, PPB_AudioConfig_1_1) | 99 PROXIED_IFACE(PPB_AUDIO_CONFIG_INTERFACE_1_1, PPB_AudioConfig_1_1) |
105 | 100 |
106 #include "ppapi/thunk/interfaces_postamble.h" | 101 #include "ppapi/thunk/interfaces_postamble.h" |
OLD | NEW |