Index: ppapi/cpp/module.h |
=================================================================== |
--- ppapi/cpp/module.h (revision 96559) |
+++ ppapi/cpp/module.h (working copy) |
@@ -36,72 +36,109 @@ |
Module(); |
virtual ~Module(); |
- // Returns the global instance of this module object, or NULL if the module |
- // is not initialized yet. |
+ /// Get() returns the global instance of this module object, or NULL if the |
+ /// module is not initialized yet. |
+ /// |
+ /// @return The global instance of the module object. |
static Module* Get(); |
- // This function will be automatically called after the object is created. |
- // This is where you can put functions that rely on other parts of the API, |
- // now that the module has been created. |
+ /// Init() is automatically called after the object is created. This is where |
+ /// you can put functions that rely on other parts of the API, now that the |
+ /// module has been created. |
+ /// |
+ /// @return true if successful, otherwise false. |
virtual bool Init(); |
- // Returns the internal module handle. |
+ /// The pp_module() function returns the internal module handle. |
+ /// |
+ /// @return A <code>PP_Module</code> internal module handle. |
PP_Module pp_module() const { return pp_module_; } |
- // Returns the internal get_browser_interface pointer. |
- // TODO(sehr): This should be removed once the NaCl browser plugin no longer |
- // needs it. |
+ /// The get_browser_interface() function returns the internal |
+ /// <code>get_browser_interface</code> pointer. |
+ /// TODO(sehr): This should be removed once the NaCl browser plugin no longer |
+ /// needs it. |
+ /// |
+ /// @return A <code>PPB_GetInterface</code> internal pointer. |
PPB_GetInterface get_browser_interface() const { |
return get_browser_interface_; |
} |
- // Returns the core interface for doing basic global operations. This is |
- // guaranteed to be non-NULL once the module has successfully initialized |
- // and during the Init() call. |
- // |
- // It will be NULL before Init() has been called. |
+ /// The core() function returns the core interface for doing basic |
+ /// global operations. The return value is guaranteed to be non-NULL once the |
+ /// module has successfully initialized and during the Init() call. |
+ /// |
+ /// It will be NULL before Init() has been called. |
+ /// |
+ /// @return The core interface for doing basic global operations. |
Core* core() { return core_; } |
- // Implements GetInterface for the browser to get plugin interfaces. If you |
- // need to provide your own implementations of new interfaces, you can use |
- // AddPluginInterface which this function will use. |
+ /// GetPluginInterface() implements <code>GetInterface</code> for the browser |
+ /// to get module interfaces. If you need to provide your own implementations |
+ /// of new interfaces, use AddPluginInterface() which this function will use. |
+ /// |
+ /// @param[in] interface_name The module interface for the browser to get. |
const void* GetPluginInterface(const char* interface_name); |
- // Returns an interface in the browser. |
+ /// GetBrowserInterface() returns interfaces which the browser implements |
+ /// (i.e. PPB interfaces). |
+ /// @param[in] interface_name The browser interface for the moduel to get. |
const void* GetBrowserInterface(const char* interface_name); |
- // Returns the object associated with this PP_Instance, or NULL if one is |
- // not found. |
+ /// InstanceForPPInstance() returns the object associated with this |
+ /// <code>PP_Instance</code>, or NULL if one is not found. |
+ /// |
+ /// @param[in] instance This <code>PP_Instance</code>. |
+ /// |
+ /// @return The object associated with this <code>PP_Instance</code>, |
+ /// or NULL if one is not found. |
Instance* InstanceForPPInstance(PP_Instance instance); |
- // Adds a handler for a given interface name. When the browser requests |
- // that interface name, the given |vtable| will be returned. |
- // |
- // In general, plugins will not need to call this directly. Instead, the |
- // C++ wrappers for each interface will register themselves with this |
- // function. |
- // |
- // This function may be called more than once with the same interface name |
- // and vtable with no effect. However, it may not be used to register a |
- // different vtable for an already-registered interface. It will assert for |
- // a different registration for an already-registered interface in debug |
- // mode, and just ignore the registration in release mode. |
+ /// AddPluginInterface() adds a handler for a provided interface name. When |
+ /// the browser requests that interface name, the provided |
+ /// <code>vtable</code> will be returned. |
+ /// |
+ /// In general, modules will not need to call this directly. Instead, the |
+ /// C++ wrappers for each interface will register themselves with this |
+ /// function. |
+ /// |
+ /// This function may be called more than once with the same interface name |
+ /// and vtable with no effect. However, it may not be used to register a |
+ /// different vtable for an already-registered interface. It will assert for |
+ /// a different registration for an already-registered interface in debug |
+ /// mode, and just ignore the registration in release mode. |
+ /// |
+ /// @param[in] interface_name The interface name that will receive a handler. |
+ /// @param[in,out] vtable The vtable to return for |
+ /// <code>interface_name</code>. |
void AddPluginInterface(const std::string& interface_name, |
const void* vtable); |
- // Sets the browser interface and calls the regular init function that |
- // can be overridden by the base classes. |
- // |
- // TODO(brettw) make this private when I can figure out how to make the |
- // initialize function a friend. |
+ // InternalInit() sets the browser interface and calls the regular Init() |
+ /// function that can be overridden by the base classes. |
+ /// |
+ /// TODO(brettw) make this private when I can figure out how to make the |
+ /// initialize function a friend. |
+ /// |
+ /// @param[in] mod A <code>PP_Module</code>. |
+ /// @param[in] get_browser_interface The browser interface to set. |
+ /// |
+ /// @return true if successful, otherwise false. |
bool InternalInit(PP_Module mod, |
PPB_GetInterface get_browser_interface); |
- // Allows iteration over the current instances in the module. |
+ /// The current_instances() function allows iteration over the |
+ /// current instances in the module. |
+ /// |
+ /// @return An <code>InstanceMap</code> of all instances in the module. |
const InstanceMap& current_instances() const { return current_instances_; } |
protected: |
- // Override to create your own plugin type. |
+ /// CreateInstance() should be overridden to create your own module type. |
+ /// |
+ /// @param[in] instance A <code>PP_Instance</code>. |
+ /// |
+ /// @return The resulting instance. |
virtual Instance* CreateInstance(PP_Instance instance) = 0; |
private: |