Home | History | Annotate | Download | only in nonsfi
      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 
     17 int 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 
     32 int32_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 
     38 void PPP_ShutdownModule(void) {
     39   nacl::nonsfi::g_pp_functions.PPP_ShutdownModule();
     40 }
     41 
     42 const void *PPP_GetInterface(const char *interface_name) {
     43   return nacl::nonsfi::g_pp_functions.PPP_GetInterface(interface_name);
     44 }
     45