Home | History | Annotate | Download | only in cpp
      1 // Copyright (c) 2011 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 #ifndef PPAPI_CPP_MODULE_EMBEDDER_H_
      6 #define PPAPI_CPP_MODULE_EMBEDDER_H_
      7 
      8 #include "ppapi/c/ppp.h"
      9 
     10 /// @file
     11 /// This file defines the APIs for creating a Module object.
     12 namespace pp {
     13 
     14 class Module;
     15 
     16 /// This function creates the <code>pp::Module</code> object associated with
     17 /// this module.
     18 ///
     19 /// <strong>Note: </strong>NaCl module developers must implement this function.
     20 ///
     21 /// @return Returns the module if it was successfully created, or NULL on
     22 /// failure. Upon failure, the module will be unloaded.
     23 pp::Module* CreateModule();
     24 
     25 /// Sets the get interface function in the broker process.
     26 ///
     27 /// This function is only relevant when you're using the PPB_Broker interface
     28 /// in a trusted native plugin. In this case, you may need to implement
     29 /// PPP_GetInterface when the plugin is loaded in the unsandboxed process.
     30 /// Normally the C++ wrappers implement PPP_GetInterface for you but this
     31 /// doesn't work in the context of the broker process.
     32 //
     33 /// So if you need to implement PPP_* interfaces in the broker process, call
     34 /// this function in your PPP_InitializeBroker implementation which will set
     35 /// up the given function as implementing PPP_GetInterface.
     36 void SetBrokerGetInterfaceFunc(PP_GetInterface_Func broker_get_interface);
     37 
     38 }  // namespace pp
     39 
     40 #endif  // PPAPI_CPP_MODULE_EMBEDDER_H_
     41