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_SIMPLE_PS_MAIN_H_ | 5 #ifndef PPAPI_SIMPLE_PS_MAIN_H_ |
6 #define PPAPI_SIMPLE_PS_MAIN_H_ | 6 #define PPAPI_SIMPLE_PS_MAIN_H_ |
7 | 7 |
8 #include "ppapi_simple/ps.h" | 8 #include "ppapi_simple/ps.h" |
9 #include "ppapi_simple/ps_event.h" | 9 #include "ppapi_simple/ps_event.h" |
10 | 10 |
11 EXTERN_C_BEGIN | 11 EXTERN_C_BEGIN |
12 | 12 |
13 typedef int (*PSMainFunc_t)(int argc, char *argv[]); | 13 typedef int (*PSMainFunc_t)(int argc, char *argv[]); |
14 | 14 |
15 /** | 15 /** |
16 * PSMainCreate | 16 * PSMainCreate |
17 * | 17 * |
18 * Constructs an instance SimpleInstance and configures it to call into | 18 * Constructs an instance SimpleInstance and configures it to call into |
19 * the provided "main" function. | 19 * the provided "main" function. |
20 */ | 20 */ |
21 void* PSMainCreate(PP_Instance inst, PSMainFunc_t func); | 21 void* PSMainCreate(PP_Instance inst); |
22 | 22 |
| 23 /** |
| 24 * PSUserMainGet |
| 25 * |
| 26 * Prototype for the user provided function which retrieves the user's main |
| 27 * function. |
| 28 * This is normally defined using the PPAPI_SIMPLE_REGISTER_MAIN macro. |
| 29 */ |
| 30 PSMainFunc_t PSUserMainGet(); |
23 | 31 |
24 /** | 32 /** |
25 * PPAPI_SIMPLE_REGISTER_MAIN | 33 * PPAPI_SIMPLE_REGISTER_MAIN |
26 * | 34 * |
27 * Constructs a PSInstance object and configures it to use call the provided | 35 * Constructs a PSInstance object and configures it to use call the provided |
28 * 'main' function on its own thread once initialization is complete. | 36 * 'main' function on its own thread once initialization is complete. |
29 */ | 37 */ |
30 #define PPAPI_SIMPLE_REGISTER_MAIN(main) \ | 38 #define PPAPI_SIMPLE_REGISTER_MAIN(main_func) \ |
31 PPAPI_SIMPLE_USE_MAIN(PSMainCreate, main) | 39 void* PSUserCreateInstance(PP_Instance inst) { \ |
| 40 return PSMainCreate(inst); \ |
| 41 } \ |
| 42 PSMainFunc_t PSUserMainGet() { \ |
| 43 return main_func; \ |
| 44 } |
32 | 45 |
33 EXTERN_C_END | 46 EXTERN_C_END |
34 | 47 |
35 #endif /* PPAPI_SIMPLE_PS_MAIN_H_ */ | 48 #endif /* PPAPI_SIMPLE_PS_MAIN_H_ */ |
OLD | NEW |