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
3 * found in the LICENSE file. */
5 #ifndef PPAPI_SIMPLE_PS_MAIN_H_
6 #define PPAPI_SIMPLE_PS_MAIN_H_
8 #include "ppapi_simple/ps.h"
9 #include "ppapi_simple/ps_event.h"
13 typedef int (*PSMainFunc_t)(int argc, char *argv[]);
18 * Constructs an instance SimpleInstance and configures it to call into
19 * the provided "main" function.
21 void* PSMainCreate(PP_Instance inst, PSMainFunc_t entry_point);
26 * Prototype for the user provided function which retrieves the user's main
28 * This is normally defined using the PPAPI_SIMPLE_REGISTER_MAIN macro.
30 PSMainFunc_t PSUserMainGet();
33 * PPAPI_SIMPLE_REGISTER_MAIN
35 * Constructs a PSInstance object and configures it to use call the provided
36 * 'main' function on its own thread once initialization is complete.
38 #define PPAPI_SIMPLE_REGISTER_MAIN(main_func) \
39 PSMainFunc_t PSUserMainGet() { \
42 void* PSUserCreateInstance(PP_Instance inst) { \
43 return PSMainCreate(inst, main_func); \
48 #endif /* PPAPI_SIMPLE_PS_MAIN_H_ */