Index: ppapi/native_client/src/trusted/plugin/ppapi_entrypoints.cc |
diff --git a/ppapi/native_client/src/trusted/plugin/ppapi_entrypoints.cc b/ppapi/native_client/src/trusted/plugin/ppapi_entrypoints.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1bc0e6db433f8ec938f001562e5288091a368279 |
--- /dev/null |
+++ b/ppapi/native_client/src/trusted/plugin/ppapi_entrypoints.cc |
@@ -0,0 +1,39 @@ |
+// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "ppapi/native_client/src/trusted/plugin/ppapi_entrypoints.h" |
+ |
+#include "ppapi/c/pp_errors.h" |
+#include "ppapi/c/pp_module.h" |
+#include "ppapi/c/ppb.h" |
+#include "ppapi/cpp/internal_module.h" |
+#include "ppapi/cpp/module.h" |
+#include "ppapi/native_client/src/trusted/plugin/module_ppapi.h" |
+ |
+namespace nacl_plugin { |
+ |
+int32_t PPP_InitializeModule(PP_Module module_id, |
+ PPB_GetInterface get_browser_interface) { |
+ plugin::ModulePpapi* module = new plugin::ModulePpapi(); |
+ if (!module->InternalInit(module_id, get_browser_interface)) { |
+ delete module; |
+ return PP_ERROR_FAILED; |
+ } |
+ |
+ pp::InternalSetModuleSingleton(module); |
+ return PP_OK; |
+} |
+ |
+void PPP_ShutdownModule() { |
+ delete pp::Module::Get(); |
+ pp::InternalSetModuleSingleton(NULL); |
+} |
+ |
+const void* PPP_GetInterface(const char* interface_name) { |
+ if (!pp::Module::Get()) |
+ return NULL; |
+ return pp::Module::Get()->GetPluginInterface(interface_name); |
+} |
+ |
+} // namespace nacl_plugin |