| 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 |