[Mac] Enable CrZombie for subprocesses in release builds.
[chromium-blink-merge.git] / ppapi / thunk / thunk.h
blobfe90eff61bc1f942677a87f37767c1c8112720c0
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef PPAPI_THUNK_THUNK_H_
6 #define PPAPI_THUNK_THUNK_H_
8 #include "ppapi/thunk/ppapi_thunk_export.h"
10 // Declares a getter for the interface thunk of the form:
12 // const PPB_Foo* ppapi::thunk::GetPPB_Foo_Thunk();
14 #define IFACE(api_name, interface_name, InterfaceType) \
15 struct InterfaceType; \
16 namespace ppapi { namespace thunk { \
17 PPAPI_THUNK_EXPORT const InterfaceType* Get##InterfaceType##_Thunk(); \
18 } }
19 #define PROXIED_IFACE IFACE
20 #define UNPROXIED_IFACE IFACE
22 #include "ppapi/thunk/interfaces_ppb_private.h"
23 #include "ppapi/thunk/interfaces_ppb_public_stable.h"
24 #include "ppapi/thunk/interfaces_ppb_public_dev.h"
26 #undef UNPROXIED_IFACE
27 #undef PROXIED_IFACE
28 #undef IFACE
30 struct PPB_AudioTrusted;
31 struct PPB_BrokerTrusted;
32 struct PPB_BufferTrusted;
33 struct PPB_Context3DTrusted_Dev;
34 struct PPB_FileIOTrusted;
35 struct PPB_Flash_Menu;
36 struct PPB_Flash_NetConnector;
37 struct PPB_Flash_TCPSocket;
38 struct PPB_Flash_UDPSocket;
39 struct PPB_Graphics3D;
40 struct PPB_Graphics3DTrusted;
41 struct PPB_ImageDataTrusted;
42 struct PPB_Instance_Private;
43 struct PPB_QueryPolicy_Dev;
44 struct PPB_URLLoaderTrusted;
46 typedef PPB_Instance PPB_Instance_1_0;
48 namespace ppapi {
49 namespace thunk {
51 // Old-style thunk getters. Only put trusted/private stuff here (it hasn't
52 // yet been converted to the new system). Otherwise, add the declaration to
53 // the appropriate interfaces_*.h file.
54 PPAPI_THUNK_EXPORT const PPB_AudioTrusted* GetPPB_AudioTrusted_Thunk();
55 PPAPI_THUNK_EXPORT const PPB_BrokerTrusted* GetPPB_Broker_Thunk();
56 PPAPI_THUNK_EXPORT const PPB_BufferTrusted* GetPPB_BufferTrusted_Thunk();
57 PPAPI_THUNK_EXPORT const PPB_Context3DTrusted_Dev*
58 GetPPB_Context3DTrusted_Thunk();
59 PPAPI_THUNK_EXPORT const PPB_FileIOTrusted* GetPPB_FileIOTrusted_Thunk();
60 PPAPI_THUNK_EXPORT const PPB_Flash_Menu* GetPPB_Flash_Menu_Thunk();
61 PPAPI_THUNK_EXPORT const PPB_Flash_NetConnector*
62 GetPPB_Flash_NetConnector_Thunk();
63 PPAPI_THUNK_EXPORT const PPB_Flash_TCPSocket* GetPPB_Flash_TCPSocket_Thunk();
64 PPAPI_THUNK_EXPORT const PPB_Flash_UDPSocket* GetPPB_Flash_UDPSocket_Thunk();
65 PPAPI_THUNK_EXPORT const PPB_Graphics3DTrusted*
66 GetPPB_Graphics3DTrusted_Thunk();
67 PPAPI_THUNK_EXPORT const PPB_ImageDataTrusted* GetPPB_ImageDataTrusted_Thunk();
68 PPAPI_THUNK_EXPORT const PPB_Instance_Private* GetPPB_Instance_Private_Thunk();
69 PPAPI_THUNK_EXPORT const PPB_QueryPolicy_Dev* GetPPB_QueryPolicy_Thunk();
70 PPAPI_THUNK_EXPORT const PPB_URLLoaderTrusted* GetPPB_URLLoaderTrusted_Thunk();
72 } // namespace thunk
73 } // namespace ppapi
75 #endif // PPAPI_THUNK_THUNK_H_