| // Copyright (c) 2011 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. | |
| #ifndef PPAPI_CPP_MODULE_EMBEDDER_H_ | |
| #define PPAPI_CPP_MODULE_EMBEDDER_H_ | |
| #include "ppapi/c/ppp.h" | |
| /// @file | |
| /// This file defines the APIs for creating a Module object. | |
| namespace pp { | |
| class Module; | |
| /// This function creates the <code>pp::Module</code> object associated with | |
| /// this module. | |
| /// | |
| /// <strong>Note: </strong>NaCl module developers must implement this function. | |
| /// | |
| /// @return Returns the module if it was successfully created, or NULL on | |
| /// failure. Upon failure, the module will be unloaded. | |
| pp::Module* CreateModule(); | |
| /// Sets the get interface function in the broker process. | |
| /// | |
| /// This function is only relevant when you're using the PPB_Broker interface | |
| /// in a trusted native plugin. In this case, you may need to implement | |
| /// PPP_GetInterface when the plugin is loaded in the unsandboxed process. | |
| /// Normally the C++ wrappers implement PPP_GetInterface for you but this | |
| /// doesn't work in the context of the broker process. | |
| // | |
| /// So if you need to implement PPP_* interfaces in the broker process, call | |
| /// this function in your PPP_InitializeBroker implementation which will set | |
| /// up the given function as implementing PPP_GetInterface. | |
| void SetBrokerGetInterfaceFunc(PP_GetInterface_Func broker_get_interface); | |
| } // namespace pp | |
| #endif // PPAPI_CPP_MODULE_EMBEDDER_H_ |