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. 4 5 #include <cstdio> 6 #include <cstdlib> 7 #include <cstring> 8 9 #include "native_client/src/shared/platform/nacl_check.h" 10 #include "ppapi/c/pp_errors.h" 11 #include "ppapi/c/pp_instance.h" 12 #include "ppapi/c/pp_module.h" 13 #include "ppapi/c/pp_var.h" 14 15 #include "ppapi/c/ppb.h" 16 #include "ppapi/c/ppb_instance.h" 17 #include "ppapi/c/ppp_instance.h" 18 #include "ppapi/c/ppp.h" 19 20 PP_EXPORT int32_t PPP_InitializeModule(PP_Module module_id, 21 PPB_GetInterface get_browser_interface) { 22 printf("PPP_InitializeModule\n"); 23 return PP_OK; 24 } 25 26 PP_EXPORT void PPP_ShutdownModule() { 27 printf("PPP_ShutdownModule\n"); 28 fflush(stdout); 29 } 30 31 namespace { 32 33 PP_Bool DidCreate(PP_Instance /*instance*/, 34 uint32_t /*argc*/, 35 const char* /*argn*/[], 36 const char* /*argv*/[]) { 37 return PP_TRUE; 38 } 39 40 void DidDestroy(PP_Instance /*instance*/) { 41 } 42 43 void DidChangeFocus(PP_Instance /*instance*/, PP_Bool /*has_focus*/) { 44 } 45 46 PP_Bool HandleDocumentLoad(PP_Instance /*instance*/, PP_Resource /*loader*/) { 47 return PP_FALSE; 48 } 49 50 const PPP_Instance instance_interface = { 51 DidCreate, 52 DidDestroy, 53 NULL, // Calling DidChangeView will cause a crash! 54 DidChangeFocus, 55 HandleDocumentLoad 56 }; 57 58 } // namespace 59 60 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) { 61 printf("PPP_GetInterface(%s)\n", interface_name); 62 if (0 == std::strcmp(interface_name, PPP_INSTANCE_INTERFACE)) // Required. 63 return reinterpret_cast<const void*>(&instance_interface); 64 return NULL; 65 } 66