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 #ifndef PPAPI_SHARED_IMPL_RESOURCE_H_ | 5 #ifndef PPAPI_SHARED_IMPL_RESOURCE_H_ |
6 #define PPAPI_SHARED_IMPL_RESOURCE_H_ | 6 #define PPAPI_SHARED_IMPL_RESOURCE_H_ |
7 | 7 |
8 #include <stddef.h> // For NULL. | 8 #include <stddef.h> // For NULL. |
9 | 9 |
10 #include <string> | 10 #include <string> |
(...skipping 22 matching lines...) Expand all Loading... |
33 F(PPB_FileIO_API) \ | 33 F(PPB_FileIO_API) \ |
34 F(PPB_FileRef_API) \ | 34 F(PPB_FileRef_API) \ |
35 F(PPB_FileSystem_API) \ | 35 F(PPB_FileSystem_API) \ |
36 F(PPB_Find_API) \ | 36 F(PPB_Find_API) \ |
37 F(PPB_Flash_Clipboard_API) \ | 37 F(PPB_Flash_Clipboard_API) \ |
38 F(PPB_Flash_DeviceID_API) \ | 38 F(PPB_Flash_DeviceID_API) \ |
39 F(PPB_Flash_FontFile_API) \ | 39 F(PPB_Flash_FontFile_API) \ |
40 F(PPB_Flash_Functions_API) \ | 40 F(PPB_Flash_Functions_API) \ |
41 F(PPB_Flash_Menu_API) \ | 41 F(PPB_Flash_Menu_API) \ |
42 F(PPB_Flash_MessageLoop_API) \ | 42 F(PPB_Flash_MessageLoop_API) \ |
| 43 F(PPB_Gamepad_API) \ |
43 F(PPB_Graphics2D_API) \ | 44 F(PPB_Graphics2D_API) \ |
44 F(PPB_Graphics3D_API) \ | 45 F(PPB_Graphics3D_API) \ |
45 F(PPB_HostResolver_Private_API) \ | 46 F(PPB_HostResolver_Private_API) \ |
46 F(PPB_ImageData_API) \ | 47 F(PPB_ImageData_API) \ |
47 F(PPB_InputEvent_API) \ | 48 F(PPB_InputEvent_API) \ |
48 F(PPB_LayerCompositor_API) \ | 49 F(PPB_LayerCompositor_API) \ |
49 F(PPB_MessageLoop_API) \ | 50 F(PPB_MessageLoop_API) \ |
50 F(PPB_NetworkList_Private_API) \ | 51 F(PPB_NetworkList_Private_API) \ |
51 F(PPB_NetworkMonitor_Private_API) \ | 52 F(PPB_NetworkMonitor_Private_API) \ |
52 F(PPB_PDFFont_API) \ | 53 F(PPB_PDFFont_API) \ |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 90 |
90 // Resources have slightly different registration behaviors when the're an | 91 // Resources have slightly different registration behaviors when the're an |
91 // in-process ("impl") resource in the host (renderer) process, or when they're | 92 // in-process ("impl") resource in the host (renderer) process, or when they're |
92 // a proxied resource in the plugin process. This enum differentiates those | 93 // a proxied resource in the plugin process. This enum differentiates those |
93 // cases. | 94 // cases. |
94 enum ResourceObjectType { | 95 enum ResourceObjectType { |
95 OBJECT_IS_IMPL, | 96 OBJECT_IS_IMPL, |
96 OBJECT_IS_PROXY | 97 OBJECT_IS_PROXY |
97 }; | 98 }; |
98 | 99 |
| 100 // These IDs are used to access singleton resource objects using |
| 101 // PPB_Instance_API.GetSingletonResource. |
| 102 enum SingletonResourceID { |
| 103 FLASH_SINGLETON_ID, |
| 104 FLASH_CLIPBOARD_SINGLETON_ID, |
| 105 GAMEPAD_SINGLETON_ID, |
| 106 }; |
| 107 |
99 class PPAPI_SHARED_EXPORT Resource : public base::RefCounted<Resource> { | 108 class PPAPI_SHARED_EXPORT Resource : public base::RefCounted<Resource> { |
100 public: | 109 public: |
101 // Constructor for impl and non-proxied, instance-only objects. | 110 // Constructor for impl and non-proxied, instance-only objects. |
102 // | 111 // |
103 // For constructing "impl" (non-proxied) objects, this just takes the | 112 // For constructing "impl" (non-proxied) objects, this just takes the |
104 // associated instance, and generates a new resource ID. The host resource | 113 // associated instance, and generates a new resource ID. The host resource |
105 // will be the same as the newly-generated resource ID. For all objects in | 114 // will be the same as the newly-generated resource ID. For all objects in |
106 // the renderer (host) process, you'll use this constructor and call it with | 115 // the renderer (host) process, you'll use this constructor and call it with |
107 // OBJECT_IS_IMPL. | 116 // OBJECT_IS_IMPL. |
108 // | 117 // |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 #define DEFINE_RESOURCE_CAST(RESOURCE) \ | 227 #define DEFINE_RESOURCE_CAST(RESOURCE) \ |
219 template<> inline thunk::RESOURCE* Resource::GetAs() { \ | 228 template<> inline thunk::RESOURCE* Resource::GetAs() { \ |
220 return As##RESOURCE(); \ | 229 return As##RESOURCE(); \ |
221 } | 230 } |
222 FOR_ALL_PPAPI_RESOURCE_APIS(DEFINE_RESOURCE_CAST) | 231 FOR_ALL_PPAPI_RESOURCE_APIS(DEFINE_RESOURCE_CAST) |
223 #undef DEFINE_RESOURCE_CAST | 232 #undef DEFINE_RESOURCE_CAST |
224 | 233 |
225 } // namespace ppapi | 234 } // namespace ppapi |
226 | 235 |
227 #endif // PPAPI_SHARED_IMPL_RESOURCE_H_ | 236 #endif // PPAPI_SHARED_IMPL_RESOURCE_H_ |
OLD | NEW |