1 // Copyright 2014 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 MOJO_EXAMPLES_PEPPER_CONTAINER_APP_RESOURCE_CREATION_IMPL_H_
6 #define MOJO_EXAMPLES_PEPPER_CONTAINER_APP_RESOURCE_CREATION_IMPL_H_
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "build/build_config.h"
11 #include "ppapi/thunk/resource_creation_api.h"
16 class ResourceCreationImpl
: public ppapi::thunk::ResourceCreationAPI
{
18 ResourceCreationImpl();
19 virtual ~ResourceCreationImpl();
21 // ppapi::thunk::ResourceCreationAPI implementation.
22 virtual PP_Resource
CreateFileIO(PP_Instance instance
) OVERRIDE
;
23 virtual PP_Resource
CreateFileRef(
25 const ppapi::FileRefCreateInfo
& create_info
) OVERRIDE
;
26 virtual PP_Resource
CreateFileSystem(PP_Instance instance
,
27 PP_FileSystemType type
) OVERRIDE
;
28 virtual PP_Resource
CreateIMEInputEvent(PP_Instance instance
,
29 PP_InputEvent_Type type
,
30 PP_TimeTicks time_stamp
,
32 uint32_t segment_number
,
33 const uint32_t* segment_offsets
,
34 int32_t target_segment
,
35 uint32_t selection_start
,
36 uint32_t selection_end
) OVERRIDE
;
37 virtual PP_Resource
CreateKeyboardInputEvent_1_0(
39 PP_InputEvent_Type type
,
40 PP_TimeTicks time_stamp
,
43 PP_Var character_text
) OVERRIDE
;
44 virtual PP_Resource
CreateKeyboardInputEvent_1_2(
46 PP_InputEvent_Type type
,
47 PP_TimeTicks time_stamp
,
50 PP_Var character_text
,
51 PP_Var code
) OVERRIDE
;
52 virtual PP_Resource
CreateMouseInputEvent(
54 PP_InputEvent_Type type
,
55 PP_TimeTicks time_stamp
,
57 PP_InputEvent_MouseButton mouse_button
,
58 const PP_Point
* mouse_position
,
60 const PP_Point
* mouse_movement
) OVERRIDE
;
61 virtual PP_Resource
CreateTouchInputEvent(
63 PP_InputEvent_Type type
,
64 PP_TimeTicks time_stamp
,
65 uint32_t modifiers
) OVERRIDE
;
66 virtual PP_Resource
CreateTrueTypeFont(
68 const PP_TrueTypeFontDesc_Dev
* desc
) OVERRIDE
;
69 virtual PP_Resource
CreateURLLoader(PP_Instance instance
) OVERRIDE
;
70 virtual PP_Resource
CreateURLRequestInfo(
71 PP_Instance instance
) OVERRIDE
;
72 virtual PP_Resource
CreateWheelInputEvent(
74 PP_TimeTicks time_stamp
,
76 const PP_FloatPoint
* wheel_delta
,
77 const PP_FloatPoint
* wheel_ticks
,
78 PP_Bool scroll_by_page
) OVERRIDE
;
79 virtual PP_Resource
CreateAudio1_0(PP_Instance instance
,
80 PP_Resource config_id
,
81 PPB_Audio_Callback_1_0 audio_callback
,
82 void* user_data
) OVERRIDE
;
83 virtual PP_Resource
CreateAudio(PP_Instance instance
,
84 PP_Resource config_id
,
85 PPB_Audio_Callback audio_callback
,
86 void* user_data
) OVERRIDE
;
87 virtual PP_Resource
CreateAudioTrusted(PP_Instance instance
) OVERRIDE
;
88 virtual PP_Resource
CreateAudioConfig(PP_Instance instance
,
89 PP_AudioSampleRate sample_rate
,
90 uint32_t sample_frame_count
) OVERRIDE
;
91 virtual PP_Resource
CreateCompositor(PP_Instance instance
) OVERRIDE
;
92 virtual PP_Resource
CreateFileChooser(PP_Instance instance
,
93 PP_FileChooserMode_Dev mode
,
94 const PP_Var
& accept_types
) OVERRIDE
;
95 virtual PP_Resource
CreateGraphics2D(PP_Instance pp_instance
,
97 PP_Bool is_always_opaque
) OVERRIDE
;
98 virtual PP_Resource
CreateGraphics3D(PP_Instance instance
,
99 PP_Resource share_context
,
100 const int32_t* attrib_list
) OVERRIDE
;
101 virtual PP_Resource
CreateGraphics3DRaw(
102 PP_Instance instance
,
103 PP_Resource share_context
,
104 const int32_t* attrib_list
,
105 base::SharedMemoryHandle
* shared_state
) OVERRIDE
;
106 virtual PP_Resource
CreateHostResolver(PP_Instance instance
) OVERRIDE
;
107 virtual PP_Resource
CreateHostResolverPrivate(PP_Instance instance
) OVERRIDE
;
108 virtual PP_Resource
CreateImageData(PP_Instance instance
,
109 PP_ImageDataFormat format
,
111 PP_Bool init_to_zero
) OVERRIDE
;
112 virtual PP_Resource
CreateImageDataSimple(PP_Instance instance
,
113 PP_ImageDataFormat format
,
115 PP_Bool init_to_zero
) OVERRIDE
;
116 virtual PP_Resource
CreateMediaStreamVideoTrack(
117 PP_Instance instance
) OVERRIDE
;
118 virtual PP_Resource
CreateNetAddressFromIPv4Address(
119 PP_Instance instance
,
120 const PP_NetAddress_IPv4
* ipv4_addr
) OVERRIDE
;
121 virtual PP_Resource
CreateNetAddressFromIPv6Address(
122 PP_Instance instance
,
123 const PP_NetAddress_IPv6
* ipv6_addr
) OVERRIDE
;
124 virtual PP_Resource
CreateNetAddressFromNetAddressPrivate(
125 PP_Instance instance
,
126 const PP_NetAddress_Private
& private_addr
) OVERRIDE
;
127 virtual PP_Resource
CreateNetworkMonitor(PP_Instance instance
) OVERRIDE
;
128 virtual PP_Resource
CreateOutputProtectionPrivate(
129 PP_Instance instance
) OVERRIDE
;
130 virtual PP_Resource
CreatePrinting(PP_Instance
) OVERRIDE
;
131 virtual PP_Resource
CreateTCPServerSocketPrivate(
132 PP_Instance instance
) OVERRIDE
;
133 virtual PP_Resource
CreateTCPSocket1_0(PP_Instance instance
) OVERRIDE
;
134 virtual PP_Resource
CreateTCPSocket(PP_Instance instance
) OVERRIDE
;
135 virtual PP_Resource
CreateTCPSocketPrivate(PP_Instance instance
) OVERRIDE
;
136 virtual PP_Resource
CreateUDPSocket(PP_Instance instance
) OVERRIDE
;
137 virtual PP_Resource
CreateUDPSocketPrivate(PP_Instance instance
) OVERRIDE
;
138 virtual PP_Resource
CreateVideoDecoder(PP_Instance instance
) OVERRIDE
;
139 virtual PP_Resource
CreateVideoDestination(PP_Instance instance
) OVERRIDE
;
140 virtual PP_Resource
CreateVideoSource(PP_Instance instance
) OVERRIDE
;
141 virtual PP_Resource
CreateWebSocket(PP_Instance instance
) OVERRIDE
;
142 virtual PP_Resource
CreateX509CertificatePrivate(
143 PP_Instance instance
) OVERRIDE
;
144 #if !defined(OS_NACL)
145 virtual PP_Resource
CreateAudioInput(PP_Instance instance
) OVERRIDE
;
146 virtual PP_Resource
CreateBroker(PP_Instance instance
) OVERRIDE
;
147 virtual PP_Resource
CreateBrowserFont(
148 PP_Instance instance
,
149 const PP_BrowserFont_Trusted_Description
* description
) OVERRIDE
;
150 virtual PP_Resource
CreateBuffer(PP_Instance instance
,
151 uint32_t size
) OVERRIDE
;
152 virtual PP_Resource
CreateFlashDRM(PP_Instance instance
) OVERRIDE
;
153 virtual PP_Resource
CreateFlashFontFile(
154 PP_Instance instance
,
155 const PP_BrowserFont_Trusted_Description
* description
,
156 PP_PrivateFontCharset charset
) OVERRIDE
;
157 virtual PP_Resource
CreateFlashMenu(PP_Instance instance
,
158 const PP_Flash_Menu
* menu_data
) OVERRIDE
;
159 virtual PP_Resource
CreateFlashMessageLoop(PP_Instance instance
) OVERRIDE
;
160 virtual PP_Resource
CreatePlatformVerificationPrivate(
161 PP_Instance instance
) OVERRIDE
;
162 virtual PP_Resource
CreateScrollbar(PP_Instance instance
,
163 PP_Bool vertical
) OVERRIDE
;
164 virtual PP_Resource
CreateTalk(PP_Instance instance
) OVERRIDE
;
165 virtual PP_Resource
CreateVideoCapture(PP_Instance instance
) OVERRIDE
;
166 virtual PP_Resource
CreateVideoDecoderDev(
167 PP_Instance instance
,
168 PP_Resource context3d_id
,
169 PP_VideoDecoder_Profile profile
) OVERRIDE
;
170 #endif // !defined(OS_NACL)
173 DISALLOW_COPY_AND_ASSIGN(ResourceCreationImpl
);
176 } // namespace examples
179 #endif // MOJO_EXAMPLES_PEPPER_CONTAINER_APP_RESOURCE_CREATION_IMPL_H_