summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/module.h
diff options
context:
space:
mode:
authorjond@google.com <jond@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-16 18:38:16 +0000
committerjond@google.com <jond@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-16 18:38:16 +0000
commit047509d8277cde2859c98858fd65367a3ea0f4e2 (patch)
tree93b372c907fe5035b102266b873c4ee8701f2226 /ppapi/cpp/module.h
parentbfab6da4e76ab8387a1d121edde9679f2dce39c5 (diff)
downloadchromium_src-047509d8277cde2859c98858fd65367a3ea0f4e2.zip
chromium_src-047509d8277cde2859c98858fd65367a3ea0f4e2.tar.gz
chromium_src-047509d8277cde2859c98858fd65367a3ea0f4e2.tar.bz2
Missed some items to document here. New documentation.
Review URL: http://codereview.chromium.org/7621019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96987 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp/module.h')
-rw-r--r--ppapi/cpp/module.h115
1 files changed, 76 insertions, 39 deletions
diff --git a/ppapi/cpp/module.h b/ppapi/cpp/module.h
index a47cd26..a9af8e0 100644
--- a/ppapi/cpp/module.h
+++ b/ppapi/cpp/module.h
@@ -36,72 +36,109 @@ class Module {
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: