diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h index 300b8cfb1..8e7bb60f7 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h @@ -33,6 +33,14 @@ namespace NLMISC namespace NLQT { +/** +@interface IPlugin +@brief Base class for all plugins. +@details The IPlugin class is an abstract class that must be implemented +once for each plugin. The IPlugin implementation must be exported and +made known to Qt's plugin system via the Q_EXPORT_PLUGIN macro, +see the Qt documentation for details on that. +*/ class IPlugin { public: diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_manager.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_manager.h index dbcdb8463..e9485dbea 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_manager.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_manager.h @@ -28,6 +28,14 @@ namespace NLQT { class IPluginSpec; + +/** +@interface IPluginManager +@brief Interface for plugin system that manages the plugins, their life cycle and their registered objects. +@details The plugin manager is used for the following tasks: +- Manage plugins and their state +- Manipulate a 'common object pool' +*/ class IPluginManager: public QObject { Q_OBJECT diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h index c0d7ee67c..617c240c3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h @@ -26,7 +26,12 @@ namespace NLQT { class IPlugin; class IPluginManager; - + +/** +@struct State +@details The plugin goes through several steps while being loaded. +The state gives a hint on what went wrong in case of an error. +*/ struct State { enum List @@ -41,6 +46,14 @@ struct State }; }; +/** +@interface IPluginSpec +@brief Interface for plugin spec contains the information of the plugins and +information about the plugin's current state. +@details The plugin spec is also filled with more information as the plugin +goes through its loading process (see State). +If an error occurs, the plugin spec is the place to look for the error details. +*/ class IPluginSpec { public: