Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: ppapi/shared_impl/resource.h

Issue 16819002: PPAPI: Introduce PPB_NetworkProxy_Dev (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/proxy/ppb_instance_proxy.cc ('k') | ppapi/shared_impl/singleton_resource_id.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 F(PPB_Graphics3D_API) \ 49 F(PPB_Graphics3D_API) \
50 F(PPB_HostResolver_API) \ 50 F(PPB_HostResolver_API) \
51 F(PPB_HostResolver_Private_API) \ 51 F(PPB_HostResolver_Private_API) \
52 F(PPB_ImageData_API) \ 52 F(PPB_ImageData_API) \
53 F(PPB_InputEvent_API) \ 53 F(PPB_InputEvent_API) \
54 F(PPB_LayerCompositor_API) \ 54 F(PPB_LayerCompositor_API) \
55 F(PPB_MessageLoop_API) \ 55 F(PPB_MessageLoop_API) \
56 F(PPB_NetAddress_API) \ 56 F(PPB_NetAddress_API) \
57 F(PPB_NetworkList_API) \ 57 F(PPB_NetworkList_API) \
58 F(PPB_NetworkMonitor_Private_API) \ 58 F(PPB_NetworkMonitor_Private_API) \
59 F(PPB_NetworkProxy_API) \
59 F(PPB_PDF_API) \ 60 F(PPB_PDF_API) \
60 F(PPB_Printing_API) \ 61 F(PPB_Printing_API) \
61 F(PPB_ResourceArray_API) \ 62 F(PPB_ResourceArray_API) \
62 F(PPB_Scrollbar_API) \ 63 F(PPB_Scrollbar_API) \
63 F(PPB_Talk_Private_API) \ 64 F(PPB_Talk_Private_API) \
64 F(PPB_TrueTypeFont_API) \ 65 F(PPB_TrueTypeFont_API) \
65 F(PPB_TrueTypeFont_Singleton_API) \ 66 F(PPB_TrueTypeFont_Singleton_API) \
66 F(PPB_TCPServerSocket_Private_API) \ 67 F(PPB_TCPServerSocket_Private_API) \
67 F(PPB_TCPSocket_API) \ 68 F(PPB_TCPSocket_API) \
68 F(PPB_TCPSocket_Private_API) \ 69 F(PPB_TCPSocket_Private_API) \
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 virtual void NotifyInstanceWasDeleted(); 188 virtual void NotifyInstanceWasDeleted();
188 189
189 // Dynamic casting for this object. Returns the pointer to the given type if 190 // Dynamic casting for this object. Returns the pointer to the given type if
190 // it's supported. Derived classes override the functions they support to 191 // it's supported. Derived classes override the functions they support to
191 // return the interface. 192 // return the interface.
192 #define DEFINE_TYPE_GETTER(RESOURCE) \ 193 #define DEFINE_TYPE_GETTER(RESOURCE) \
193 virtual thunk::RESOURCE* As##RESOURCE(); 194 virtual thunk::RESOURCE* As##RESOURCE();
194 FOR_ALL_PPAPI_RESOURCE_APIS(DEFINE_TYPE_GETTER) 195 FOR_ALL_PPAPI_RESOURCE_APIS(DEFINE_TYPE_GETTER)
195 #undef DEFINE_TYPE_GETTER 196 #undef DEFINE_TYPE_GETTER
196 197
197 // Template-based dynamic casting. See specializations below. 198 // Template-based dynamic casting. See specializations below. This is
198 template <typename T> T* GetAs() { return NULL; } 199 // unimplemented for the default case. This way, for anything that's not a
200 // resource (or if a developer forgets to add the resource to the list in
201 // this file), the result is a linker error.
202 template <typename T> T* GetAs();
199 203
200 // Called when a PpapiPluginMsg_ResourceReply reply is received for a 204 // Called when a PpapiPluginMsg_ResourceReply reply is received for a
201 // previous CallRenderer. The message is the nested reply message, which may 205 // previous CallRenderer. The message is the nested reply message, which may
202 // be an empty message (depending on what the host sends). 206 // be an empty message (depending on what the host sends).
203 // 207 //
204 // The default implementation will assert (if you send a request, you should 208 // The default implementation will assert (if you send a request, you should
205 // override this function). 209 // override this function).
206 // 210 //
207 // (This function would make more conceptual sense on PluginResource but we 211 // (This function would make more conceptual sense on PluginResource but we
208 // need to call this function from general code that doesn't know how to 212 // need to call this function from general code that doesn't know how to
(...skipping 30 matching lines...) Expand all
239 #define DEFINE_RESOURCE_CAST(RESOURCE) \ 243 #define DEFINE_RESOURCE_CAST(RESOURCE) \
240 template<> inline thunk::RESOURCE* Resource::GetAs() { \ 244 template<> inline thunk::RESOURCE* Resource::GetAs() { \
241 return As##RESOURCE(); \ 245 return As##RESOURCE(); \
242 } 246 }
243 FOR_ALL_PPAPI_RESOURCE_APIS(DEFINE_RESOURCE_CAST) 247 FOR_ALL_PPAPI_RESOURCE_APIS(DEFINE_RESOURCE_CAST)
244 #undef DEFINE_RESOURCE_CAST 248 #undef DEFINE_RESOURCE_CAST
245 249
246 } // namespace ppapi 250 } // namespace ppapi
247 251
248 #endif // PPAPI_SHARED_IMPL_RESOURCE_H_ 252 #endif // PPAPI_SHARED_IMPL_RESOURCE_H_
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_instance_proxy.cc ('k') | ppapi/shared_impl/singleton_resource_id.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698