OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 /* Copyright 2013 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 #include "ppapi_simple/ps.h" | 5 #include "ppapi_simple/ps.h" |
6 #include "ppapi_simple/ps_interface.h" | 6 #include "ppapi_simple/ps_interface.h" |
7 | 7 |
8 #define DEFINE_INTERFACE_FUNC(Name) \ | 8 #define DEFINE_INTERFACE_FUNC(Name) \ |
9 static const PPB_##Name* s_##Name; \ | 9 static const PPB_##Name* s_##Name; \ |
10 const PPB_##Name* PSInterface##Name() { return s_##Name; } | 10 const PPB_##Name* PSInterface##Name() { return s_##Name; } |
11 | 11 |
12 DEFINE_INTERFACE_FUNC(Audio) | 12 DEFINE_INTERFACE_FUNC(Audio) |
13 DEFINE_INTERFACE_FUNC(AudioConfig) | 13 DEFINE_INTERFACE_FUNC(AudioConfig) |
14 DEFINE_INTERFACE_FUNC(Console) | 14 DEFINE_INTERFACE_FUNC(Console) |
15 DEFINE_INTERFACE_FUNC(Core) | 15 DEFINE_INTERFACE_FUNC(Core) |
16 DEFINE_INTERFACE_FUNC(FileIO) | 16 DEFINE_INTERFACE_FUNC(FileIO) |
17 DEFINE_INTERFACE_FUNC(FileRef) | 17 DEFINE_INTERFACE_FUNC(FileRef) |
18 DEFINE_INTERFACE_FUNC(FileSystem) | 18 DEFINE_INTERFACE_FUNC(FileSystem) |
19 DEFINE_INTERFACE_FUNC(Fullscreen) | 19 DEFINE_INTERFACE_FUNC(Fullscreen) |
20 DEFINE_INTERFACE_FUNC(Gamepad) | 20 DEFINE_INTERFACE_FUNC(Gamepad) |
21 DEFINE_INTERFACE_FUNC(Graphics2D) | 21 DEFINE_INTERFACE_FUNC(Graphics2D) |
22 DEFINE_INTERFACE_FUNC(Graphics3D) | 22 DEFINE_INTERFACE_FUNC(Graphics3D) |
23 DEFINE_INTERFACE_FUNC(ImageData) | 23 DEFINE_INTERFACE_FUNC(ImageData) |
24 DEFINE_INTERFACE_FUNC(Instance) | 24 DEFINE_INTERFACE_FUNC(Instance) |
| 25 DEFINE_INTERFACE_FUNC(InputEvent) |
25 DEFINE_INTERFACE_FUNC(Messaging) | 26 DEFINE_INTERFACE_FUNC(Messaging) |
26 DEFINE_INTERFACE_FUNC(MessageLoop) | 27 DEFINE_INTERFACE_FUNC(MessageLoop) |
27 DEFINE_INTERFACE_FUNC(MouseCursor) | 28 DEFINE_INTERFACE_FUNC(MouseCursor) |
28 DEFINE_INTERFACE_FUNC(URLLoader) | 29 DEFINE_INTERFACE_FUNC(URLLoader) |
29 DEFINE_INTERFACE_FUNC(URLRequestInfo) | 30 DEFINE_INTERFACE_FUNC(URLRequestInfo) |
30 DEFINE_INTERFACE_FUNC(URLResponseInfo) | 31 DEFINE_INTERFACE_FUNC(URLResponseInfo) |
31 DEFINE_INTERFACE_FUNC(Var) | 32 DEFINE_INTERFACE_FUNC(Var) |
| 33 DEFINE_INTERFACE_FUNC(VarArray) |
32 DEFINE_INTERFACE_FUNC(VarArrayBuffer) | 34 DEFINE_INTERFACE_FUNC(VarArrayBuffer) |
| 35 DEFINE_INTERFACE_FUNC(VarDictionary) |
33 DEFINE_INTERFACE_FUNC(View) | 36 DEFINE_INTERFACE_FUNC(View) |
34 DEFINE_INTERFACE_FUNC(WebSocket) | 37 DEFINE_INTERFACE_FUNC(WebSocket) |
35 | 38 |
36 | 39 #define REQUEST_INTERFACE(x, y) \ |
37 #define REQUEST_INTERFACE(x, y) \ | 40 s_##x = (const PPB_##x*)(PSGetInterface(PPB_##y##_INTERFACE)); |
38 s_##x = static_cast<const PPB_##x*>(PSGetInterface(PPB_ ## y ##_INTERFACE)); | |
39 | 41 |
40 void PSInterfaceInit() { | 42 void PSInterfaceInit() { |
41 REQUEST_INTERFACE(Audio, AUDIO) | 43 REQUEST_INTERFACE(Audio, AUDIO) |
42 REQUEST_INTERFACE(AudioConfig, AUDIO_CONFIG) | 44 REQUEST_INTERFACE(AudioConfig, AUDIO_CONFIG) |
43 REQUEST_INTERFACE(Console, CONSOLE) | 45 REQUEST_INTERFACE(Console, CONSOLE) |
44 REQUEST_INTERFACE(Core, CORE) | 46 REQUEST_INTERFACE(Core, CORE) |
45 REQUEST_INTERFACE(FileIO, FILEIO) | 47 REQUEST_INTERFACE(FileIO, FILEIO) |
46 REQUEST_INTERFACE(FileRef, FILEREF) | 48 REQUEST_INTERFACE(FileRef, FILEREF) |
47 REQUEST_INTERFACE(FileSystem, FILESYSTEM) | 49 REQUEST_INTERFACE(FileSystem, FILESYSTEM) |
48 REQUEST_INTERFACE(Fullscreen, FULLSCREEN) | 50 REQUEST_INTERFACE(Fullscreen, FULLSCREEN) |
49 REQUEST_INTERFACE(Gamepad, GAMEPAD) | 51 REQUEST_INTERFACE(Gamepad, GAMEPAD) |
50 REQUEST_INTERFACE(Graphics2D, GRAPHICS_2D) | 52 REQUEST_INTERFACE(Graphics2D, GRAPHICS_2D) |
51 REQUEST_INTERFACE(Graphics3D, GRAPHICS_3D) | 53 REQUEST_INTERFACE(Graphics3D, GRAPHICS_3D) |
52 REQUEST_INTERFACE(ImageData, IMAGEDATA) | 54 REQUEST_INTERFACE(ImageData, IMAGEDATA) |
53 REQUEST_INTERFACE(Instance, INSTANCE) | 55 REQUEST_INTERFACE(Instance, INSTANCE) |
| 56 REQUEST_INTERFACE(InputEvent, INPUT_EVENT) |
54 REQUEST_INTERFACE(Messaging, MESSAGING) | 57 REQUEST_INTERFACE(Messaging, MESSAGING) |
55 REQUEST_INTERFACE(MessageLoop, MESSAGELOOP) | 58 REQUEST_INTERFACE(MessageLoop, MESSAGELOOP) |
56 REQUEST_INTERFACE(MouseCursor, MOUSECURSOR) | 59 REQUEST_INTERFACE(MouseCursor, MOUSECURSOR) |
57 REQUEST_INTERFACE(URLLoader, URLLOADER) | 60 REQUEST_INTERFACE(URLLoader, URLLOADER) |
58 REQUEST_INTERFACE(URLRequestInfo, URLREQUESTINFO) | 61 REQUEST_INTERFACE(URLRequestInfo, URLREQUESTINFO) |
59 REQUEST_INTERFACE(URLResponseInfo, URLRESPONSEINFO) | 62 REQUEST_INTERFACE(URLResponseInfo, URLRESPONSEINFO) |
60 REQUEST_INTERFACE(Var, VAR) | 63 REQUEST_INTERFACE(Var, VAR) |
| 64 REQUEST_INTERFACE(VarArray, VAR_ARRAY) |
61 REQUEST_INTERFACE(VarArrayBuffer, VAR_ARRAY_BUFFER) | 65 REQUEST_INTERFACE(VarArrayBuffer, VAR_ARRAY_BUFFER) |
| 66 REQUEST_INTERFACE(VarDictionary, VAR_DICTIONARY) |
62 REQUEST_INTERFACE(View, VIEW) | 67 REQUEST_INTERFACE(View, VIEW) |
63 REQUEST_INTERFACE(WebSocket, WEBSOCKET) | 68 REQUEST_INTERFACE(WebSocket, WEBSOCKET) |
64 } | 69 } |
OLD | NEW |