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. 4 5 #include "base/logging.h" 6 #include "components/nacl/loader/nonsfi/irt_interfaces.h" 7 #include "ppapi/c/ppp.h" 8 #include "ppapi/nacl_irt/plugin_main.h" 9 #include "ppapi/nacl_irt/public/irt_ppapi.h" 10 11 namespace nacl { 12 namespace nonsfi { 13 namespace { 14 15 struct PP_StartFunctions g_pp_functions; 16 IrtPpapiStart(const struct PP_StartFunctions * funcs)17int IrtPpapiStart(const struct PP_StartFunctions* funcs) { 18 g_pp_functions = *funcs; 19 return PpapiPluginMain(); 20 } 21 22 } // namespace 23 24 const struct nacl_irt_ppapihook kIrtPpapiHook = { 25 IrtPpapiStart, 26 PpapiPluginRegisterThreadCreator, 27 }; 28 29 } // namespace nonsfi 30 } // namespace nacl 31 PPP_InitializeModule(PP_Module module_id,PPB_GetInterface get_browser_interface)32int32_t PPP_InitializeModule(PP_Module module_id, 33 PPB_GetInterface get_browser_interface) { 34 return nacl::nonsfi::g_pp_functions.PPP_InitializeModule( 35 module_id, get_browser_interface); 36 } 37 PPP_ShutdownModule(void)38void PPP_ShutdownModule(void) { 39 nacl::nonsfi::g_pp_functions.PPP_ShutdownModule(); 40 } 41 PPP_GetInterface(const char * interface_name)42const void *PPP_GetInterface(const char *interface_name) { 43 return nacl::nonsfi::g_pp_functions.PPP_GetInterface(interface_name); 44 } 45