瀏覽代碼

Merge branch 'doxygen-grouping'

* doxygen-grouping:
  Added group definitions and assignments for doxygen.

Conflicts:
	Libs/PluginFramework/ctkPluginFramework_global.h
Sascha Zelzer 14 年之前
父節點
當前提交
fa4eb174c4
共有 99 個文件被更改,包括 738 次插入322 次删除
  1. 15 0
      Documentation/CTKMainPage.dox
  2. 6 0
      Libs/Core/Documentation/CTKCore.dox
  3. 2 0
      Libs/Core/ctkAbstractFactory.h
  4. 2 0
      Libs/Core/ctkAbstractFileBasedFactory.h
  5. 2 0
      Libs/Core/ctkAbstractLibraryFactory.h
  6. 3 1
      Libs/Core/ctkAbstractObjectFactory.h
  7. 2 0
      Libs/Core/ctkAbstractPluginFactory.h
  8. 1 0
      Libs/Core/ctkAbstractQObjectFactory.h
  9. 3 2
      Libs/Core/ctkBinaryFileDescriptor.h
  10. 2 0
      Libs/Core/ctkCommandLineParser.h
  11. 1 0
      Libs/Core/ctkCorePythonQtDecorators.h
  12. 1 0
      Libs/Core/ctkDependencyGraph.h
  13. 2 0
      Libs/Core/ctkHistogram.h
  14. 2 0
      Libs/Core/ctkLogger.h
  15. 1 1
      Libs/Core/ctkModelTester.h
  16. 13 0
      Libs/Core/ctkPimpl.h
  17. 3 0
      Libs/Core/ctkSingleton.h
  18. 5 0
      Libs/Core/ctkTransferFunction.h
  19. 1 0
      Libs/Core/ctkTransferFunctionRepresentation.h
  20. 7 0
      Libs/Core/ctkUtils.h
  21. 1 0
      Libs/Core/ctkWorkflow.h
  22. 1 0
      Libs/Core/ctkWorkflowStep.h
  23. 3 0
      Libs/Core/ctkWorkflowStep_p.h
  24. 4 0
      Libs/Core/ctkWorkflowTransitions.h
  25. 6 0
      Libs/Core/ctkWorkflow_p.h
  26. 20 0
      Libs/PluginFramework/Documentation/CTKPluginFramework.dox
  27. 7 0
      Libs/PluginFramework/ctkCaseInsensitiveString.h
  28. 2 0
      Libs/PluginFramework/ctkDictionary.h
  29. 1 0
      Libs/PluginFramework/ctkLDAPExpr_p.h
  30. 5 0
      Libs/PluginFramework/ctkLDAPSearchFilter.h
  31. 9 0
      Libs/PluginFramework/ctkPlugin.h
  32. 2 0
      Libs/PluginFramework/ctkPluginAbstractTracked_p.h
  33. 2 0
      Libs/PluginFramework/ctkPluginActivator.h
  34. 2 0
      Libs/PluginFramework/ctkPluginArchive_p.h
  35. 3 1
      Libs/PluginFramework/ctkPluginConstants.h
  36. 2 0
      Libs/PluginFramework/ctkPluginContext.h
  37. 3 0
      Libs/PluginFramework/ctkPluginContext_p.h
  38. 6 2
      Libs/PluginFramework/ctkPluginDatabaseException.h
  39. 3 0
      Libs/PluginFramework/ctkPluginDatabase_p.h
  40. 7 0
      Libs/PluginFramework/ctkPluginEvent.h
  41. 5 1
      Libs/PluginFramework/ctkPluginException.h
  42. 2 0
      Libs/PluginFramework/ctkPluginFramework.h
  43. 3 0
      Libs/PluginFramework/ctkPluginFrameworkContext_p.h
  44. 7 0
      Libs/PluginFramework/ctkPluginFrameworkEvent.h
  45. 43 42
      Libs/PluginFramework/ctkPluginFrameworkFactory.h
  46. 3 0
      Libs/PluginFramework/ctkPluginFrameworkListeners_p.h
  47. 3 0
      Libs/PluginFramework/ctkPluginFrameworkPrivate_p.h
  48. 3 0
      Libs/PluginFramework/ctkPluginFrameworkUtil_p.h
  49. 6 0
      Libs/PluginFramework/ctkPluginFramework_global.h
  50. 2 0
      Libs/PluginFramework/ctkPluginLocalization.h
  51. 3 1
      Libs/PluginFramework/ctkPluginManifest_p.h
  52. 3 0
      Libs/PluginFramework/ctkPluginPrivate_p.h
  53. 2 0
      Libs/PluginFramework/ctkPluginStorage_p.h
  54. 2 0
      Libs/PluginFramework/ctkPluginTracker.h
  55. 2 0
      Libs/PluginFramework/ctkPluginTrackerCustomizer.h
  56. 3 1
      Libs/PluginFramework/ctkPluginTrackerPrivate.h
  57. 120 118
      Libs/PluginFramework/ctkPlugins_p.h
  58. 15 12
      Libs/PluginFramework/ctkRequirePlugin_p.h
  59. 3 0
      Libs/PluginFramework/ctkRuntimeException.h
  60. 7 0
      Libs/PluginFramework/ctkServiceEvent.h
  61. 5 1
      Libs/PluginFramework/ctkServiceException.h
  62. 2 0
      Libs/PluginFramework/ctkServiceFactory.h
  63. 7 0
      Libs/PluginFramework/ctkServiceReference.h
  64. 3 0
      Libs/PluginFramework/ctkServiceReferencePrivate.h
  65. 5 0
      Libs/PluginFramework/ctkServiceRegistration.h
  66. 3 0
      Libs/PluginFramework/ctkServiceRegistrationPrivate.h
  67. 5 0
      Libs/PluginFramework/ctkServiceSlotEntry_p.h
  68. 2 0
      Libs/PluginFramework/ctkServiceTracker.h
  69. 2 0
      Libs/PluginFramework/ctkServiceTrackerCustomizer.h
  70. 3 1
      Libs/PluginFramework/ctkServiceTrackerPrivate.h
  71. 2 1
      Libs/PluginFramework/ctkServices_p.h
  72. 3 0
      Libs/PluginFramework/ctkTrackedPluginListener_p.h
  73. 3 1
      Libs/PluginFramework/ctkTrackedPlugin_p.h
  74. 3 0
      Libs/PluginFramework/ctkTrackedServiceListener_p.h
  75. 3 1
      Libs/PluginFramework/ctkTrackedService_p.h
  76. 5 2
      Libs/PluginFramework/ctkVersion.h
  77. 92 90
      Libs/PluginFramework/ctkVersionRange_p.h
  78. 8 0
      Libs/PluginFramework/service/cm/ctkConfiguration.h
  79. 1 0
      Libs/PluginFramework/service/cm/ctkConfigurationAdmin.h
  80. 6 0
      Libs/PluginFramework/service/cm/ctkConfigurationEvent.h
  81. 8 0
      Libs/PluginFramework/service/cm/ctkConfigurationException.h
  82. 2 0
      Libs/PluginFramework/service/cm/ctkConfigurationListener.h
  83. 2 0
      Libs/PluginFramework/service/cm/ctkConfigurationPlugin.h
  84. 2 0
      Libs/PluginFramework/service/cm/ctkManagedService.h
  85. 2 0
      Libs/PluginFramework/service/cm/ctkManagedServiceFactory.h
  86. 2 1
      Libs/PluginFramework/service/event/ctkEvent.h
  87. 2 0
      Libs/PluginFramework/service/event/ctkEventAdmin.h
  88. 2 1
      Libs/PluginFramework/service/event/ctkEventConstants.h
  89. 2 0
      Libs/PluginFramework/service/event/ctkEventHandler.h
  90. 9 0
      Libs/PluginFramework/service/log/ctkLogEntry.h
  91. 2 0
      Libs/PluginFramework/service/log/ctkLogListener.h
  92. 2 0
      Libs/PluginFramework/service/log/ctkLogReaderService.h
  93. 114 41
      Libs/PluginFramework/service/log/ctkLogService.h
  94. 3 0
      Libs/PluginFramework/service/log/ctkLogStream.h
  95. 7 0
      Libs/PluginFramework/service/metatype/ctkAttributeDefinition.h
  96. 5 0
      Libs/PluginFramework/service/metatype/ctkMetaTypeInformation.h
  97. 2 0
      Libs/PluginFramework/service/metatype/ctkMetaTypeProvider.h
  98. 2 0
      Libs/PluginFramework/service/metatype/ctkMetaTypeService.h
  99. 5 0
      Libs/PluginFramework/service/metatype/ctkObjectClassDefinition.h

+ 15 - 0
Documentation/CTKMainPage.dox

@@ -0,0 +1,15 @@
+/**
+
+\mainpage
+
+\section intro_sec Introduction
+
+See the <a href="http://www.commontk.org">CTK Wiki</a> for more information.
+
+\defgroup Apps CTK Applications
+
+\defgroup Libs CTK Libraries
+
+\defgroup Plugins CTK Plugins
+
+*/

+ 6 - 0
Libs/Core/Documentation/CTKCore.dox

@@ -0,0 +1,6 @@
+/**
+\defgroup Core CTK Core
+\ingroup Libs
+The CTK Core library provides generally useful utility classes.
+
+*/

+ 2 - 0
Libs/Core/ctkAbstractFactory.h

@@ -34,6 +34,7 @@
 #endif
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 /// ctkAbstractFactoryItem is the base class of factory items. They are
 /// uniquely defined by a key and are responsible for creating/holding an
 /// instance of a BaseClassType object.
@@ -63,6 +64,7 @@ private:
 };
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 /// \brief ctkAbstractFactory is the base class of all the factory where items need
 /// to be registered before being instantiated.
 /// \paragraph ctkAbstractFactory contains a collection of ctkAbstractFactoryItems that

+ 2 - 0
Libs/Core/ctkAbstractFileBasedFactory.h

@@ -29,6 +29,7 @@
 #include "ctkAbstractFactory.h"
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkAbstractFactoryFileBasedItem : public ctkAbstractFactoryItem<BaseClassType>
 {
@@ -43,6 +44,7 @@ private:
 };
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkAbstractFileBasedFactory : public ctkAbstractFactory<BaseClassType>
 {

+ 2 - 0
Libs/Core/ctkAbstractLibraryFactory.h

@@ -30,6 +30,7 @@
 #include "ctkAbstractFileBasedFactory.h"
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkFactoryLibraryItem : public ctkAbstractFactoryFileBasedItem<BaseClassType>
 {
@@ -64,6 +65,7 @@ private:
 };
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkAbstractLibraryFactory : public ctkAbstractFileBasedFactory<BaseClassType>
 {

+ 3 - 1
Libs/Core/ctkAbstractObjectFactory.h

@@ -29,7 +29,7 @@
 
 //----------------------------------------------------------------------------
 namespace{
-  /// 
+  /// \ingroup Core
   /// Function in charge of instanciating an object of type: ClassType
   template<typename BaseClassType, typename ClassType>
     BaseClassType *instantiateObject()
@@ -39,6 +39,7 @@ namespace{
 }
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType, typename ClassType>
 class ctkFactoryObjectItem : public ctkAbstractFactoryItem<BaseClassType>
 {
@@ -53,6 +54,7 @@ private:
 };
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkAbstractObjectFactory : public ctkAbstractFactory<BaseClassType>
 {

+ 2 - 0
Libs/Core/ctkAbstractPluginFactory.h

@@ -29,6 +29,7 @@
 #include "ctkAbstractFileBasedFactory.h"
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkFactoryPluginItem : public ctkAbstractFactoryFileBasedItem<BaseClassType>
 {
@@ -45,6 +46,7 @@ private:
 };
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkAbstractPluginFactory : public ctkAbstractFileBasedFactory<BaseClassType>
 {

+ 1 - 0
Libs/Core/ctkAbstractQObjectFactory.h

@@ -28,6 +28,7 @@
 #include "ctkAbstractObjectFactory.h"
 
 //----------------------------------------------------------------------------
+/// \ingroup Core
 template<typename BaseClassType>
 class ctkAbstractQObjectFactory : public ctkAbstractObjectFactory<BaseClassType>
 {

+ 3 - 2
Libs/Core/ctkBinaryFileDescriptor.h

@@ -37,11 +37,12 @@
 
 #include "ctkWidgetsExport.h"
 
-/// Allows to resolve global symbols contained into an executable.
-/// Implementation valid only for unix-like systems (Linux, Mac, ...)
 
 class ctkBinaryFileDescriptorPrivate;
 
+/// \ingroup Core
+/// Allows to resolve global symbols contained into an executable.
+/// Implementation valid only for unix-like systems (Linux, Mac, ...)
 class CTK_WIDGETS_EXPORT ctkBinaryFileDescriptor
 {
 public:

+ 2 - 0
Libs/Core/ctkCommandLineParser.h

@@ -12,6 +12,8 @@ class QSettings;
 #include "ctkCoreExport.h"
 
 /**
+ * \ingroup Core
+ *
  * The CTK command line parser.
  *
  * Use this class to add information about the command line arguments

+ 1 - 0
Libs/Core/ctkCorePythonQtDecorators.h

@@ -32,6 +32,7 @@
 // for non-static methods.
 //
 
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkCorePythonQtDecorators : public QObject
 {
   Q_OBJECT

+ 1 - 0
Libs/Core/ctkDependencyGraph.h

@@ -35,6 +35,7 @@
 #endif
 class ctkDependencyGraphPrivate;
 
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkDependencyGraph
 {
 public:

+ 2 - 0
Libs/Core/ctkHistogram.h

@@ -33,12 +33,14 @@
 #include "ctkCoreExport.h"
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 struct CTK_CORE_EXPORT ctkHistogramBar : public ctkControlPoint
 {
   QColor Color;
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkHistogram: public ctkTransferFunction
 {
   Q_OBJECT

+ 2 - 0
Libs/Core/ctkLogger.h

@@ -29,6 +29,8 @@
 #include "ctkCoreExport.h"
 
 class ctkLoggerPrivate;
+
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkLogger : public QObject
 {
   Q_OBJECT

+ 1 - 1
Libs/Core/ctkModelTester.h

@@ -34,7 +34,7 @@
 class QAbstractItemModel;
 class ctkModelTesterPrivate;
 
-///
+/// \ingroup Core
 /// ctkModelTester is a tool that tests any QAbstractItemModel
 /// Most of the signals fired by the model set (ctkModelTester::setModel())
 /// are connected to the tester that check their consistency with the 

+ 13 - 0
Libs/Core/ctkPimpl.h

@@ -1,4 +1,6 @@
 /**
+\page CorePimpl CTK Pimpl Macros
+
 \brief Utility macros for handling private implementations. It is in addition
        to QtGlobal: Q_DECLARE_PRIVATE, Q_DECLARE_PUBLIC,
        Q_D and Q_Q.
@@ -53,9 +55,15 @@ macro.
 #include <QtGlobal>
 
 /*!
+ * \ingroup Core
+ * @{
+ */
+
+/*!
  * Define a public class constructor with no argument
  *
  * Also make sure the Pimpl is initalized
+ * \see \ref CorePimpl
  */
 #define CTK_CONSTRUCTOR_NO_ARG_CPP(PUB)  \
   PUB::PUB(): d_ptr(new PUB##Private)    \
@@ -66,6 +74,7 @@ macro.
  * Define a public class constructor with one argument
  *
  * Also make sure the Pimpl is initalized
+ * \see \ref CorePimpl
  */
 #define CTK_CONSTRUCTOR_1_ARG_CPP(PUB, _ARG1)   \
   PUB::PUB(_ARG1 _parent)                       \
@@ -80,6 +89,7 @@ macro.
  * This should be put in the .cxx file of the public class. The parameter are
  * the name of the public class (PUB), the type of the argument to return (_TYPE),
  * the name of the getter(_NAME) and the name of the variable in the Private class(_VARNAME).
+ * \see \ref CorePimpl
  */
 #define CTK_SET_CPP(PUB, _TYPE, _NAME, _VARNAME)    \
   void PUB::_NAME(_TYPE var)                        \
@@ -94,6 +104,7 @@ macro.
  * This should be put in the .cxx file of the public class. The parameter are
  * the name of the public class (PUB), the type of the argument to return (_TYPE),
  * the name of the setter(_NAME) and the name of the variable in the Private class(_VARNAME).
+ * \see \ref CorePimpl
  */
 #define CTK_GET_CPP(PUB, _TYPE, _NAME, _VARNAME)   \
   _TYPE PUB::_NAME()const                          \
@@ -102,4 +113,6 @@ macro.
     return d->_VARNAME;                            \
   }
 
+/**@}*/
+
 #endif

+ 3 - 0
Libs/Core/ctkSingleton.h

@@ -23,6 +23,8 @@
 #define __ctkSingleton_h
 
 //
+/// \ingroup Core
+/// @{
 /// Singleton definition and declaration helpers
 //
 /// See http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.12
@@ -105,5 +107,6 @@ void NAME::classFinalize()                          \
                                                     \
 CTK_SINGLETON_DEFINE_INITIALIZER(NAME)
 
+///@}
 
 #endif //__ctkSingleton_h

+ 5 - 0
Libs/Core/ctkTransferFunction.h

@@ -35,6 +35,7 @@ class ctkTransferFunctionPrivate;
 class ctkTransferFunctionRepresentation;
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 struct CTK_CORE_EXPORT ctkPoint
 {
   ctkPoint(){}
@@ -48,6 +49,7 @@ struct CTK_CORE_EXPORT ctkPoint
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 /// assumes the mapping is linear by default, if not, then subclasses must be 
 /// used
 struct CTK_CORE_EXPORT ctkControlPoint
@@ -59,6 +61,7 @@ struct CTK_CORE_EXPORT ctkControlPoint
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 struct CTK_CORE_EXPORT ctkBezierControlPoint : public ctkControlPoint
 {
   virtual ~ctkBezierControlPoint();
@@ -67,6 +70,7 @@ struct CTK_CORE_EXPORT ctkBezierControlPoint : public ctkControlPoint
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 struct CTK_CORE_EXPORT ctkNonLinearControlPoint : public ctkControlPoint
 {
   virtual ~ctkNonLinearControlPoint();
@@ -74,6 +78,7 @@ struct CTK_CORE_EXPORT ctkNonLinearControlPoint : public ctkControlPoint
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkTransferFunction: public QObject
 {
   Q_OBJECT

+ 1 - 0
Libs/Core/ctkTransferFunctionRepresentation.h

@@ -36,6 +36,7 @@ class ctkTransferFunction;
 class ctkTransferFunctionRepresentationPrivate;
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkTransferFunctionRepresentation: public QObject
 {
   Q_OBJECT

+ 7 - 0
Libs/Core/ctkUtils.h

@@ -31,19 +31,23 @@
 
 namespace ctk {
 ///
+/// \ingroup Core
 /// Convert a QStringList to Vector of char*
 /// Caller will be responsible to delete the content of the vector
 void CTK_CORE_EXPORT qListToSTLVector(const QStringList& list, std::vector<char*>& vector);
 
 ///
+/// \ingroup Core
 /// Convert a QStringList to a Vector of string
 void CTK_CORE_EXPORT qListToSTLVector(const QStringList& list, std::vector<std::string>& vector);
 
 ///
+/// \ingroup Core
 /// Convert a Vector of string to QStringList
 void CTK_CORE_EXPORT stlVectorToQList(const std::vector<std::string>& vector, QStringList& list);
 
 ///
+/// \ingroup Core
 /// Convert a nameFilter to a list of file extensions:
 /// "Images (*.png *.jpg *.tiff)" -> "*.png", "*.jpg", "*.tiff"
 /// Note: the nameFilter can be a simple wildcard "*.jpg" in that case, it
@@ -52,16 +56,19 @@ void CTK_CORE_EXPORT stlVectorToQList(const std::vector<std::string>& vector, QS
 QStringList CTK_CORE_EXPORT nameFilterToExtensions(const QString& nameFilter);
 
 ///
+/// \ingroup Core
 /// Convert a nameFilter to a list of file extensions:
 /// "Images (*.png *.jpg *.tiff)", "Text (*.txt)" -> "*.png", "*.jpg", "*.tiff", "*.txt"
 QStringList CTK_CORE_EXPORT nameFiltersToExtensions(const QStringList& nameFilters);
 
 ///
+/// \ingroup Core
 /// Convert a wildcar extension filter ("*.jpg") into a regular expression string
 /// "*.jpg" -> ".*\\.jpg?$"
 QString CTK_CORE_EXPORT extensionToRegExp(const QString& extension);
 
 ///
+/// \ingroup Core
 /// Convert a list of wildcar extension filters ("*.jpg")
 /// into a regular expression string
 /// "*.jpg", "*.txt" -> "(.*\\.jpg?$|.*\\.txt?$)"

+ 1 - 0
Libs/Core/ctkWorkflow.h

@@ -32,6 +32,7 @@ class ctkWorkflowStep;
 class ctkWorkflowPrivate;
 class QAbstractState;
 
+/// \ingroup Core
 /// \brief ctkWorkflow is the basis for a workflow engine, i.e. a state
 /// machine with enhancements to support ctkWorkflowStep.
 

+ 1 - 0
Libs/Core/ctkWorkflowStep.h

@@ -36,6 +36,7 @@ class ctkWorkflow;
 
 class ctkWorkflowStepPrivate;
 
+/// \ingroup Core
 /// \brief ctkWorkflowStep is the basis for a workflow step.
 ///
 /// A workflow step is a placeholder for various states and transitions that are used in a

+ 3 - 0
Libs/Core/ctkWorkflowStep_p.h

@@ -37,6 +37,9 @@ class QState;
 class ctkWorkflow;
 
 //-----------------------------------------------------------------------------
+/**
+ * \ingroup Core
+ */
 class CTK_CORE_EXPORT ctkWorkflowStepPrivate: public QObject
 {
   Q_OBJECT

+ 4 - 0
Libs/Core/ctkWorkflowTransitions.h

@@ -29,6 +29,7 @@
 // CTK includes
 #include "ctkCoreExport.h"
 
+/// \ingroup Core
 /// \brief Custom transitions for use with ctkWorkflow.
 ///
 /// ctkWorkflowIntrastepTransition: for transition between states of the same step.  The transition
@@ -60,6 +61,7 @@ struct CTK_CORE_EXPORT ctkWorkflowIntrastepTransitionEvent : public QEvent
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkWorkflowIntrastepTransition : public QAbstractTransition
 {
   Q_OBJECT
@@ -100,6 +102,7 @@ private:
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 struct CTK_CORE_EXPORT ctkWorkflowInterstepTransitionEvent : public QEvent
 {
 
@@ -125,6 +128,7 @@ struct CTK_CORE_EXPORT ctkWorkflowInterstepTransitionEvent : public QEvent
 };
 
 //-----------------------------------------------------------------------------
+/// \ingroup Core
 class CTK_CORE_EXPORT ctkWorkflowInterstepTransition : public QAbstractTransition
 {
   Q_OBJECT

+ 6 - 0
Libs/Core/ctkWorkflow_p.h

@@ -37,6 +37,9 @@ class ctkWorkflowStep;
 //enum ctkWorkflow::TransitionDirectionality;
 
 //-----------------------------------------------------------------------------
+/**
+ * \ingroup Core
+ */
 struct forwardAndBackwardSteps
 {
   QList<ctkWorkflowStep*> forwardSteps()
@@ -132,6 +135,9 @@ private:
 };
 
 // --------------------------------------------------------------------------
+/**
+ * \ingroup Core
+ */
 class ctkWorkflowPrivate : public QObject
 {
   Q_OBJECT

+ 20 - 0
Libs/PluginFramework/Documentation/CTKPluginFramework.dox

@@ -0,0 +1,20 @@
+/**
+\defgroup PluginFramework CTK Plugin Framework
+\ingroup Libs
+The CTK Plugin Framework is an OSGi like modularization framework for building cross-platform, dynamic, and modular applications. See <a href="http://www.commontk.org/index.php/Documentation/CTK_Plugin_Framework:_Introduction">Introduction to the CTK Plugin Framework</a> for an overview.
+
+\defgroup ConfigAdmin Configuration Admin
+\ingroup PluginFramework
+
+\defgroup EventAdmin Event Admin
+\ingroup PluginFramework
+
+\defgroup LogService Log Service
+\ingroup PluginFramework
+
+\defgroup Metatype Metatype
+\ingroup PluginFramework
+
+\defgroup 
+
+*/

+ 7 - 0
Libs/PluginFramework/ctkCaseInsensitiveString.h

@@ -28,6 +28,8 @@
 #include <ctkPluginFrameworkExport.h>
 
 /**
+ * \ingroup PluginFramework
+ *
  * ctkCaseInsensitiveString wraps a QString and can be
  * used in Qt container classes as a key type representing
  * case insensitive strings. However, case is preserved when
@@ -104,6 +106,9 @@ private:
 };
 
 /**
+ * \ingroup PluginFramework
+ * @{
+ *
  * Returns a hash value for the lower case string.
  *
  * @param str The string to be hashed.
@@ -113,4 +118,6 @@ uint CTK_PLUGINFW_EXPORT qHash(const ctkCaseInsensitiveString& str);
 CTK_PLUGINFW_EXPORT QDataStream& operator<<(QDataStream &out, const ctkCaseInsensitiveString& str);
 CTK_PLUGINFW_EXPORT QDataStream& operator>>(QDataStream &in, ctkCaseInsensitiveString& str);
 
+/** @}*/
+
 #endif // CTKCASEINSENSITIVESTRING_P_H

+ 2 - 0
Libs/PluginFramework/ctkDictionary.h

@@ -29,6 +29,8 @@
 #include "ctkPluginFramework_global.h"
 
 /**
+ * \ingroup PluginFramework
+ *
  * A QHash based dictionary class with case-insensitive keys. This class
  * uses ctkCaseInsensitiveString as key type and QVariant as values. Due
  * to the conversion capabilities of ctkCaseInsensitiveString, QString objects

+ 1 - 0
Libs/PluginFramework/ctkLDAPExpr_p.h

@@ -36,6 +36,7 @@ limitations under the License.
 class ctkLDAPExprData;
 
 /**
+\ingroup PluginFramework
 \brief LDAP Expression
 \date 19 May 2010
 \author Xavi Planes

+ 5 - 0
Libs/PluginFramework/ctkLDAPSearchFilter.h

@@ -33,6 +33,8 @@
 class ctkLDAPSearchFilterData;
 
 /**
+ * \ingroup PluginFramework
+ *
  * An <a href="http://www.ietf.org/rfc/rfc1960.txt">RFC 1960</a>-based Filter.
  *
  * <p>
@@ -157,6 +159,9 @@ protected:
 
 };
 
+/**
+ * \ingroup PluginFramework
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkLDAPSearchFilter& filter);
 
 #endif // CTKLDAPSEARCHFILTER_H

+ 9 - 0
Libs/PluginFramework/ctkPlugin.h

@@ -37,6 +37,8 @@ class ctkPluginFrameworkContext;
 class ctkPluginPrivate;
 
 /**
+ * \ingroup PluginFramework
+ *
  * An installed plugin in the Framework.
  *
  * <p>
@@ -689,6 +691,11 @@ protected:
   void init(const QWeakPointer<ctkPlugin>& self, ctkPluginFrameworkContext* fw, ctkPluginArchive* ba);
 };
 
+/**
+ * \ingroup PluginFramework
+ * @{
+ */
+
 Q_DECLARE_METATYPE(ctkPlugin*)
 Q_DECLARE_METATYPE(QSharedPointer<ctkPlugin>)
 
@@ -703,4 +710,6 @@ CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug debug, ctkPlugin const * plugin);
 CTK_PLUGINFW_EXPORT ctkLogStream& operator<<(ctkLogStream& stream, ctkPlugin const * plugin);
 CTK_PLUGINFW_EXPORT ctkLogStream& operator<<(ctkLogStream& stream, const QSharedPointer<ctkPlugin>& plugin);
 
+/** @}*/
+
 #endif // CTKPLUGIN_H

+ 2 - 0
Libs/PluginFramework/ctkPluginAbstractTracked_p.h

@@ -30,6 +30,8 @@
 #include <QVariant>
 
 /**
+ * \ingroup PluginFramework
+ *
  * Abstract class to track items. If a Tracker is reused (closed then reopened),
  * then a new ctkPluginAbstractTracked object is used. This class acts as a map of tracked
  * item -> customized object. Subclasses of this class will act as the listener

+ 2 - 0
Libs/PluginFramework/ctkPluginActivator.h

@@ -25,6 +25,8 @@
 #include "ctkPluginContext.h"
 
 /**
+ * \ingroup PluginFramework
+ *
  * Customizes the starting and stopping of a plugin.
  * <p>
  * <code>%ctkPluginActivator</code> is an interface that must be implemented by

+ 2 - 0
Libs/PluginFramework/ctkPluginArchive_p.h

@@ -36,6 +36,8 @@ class QIODevice;
 class ctkPluginStorage;
 
 /**
+ * \ingroup PluginFramework
+ *
  * Class for managing plugin data.
  *
  */

+ 3 - 1
Libs/PluginFramework/ctkPluginConstants.h

@@ -26,7 +26,9 @@
 
 #include "ctkPluginFrameworkExport.h"
 
-
+/**
+ * \ingroup PluginFramework
+ */
 struct CTK_PLUGINFW_EXPORT ctkPluginConstants {
 
   /**

+ 2 - 0
Libs/PluginFramework/ctkPluginContext.h

@@ -45,6 +45,8 @@ class ctkPluginPrivate;
 class ctkPluginContextPrivate;
 
 /**
+ * \ingroup PluginFramework
+ *
  * A plugin's execution context within the Framework. The context is used to
  * grant access to other methods so that this plugin can interact with the
  * Framework.

+ 3 - 0
Libs/PluginFramework/ctkPluginContext_p.h

@@ -24,6 +24,9 @@
 
 class ctkPluginPrivate;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginContextPrivate
 {
 

+ 6 - 2
Libs/PluginFramework/ctkPluginDatabaseException.h

@@ -24,7 +24,9 @@
 
 #include "ctkRuntimeException.h"
 
-
+/**
+ * \ingroup PluginFramework
+ */
 class Q_DECL_EXPORT ctkPluginDatabaseException : public ctkRuntimeException
 {
 public:
@@ -54,7 +56,9 @@ private:
 
 };
 
-
+/**
+ * \ingroup PluginFramework
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkPluginDatabaseException& exc);
 
 #endif // CTKPLUGINDATABASEEXCEPTION_H

+ 3 - 0
Libs/PluginFramework/ctkPluginDatabase_p.h

@@ -29,6 +29,9 @@
 class ctkPluginStorage;
 class ctkPluginArchive;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginDatabase
 {
 

+ 7 - 0
Libs/PluginFramework/ctkPluginEvent.h

@@ -33,6 +33,8 @@ class ctkPlugin;
 class ctkPluginEventData;
 
 /**
+ * \ingroup PluginFramework
+ *
  * An event from the Framework describing a plugin lifecycle change.
  * <p>
  * <code>ctkPluginEvent</code> objects are delivered to slots connected
@@ -204,7 +206,12 @@ public:
 
 Q_DECLARE_METATYPE(ctkPluginEvent)
 
+/**
+ * \ingroup PluginFramework
+ * @{
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug debug, ctkPluginEvent::Type eventType);
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug debug, const ctkPluginEvent& event);
+/** @}*/
 
 #endif // CTKPLUGINEVENT_H

+ 5 - 1
Libs/PluginFramework/ctkPluginException.h

@@ -25,6 +25,8 @@
 #include "ctkRuntimeException.h"
 
 /**
+ * \ingroup PluginFramework
+ *
  * A Plugin Framework exception used to indicate that a plugin lifecycle
  * problem occurred.
  *
@@ -129,7 +131,9 @@ private:
 
 };
 
-
+/**
+ * \ingroup PluginFramework
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkPluginException& exc);
 
 #endif // CTKPLUGINEXCEPTION_H

+ 2 - 0
Libs/PluginFramework/ctkPluginFramework.h

@@ -32,6 +32,8 @@ class ctkPluginFrameworkContext;
 class ctkPluginFrameworkPrivate;
 
 /**
+ * \ingroup PluginFramework
+ *
  * A %ctkPluginFramework instance. A %ctkPluginFramework is also known as a System %Plugin.
  *
  * <p>

+ 3 - 0
Libs/PluginFramework/ctkPluginFrameworkContext_p.h

@@ -36,6 +36,9 @@ class ctkPlugin;
 class ctkPluginStorage;
 class ctkServices;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginFrameworkContext
 {
 

+ 7 - 0
Libs/PluginFramework/ctkPluginFrameworkEvent.h

@@ -34,6 +34,8 @@ class ctkPlugin;
 class ctkPluginFrameworkEventData;
 
 /**
+ * \ingroup PluginFramework
+ *
  * A general event from the Framework.
  *
  * <p>
@@ -193,7 +195,12 @@ public:
 
 Q_DECLARE_METATYPE(ctkPluginFrameworkEvent);
 
+/**
+ * \ingroup PluginFramework
+ * @{
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, ctkPluginFrameworkEvent::Type type);
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkPluginFrameworkEvent& event);
+/** @} */
 
 #endif // CTKPLUGINFRAMEWORKEVENT_H

+ 43 - 42
Libs/PluginFramework/ctkPluginFrameworkFactory.h

@@ -31,51 +31,52 @@
 
 #include "ctkPluginFramework_global.h"
 
-  class ctkPluginFramework;
-  class ctkPluginFrameworkContext;
+class ctkPluginFramework;
+class ctkPluginFrameworkContext;
+
+/**
+ * \ingroup PluginFramework
+ * A factory for creating ctkPluginFramework instances.
+ */
+class CTK_PLUGINFW_EXPORT ctkPluginFrameworkFactory
+{
+
+public:
 
   /**
-   * A factory for creating ctkPluginFramework instances.
+   * Create a new <code>%ctkPluginFrameworkFactory</code> instance.
+   *
+   * <p>
+   * The ctkProperties map is used to configure the ctkPluginFramework. The
+   * plugin framework instance created with #getFramework() must interpret
+   * the following properties:
+   *
+   * <p>
+   * <ul><li>ctkPluginConstants::FRAMEWORK_STORAGE</li>
+   * </ul>
+   *
+   * @param initProps The plugin framework configuration properties.
+   *        The ctkPluginFramework instance created with #getFramework()
+   *        must use some reasonable default configuration if certain
+   *        properties are not provided.
    */
-  class CTK_PLUGINFW_EXPORT ctkPluginFrameworkFactory
-  {
-
-  public:
-
-    /**
-     * Create a new <code>%ctkPluginFrameworkFactory</code> instance.
-     *
-     * <p>
-     * The ctkProperties map is used to configure the ctkPluginFramework. The
-     * plugin framework instance created with #getFramework() must interpret
-     * the following properties:
-     *
-     * <p>
-     * <ul><li>ctkPluginConstants::FRAMEWORK_STORAGE</li>
-     * </ul>
-     *
-     * @param initProps The plugin framework configuration properties.
-     *        The ctkPluginFramework instance created with #getFramework()
-     *        must use some reasonable default configuration if certain
-     *        properties are not provided.
-     */
-    ctkPluginFrameworkFactory(const ctkProperties& initProps = ctkProperties());
-
-    ~ctkPluginFrameworkFactory();
-
-    /**
-     * Create a new ctkPluginFramework instance.
-     *
-     * @return A new, configured ctkPluginFramework instance. The plugin
-     *         framework instance must be in the ctkPlugin::INSTALLED state.
-     */
-    QSharedPointer<ctkPluginFramework> getFramework();
-
-  private:
-
-    ctkPluginFrameworkContext * const fwCtx;
-
-  };
+  ctkPluginFrameworkFactory(const ctkProperties& initProps = ctkProperties());
+
+  ~ctkPluginFrameworkFactory();
+
+  /**
+   * Create a new ctkPluginFramework instance.
+   *
+   * @return A new, configured ctkPluginFramework instance. The plugin
+   *         framework instance must be in the ctkPlugin::INSTALLED state.
+   */
+  QSharedPointer<ctkPluginFramework> getFramework();
+
+private:
+
+  ctkPluginFrameworkContext * const fwCtx;
+
+};
 
 
 #endif // CTKPLUGINFRAMEWORKFACTORY_H

+ 3 - 0
Libs/PluginFramework/ctkPluginFrameworkListeners_p.h

@@ -33,6 +33,9 @@
 #include "ctkServiceSlotEntry_p.h"
 #include "ctkServiceEvent.h"
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginFrameworkListeners : public QObject
 {
 

+ 3 - 0
Libs/PluginFramework/ctkPluginFrameworkPrivate_p.h

@@ -30,6 +30,9 @@
 
 class ctkPluginFrameworkContext;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginFrameworkPrivate : public ctkPluginPrivate
 {
 public:

+ 3 - 0
Libs/PluginFramework/ctkPluginFrameworkUtil_p.h

@@ -28,6 +28,9 @@
 
 class ctkPluginFrameworkContext;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginFrameworkUtil
 {
 public:

+ 6 - 0
Libs/PluginFramework/ctkPluginFramework_global.h

@@ -27,6 +27,10 @@
 #include <QStringList>
 #include <QVariant>
 
+/**
+ * \ingroup PluginFramework
+ * @{
+ */
 typedef QHash<QString, QVariant> ctkProperties;
 
 #if QT_VERSION < 0x040700
@@ -78,4 +82,6 @@ QStringList getIIDs()
   return ids;
 }
 
+/** @}*/
+
 #endif // CTKPLUGINFRAMEWORK_GLOBAL_H

+ 2 - 0
Libs/PluginFramework/ctkPluginLocalization.h

@@ -33,6 +33,8 @@ class ctkPlugin;
 struct ctkPluginLocalizationData;
 
 /**
+ * \ingroup PluginFramework
+ *
  * Translate text into different languages.
  *
  * Use this class to dynamically translate human-readable text

+ 3 - 1
Libs/PluginFramework/ctkPluginManifest_p.h

@@ -26,7 +26,9 @@
 
 class QIODevice;
 
-
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginManifest
 {
 

+ 3 - 0
Libs/PluginFramework/ctkPluginPrivate_p.h

@@ -36,6 +36,9 @@ class ctkPluginActivator;
 class ctkPluginArchive;
 class ctkPluginFrameworkContext;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkPluginPrivate {
 
 protected:

+ 2 - 0
Libs/PluginFramework/ctkPluginStorage_p.h

@@ -36,6 +36,8 @@ class ctkPluginArchive;
 class ctkPluginFrameworkContext;
 
 /**
+ * \ingroup PluginFramework
+ *
  * Storage of all plugin meta-data and resources
  */
 class ctkPluginStorage

+ 2 - 0
Libs/PluginFramework/ctkPluginTracker.h

@@ -34,6 +34,8 @@ template<class T> class ctkTrackedPlugin;
 template<class T> class ctkPluginTrackerPrivate;
 
 /**
+ * \ingroup PluginFramework
+ *
  * The <code>ctkPluginTracker</code> class simplifies tracking plugins much like
  * the <code>ctkServiceTracker</code> simplifies tracking services.
  * <p>

+ 2 - 0
Libs/PluginFramework/ctkPluginTrackerCustomizer.h

@@ -31,6 +31,8 @@ class QObject;
 class ctkPlugin;
 
 /**
+ * \ingroup PluginFramework
+ *
  * The <code>ctkPluginTrackerCustomizer</code> interface allows a
  * <code>ctkPluginTracker</code> to customize the <code>ctkPlugin</code>s that are
  * tracked. A <code>ctkPluginTrackerCustomizer</code> is called when a plugin is

+ 3 - 1
Libs/PluginFramework/ctkPluginTrackerPrivate.h

@@ -28,7 +28,9 @@
 #include <QSharedPointer>
 #include <QMutex>
 
-
+/**
+ * \ingroup PluginFramework
+ */
 template<class T>
 class ctkPluginTrackerPrivate
 {

+ 120 - 118
Libs/PluginFramework/ctkPlugins_p.h

@@ -28,150 +28,152 @@
 #include <QSharedPointer>
 
 
-  // CTK class forward declarations
-  class ctkPlugin;
-  class ctkPluginFrameworkContext;
-  class ctkVersion;
-  class ctkVersionRange;
+// CTK class forward declarations
+class ctkPlugin;
+class ctkPluginFrameworkContext;
+class ctkVersion;
+class ctkVersionRange;
+
+/**
+ * \ingroup PluginFramework
+ *
+ * Here we handle all the plugins that are installed in the framework.
+ * Also handles load and save of bundle states to a database, so that we
+ * can restart the platform.
+ */
+class ctkPlugins {
+
+private:
 
   /**
-   * Here we handle all the plugins that are installed in the framework.
-   * Also handles load and save of bundle states to a database, so that we
-   * can restart the platform.
+   * Table of all installed plugins in this framework.
+   * Key is the plugin location.
    */
-  class ctkPlugins {
+  QHash<QString, QSharedPointer<ctkPlugin> > plugins;
 
-  private:
-
-    /**
-     * Table of all installed plugins in this framework.
-     * Key is the plugin location.
-     */
-    QHash<QString, QSharedPointer<ctkPlugin> > plugins;
+  /**
+   * Link to framework object.
+   */
+  ctkPluginFrameworkContext* fwCtx;
+
+  /**
+   * Read write lock for protecting the plugins object
+   */
+  mutable QReadWriteLock pluginsLock;
+
+
+public:
+
+  /**
+   * Create a container for all plugins in this framework.
+   */
+  ctkPlugins(ctkPluginFrameworkContext* fw);
+
+
+  void clear();
 
-    /**
-     * Link to framework object.
-     */
-    ctkPluginFrameworkContext* fwCtx;
 
-    /**
-     * Read write lock for protecting the plugins object
-     */
-    mutable QReadWriteLock pluginsLock;
-
-
-  public:
+  /**
+   * Install a new plugin.
+   *
+   * @param location The location to be installed
+   */
+  QSharedPointer<ctkPlugin> install(const QUrl& location, QIODevice* in);
+
+
+  /**
+   * Remove plugin registration.
+   *
+   * @param location The location to be removed
+   */
+  void remove(const QUrl& location);
 
-    /**
-     * Create a container for all plugins in this framework.
-     */
-    ctkPlugins(ctkPluginFrameworkContext* fw);
-
-
-    void clear();
 
+  /**
+   * Get the plugin that has the specified plugin identifier.
+   *
+   * @param id The identifier of the plugin to get.
+   * @return ctkPlugin or null
+   *         if the plugin was not found.
+   */
+  QSharedPointer<ctkPlugin> getPlugin(int id) const;
 
-    /**
-     * Install a new plugin.
-     *
-     * @param location The location to be installed
-     */
-    QSharedPointer<ctkPlugin> install(const QUrl& location, QIODevice* in);
 
+  /**
+   * Get the plugin that has specified plugin location.
+   *
+   * @param location The location of the plugin to get.
+   * @return ctkPlugin or null
+   *         if the plugin was not found.
+   */
+  QSharedPointer<ctkPlugin> getPlugin(const QString& location) const;
 
-    /**
-     * Remove plugin registration.
-     *
-     * @param location The location to be removed
-     */
-    void remove(const QUrl& location);
 
+  /**
+   * Get the plugin that has specified plugin symbolic name and version.
+   *
+   * @param name The symbolic name of the plugin to get.
+   * @param version The plugin version of the plugin to get.
+   * @return ctkPlugin or null.
+   */
+  QSharedPointer<ctkPlugin> getPlugin(const QString& name, const ctkVersion& version) const;
 
-    /**
-     * Get the plugin that has the specified plugin identifier.
-     *
-     * @param id The identifier of the plugin to get.
-     * @return ctkPlugin or null
-     *         if the plugin was not found.
-     */
-    QSharedPointer<ctkPlugin> getPlugin(int id) const;
 
+  /**
+   * Get all installed plugins.
+   *
+   * @return A ctkPlugin list with plugins.
+   */
+  QList<QSharedPointer<ctkPlugin> > getPlugins() const;
 
-    /**
-     * Get the plugin that has specified plugin location.
-     *
-     * @param location The location of the plugin to get.
-     * @return ctkPlugin or null
-     *         if the plugin was not found.
-     */
-    QSharedPointer<ctkPlugin> getPlugin(const QString& location) const;
 
+  /**
+   * Get all plugins that have specified plugin symbolic name.
+   *
+   * @param name The symbolic name of plugins to get.
+   * @return A list of ctkPlugins.
+   */
+  QList<ctkPlugin*> getPlugins(const QString& name) const;
 
-    /**
-     * Get the plugin that has specified plugin symbolic name and version.
-     *
-     * @param name The symbolic name of the plugin to get.
-     * @param version The plugin version of the plugin to get.
-     * @return ctkPlugin or null.
-     */
-    QSharedPointer<ctkPlugin> getPlugin(const QString& name, const ctkVersion& version) const;
 
+  /**
+   * Get all plugins that have specified plugin symbolic name and
+   * version range. Result is sorted in decreasing version order.
+   *
+   * @param name The symbolic name of plugins to get.
+   * @param range ctkVersion range of plugins to get.
+   * @return A List of ctkPlugins.
+   */
+  QList<ctkPlugin*> getPlugins(const QString& name, const ctkVersionRange& range) const;
 
-    /**
-     * Get all installed plugins.
-     *
-     * @return A ctkPlugin list with plugins.
-     */
-    QList<QSharedPointer<ctkPlugin> > getPlugins() const;
 
+  /**
+   * Get all plugins currently in plugin state ACTIVE.
+   *
+   * @return A List of ctkPlugins.
+   */
+  QList<ctkPlugin*> getActivePlugins() const;
 
-    /**
-     * Get all plugins that have specified plugin symbolic name.
-     *
-     * @param name The symbolic name of plugins to get.
-     * @return A list of ctkPlugins.
-     */
-    QList<ctkPlugin*> getPlugins(const QString& name) const;
 
+  /**
+   * Try to load any saved framework state.
+   * This is done by installing all saved plugins and restoring
+   * the saved state for each plugin. This is only
+   * intended to be executed during the start of the framework.
+   *
+   */
+  void load();
 
-    /**
-     * Get all plugins that have specified plugin symbolic name and
-     * version range. Result is sorted in decreasing version order.
-     *
-     * @param name The symbolic name of plugins to get.
-     * @param range ctkVersion range of plugins to get.
-     * @return A List of ctkPlugins.
-     */
-    QList<ctkPlugin*> getPlugins(const QString& name, const ctkVersionRange& range) const;
-
-
-    /**
-     * Get all plugins currently in plugin state ACTIVE.
-     *
-     * @return A List of ctkPlugins.
-     */
-    QList<ctkPlugin*> getActivePlugins() const;
 
+  /**
+   * Start a list of plugins in order
+   *
+   * @param slist ctkPlugins to start.
+   */
+  void startPlugins(const QList<ctkPlugin*>& slist) const;
 
-    /**
-     * Try to load any saved framework state.
-     * This is done by installing all saved plugins and restoring
-     * the saved state for each plugin. This is only
-     * intended to be executed during the start of the framework.
-     *
-     */
-    void load();
 
-
-    /**
-     * Start a list of plugins in order
-     *
-     * @param slist ctkPlugins to start.
-     */
-    void startPlugins(const QList<ctkPlugin*>& slist) const;
-
-
-  };
+};
 
 
 #endif // CTKPLUGINS_H

+ 15 - 12
Libs/PluginFramework/ctkRequirePlugin_p.h

@@ -25,24 +25,27 @@
 #include <ctkVersionRange_p.h>
 
 
-  class ctkPluginPrivate;
+class ctkPluginPrivate;
 
-  class ctkRequirePlugin
-  {
+/**
+ * \ingroup PluginFramework
+ */
+class ctkRequirePlugin
+{
 
-  public:
+public:
 
-    const QString name;
-    const QString resolution;
-    const ctkVersionRange pluginRange;
+  const QString name;
+  const QString resolution;
+  const ctkVersionRange pluginRange;
 
-    ctkRequirePlugin(ctkPluginPrivate* requestor,
-                  const QString& name, const QString& res,
-                  const QString& range);
+  ctkRequirePlugin(ctkPluginPrivate* requestor,
+                   const QString& name, const QString& res,
+                   const QString& range);
 
-    bool overlap(const ctkRequirePlugin& rp) const;
+  bool overlap(const ctkRequirePlugin& rp) const;
 
-  };
+};
 
 
 #endif // CTKREQUIREPLUGIN_P_H

+ 3 - 0
Libs/PluginFramework/ctkRuntimeException.h

@@ -29,6 +29,9 @@
 
 #include "ctkPluginFrameworkExport.h"
 
+/**
+ * \ingroup PluginFramework
+ */
 class Q_DECL_EXPORT ctkRuntimeException : public std::runtime_error
 {
 public:

+ 7 - 0
Libs/PluginFramework/ctkServiceEvent.h

@@ -33,6 +33,8 @@
 class ctkServiceEventData;
 
 /**
+ * \ingroup PluginFramework
+ *
  * An event from the Plugin Framework describing a service lifecycle change.
  * <p>
  * <code>ctkServiceEvent</code> objects are delivered to
@@ -159,7 +161,12 @@ public:
 
 Q_DECLARE_METATYPE(ctkServiceEvent)
 
+/**
+ * \ingroup PluginFramework
+ * @{
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, ctkServiceEvent::Type type);
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkServiceEvent& event);
+/** @}*/
 
 #endif // CTKSERVICEEVENT_H

+ 5 - 1
Libs/PluginFramework/ctkServiceException.h

@@ -26,6 +26,8 @@
 #include "ctkRuntimeException.h"
 
 /**
+ * \ingroup PluginFramework
+ *
  * A service exception used to indicate that a service problem occurred.
  *
  * <p>
@@ -109,7 +111,9 @@ private:
 
 };
 
-
+/**
+ * \ingroup PluginFramework
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkServiceException& exc);
 
 #endif // CTKSERVICEEXCEPTION_H

+ 2 - 0
Libs/PluginFramework/ctkServiceFactory.h

@@ -24,6 +24,8 @@
 
 
 /**
+ * \ingroup PluginFramework
+ *
  * Allows services to provide customized service objects in the plugin
  * environment.
  *

+ 7 - 0
Libs/PluginFramework/ctkServiceReference.h

@@ -35,6 +35,8 @@ class ctkServiceReferencePrivate;
 class ctkServiceEvent;
 
 /**
+ * \ingroup PluginFramework
+ *
  * A reference to a service.
  *
  * <p>
@@ -213,8 +215,13 @@ protected:
 
 };
 
+/**
+ * \ingroup PluginFramework
+ * @{
+ */
 uint CTK_PLUGINFW_EXPORT qHash(const ctkServiceReference& serviceRef);
 QDebug CTK_PLUGINFW_EXPORT operator<<(QDebug dbg, const ctkServiceReference& serviceRef);
+/** @}*/
 
 Q_DECLARE_METATYPE(ctkServiceReference)
 

+ 3 - 0
Libs/PluginFramework/ctkServiceReferencePrivate.h

@@ -33,6 +33,9 @@ class QObject;
 class ctkServiceRegistrationPrivate;
 class ctkPlugin;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkServiceReferencePrivate
 {
 public:

+ 5 - 0
Libs/PluginFramework/ctkServiceRegistration.h

@@ -31,6 +31,8 @@
 class ctkServiceRegistrationPrivate;
 
 /**
+ * \ingroup PluginFramework
+ *
  * A registered service.
  *
  * <p>
@@ -167,6 +169,9 @@ protected:
 
 };
 
+/**
+ * \ingroup PluginFramework
+ */
 uint CTK_PLUGINFW_EXPORT qHash(const ctkServiceRegistration& serviceRef);
 
 #endif // CTKSERVICEREGISTRATION_H

+ 3 - 0
Libs/PluginFramework/ctkServiceRegistrationPrivate.h

@@ -33,6 +33,9 @@
 class ctkPluginPrivate;
 class ctkServiceRegistration;
 
+/**
+ * \ingroup PluginFramework
+ */
 class ctkServiceRegistrationPrivate
 {
 

+ 5 - 0
Libs/PluginFramework/ctkServiceSlotEntry_p.h

@@ -40,6 +40,8 @@ class QObject;
 
 
 /**
+ * \ingroup PluginFramework
+ *
  * Data structure for saving information about slots registered for
  * receiving service lifecycle events.
  */
@@ -82,6 +84,9 @@ private:
 
 };
 
+/**
+ * \ingroup PluginFramework
+ */
 uint qHash(const ctkServiceSlotEntry& serviceSlot);
 
 #endif // CTKSERVICESLOTENTRY_P_H

+ 2 - 0
Libs/PluginFramework/ctkServiceTracker.h

@@ -36,6 +36,8 @@ template<class S, class T> class ctkServiceTrackerPrivate;
 class ctkPluginContext;
 
 /**
+ * \ingroup PluginFramework
+ *
  * The <code>ctkServiceTracker</code> class simplifies using services from the
  * Framework's service registry.
  * <p>

+ 2 - 0
Libs/PluginFramework/ctkServiceTrackerCustomizer.h

@@ -27,6 +27,8 @@
 
 
 /**
+ * \ingroup PluginFramework
+ *
  * The <code>ctkServiceTrackerCustomizer</code> interface allows a
  * <code>ctkServiceTracker</code> to customize the service objects that are
  * tracked. A <code>ctkServiceTrackerCustomizer</code> is called when a service is

+ 3 - 1
Libs/PluginFramework/ctkServiceTrackerPrivate.h

@@ -29,7 +29,9 @@
 #include <QMutex>
 #include <QSharedPointer>
 
-
+/**
+ * \ingroup PluginFramework
+ */
 template<class S, class T>
 class ctkServiceTrackerPrivate
 {

+ 2 - 1
Libs/PluginFramework/ctkServices_p.h

@@ -33,8 +33,9 @@
 
 
 /**
- * Here we handle all the services that are registered in the framework.
+ * \ingroup PluginFramework
  *
+ * Here we handle all the services that are registered in the framework.
  */
 class ctkServices {
 

+ 3 - 0
Libs/PluginFramework/ctkTrackedPluginListener_p.h

@@ -27,6 +27,9 @@
 
 #include "ctkPluginEvent.h"
 
+/**
+ * \ingroup PluginFramework
+ */
 class CTK_PLUGINFW_EXPORT ctkTrackedPluginListener : public QObject
 {
   Q_OBJECT

+ 3 - 1
Libs/PluginFramework/ctkTrackedPlugin_p.h

@@ -30,7 +30,9 @@
 #include "ctkPluginEvent.h"
 #include "ctkPlugin.h"
 
-
+/**
+ * \ingroup PluginFramework
+ */
 template<class T>
 class ctkTrackedPlugin : public ctkTrackedPluginListener,
     public ctkPluginAbstractTracked<QSharedPointer<ctkPlugin>, T, ctkPluginEvent>

+ 3 - 0
Libs/PluginFramework/ctkTrackedServiceListener_p.h

@@ -27,6 +27,9 @@
 
 #include "ctkServiceEvent.h"
 
+/**
+ * \ingroup PluginFramework
+ */
 class CTK_PLUGINFW_EXPORT ctkTrackedServiceListener : public QObject
 {
   Q_OBJECT

+ 3 - 1
Libs/PluginFramework/ctkTrackedService_p.h

@@ -27,7 +27,9 @@
 #include "ctkPluginAbstractTracked_p.h"
 #include "ctkServiceEvent.h"
 
-
+/**
+ * \ingroup PluginFramework
+ */
 template<class S, class T>
 class ctkTrackedService : public ctkTrackedServiceListener,
     public ctkPluginAbstractTracked<ctkServiceReference, T, ctkServiceEvent>

+ 5 - 2
Libs/PluginFramework/ctkVersion.h

@@ -29,6 +29,8 @@
 
 
 /**
+ * \ingroup PluginFramework
+ *
  * Version identifier for plug-ins and packages.
  *
  * <p>
@@ -46,7 +48,6 @@
  *
  * @Immutable
  */
-
 class CTK_PLUGINFW_EXPORT ctkVersion {
 
 private:
@@ -247,7 +248,9 @@ public:
 
 };
 
-
+/**
+ * \ingroup PluginFramework
+ */
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkVersion& v);
 
 #endif // CTKVERSION_H

+ 92 - 90
Libs/PluginFramework/ctkVersionRange_p.h

@@ -25,98 +25,100 @@
 #include "ctkVersion.h"
 
 
+/**
+ * \ingroup PluginFramework
+ *
+ * Class representing CTK version ranges.
+ */
+class ctkVersionRange
+{
+
+private:
+
+  ctkVersion low;
+  ctkVersion high;
+  bool lowIncluded;
+  bool highIncluded;
+
+public:
+
+  /**
+   * The empty version range "[0.0.0,inf)".
+   */
+  static ctkVersionRange defaultVersionRange();
+
+  /**
+   * Construct a ctkVersionRange object.
+   * Format for a range:
+   *   ( "(" | "[" ) LOW_VERSION ","  HIGH_VERSION ( ")" | "]" )
+   * Format for at least a version:
+   *   VERSION
+   *
+   * @param vr Input string.
+   */
+  ctkVersionRange(const QString& vr);
+
+
+  /**
+   * Construct the default ctkVersionRange object.
+   *
+   */
+  ctkVersionRange();
+
+  ~ctkVersionRange();
+
+
+  bool isSpecified() const;
+
+
   /**
-   * Class representing CTK version ranges.
+   * Check if specified version is within our range.
+   *
+   * @param ver ctkVersion to compare to.
+   * @return Return true if within range, otherwise false.
    */
-  class ctkVersionRange
-  {
-
-  private:
-
-    ctkVersion low;
-    ctkVersion high;
-    bool lowIncluded;
-    bool highIncluded;
-
-  public:
-
-    /**
-     * The empty version range "[0.0.0,inf)".
-     */
-    static ctkVersionRange defaultVersionRange();
-
-    /**
-     * Construct a ctkVersionRange object.
-     * Format for a range:
-     *   ( "(" | "[" ) LOW_VERSION ","  HIGH_VERSION ( ")" | "]" )
-     * Format for at least a version:
-     *   VERSION
-     *
-     * @param vr Input string.
-     */
-    ctkVersionRange(const QString& vr);
-
-
-    /**
-     * Construct the default ctkVersionRange object.
-     *
-     */
-    ctkVersionRange();
-
-    ~ctkVersionRange();
-
-
-    bool isSpecified() const;
-
-
-    /**
-     * Check if specified version is within our range.
-     *
-     * @param ver ctkVersion to compare to.
-     * @return Return true if within range, otherwise false.
-     */
-    bool withinRange(const ctkVersion& ver) const;
-
-
-    /**
-     * Check if objects range is within another ctkVersionRange.
-     *
-     * @param range ctkVersionRange to compare to.
-     * @return Return true if within range, otherwise false.
-     */
-    bool withinRange(const ctkVersionRange& range) const;
-
-
-    /**
-     * Compare object to another ctkVersionRange. VersionRanges are compared on the
-     * lower bound.
-     *
-     * @param obj ctkVersionRange to compare to.
-     * @return Return 0 if equals, negative if this object is less than obj
-     *         and positive if this object is larger then obj.
-     * @exception ClassCastException if object is not a ctkVersionRange object.
-     */
-    int compare(const ctkVersionRange& obj) const;
-
-
-    /**
-     * String with version number. If version is not specified return
-     * an empty string.
-     *
-     * @return QString.
-     */
-    QString toString() const;
-
-
-    /**
-     * Check if object is equal to this object.
-     *
-     * @param obj Package entry to compare to.
-     * @return true if equal, otherwise false.
-     */
-    bool operator==(const ctkVersionRange& r) const;
-
-  };
+  bool withinRange(const ctkVersion& ver) const;
+
+
+  /**
+   * Check if objects range is within another ctkVersionRange.
+   *
+   * @param range ctkVersionRange to compare to.
+   * @return Return true if within range, otherwise false.
+   */
+  bool withinRange(const ctkVersionRange& range) const;
+
+
+  /**
+   * Compare object to another ctkVersionRange. VersionRanges are compared on the
+   * lower bound.
+   *
+   * @param obj ctkVersionRange to compare to.
+   * @return Return 0 if equals, negative if this object is less than obj
+   *         and positive if this object is larger then obj.
+   * @exception ClassCastException if object is not a ctkVersionRange object.
+   */
+  int compare(const ctkVersionRange& obj) const;
+
+
+  /**
+   * String with version number. If version is not specified return
+   * an empty string.
+   *
+   * @return QString.
+   */
+  QString toString() const;
+
+
+  /**
+   * Check if object is equal to this object.
+   *
+   * @param obj Package entry to compare to.
+   * @return true if equal, otherwise false.
+   */
+  bool operator==(const ctkVersionRange& r) const;
+
+};
 
 
 #endif // CTKVERSIONRANGE_H

+ 8 - 0
Libs/PluginFramework/service/cm/ctkConfiguration.h

@@ -29,6 +29,7 @@
 
 
 /**
+ * \ingroup ConfigAdmin
  * The configuration information for a <code>ctkManagedService</code> or
  * <code>ctkManagedServiceFactory</code> object.
  *
@@ -229,6 +230,11 @@ struct CTK_PLUGINFW_EXPORT ctkConfiguration
 
 };
 
+/**
+ * \ingroup ConfigAdmin
+ * @{
+ */
+
 typedef QSharedPointer<ctkConfiguration> ctkConfigurationPtr;
 
 /**
@@ -244,4 +250,6 @@ uint CTK_PLUGINFW_EXPORT qHash(ctkConfigurationPtr configuration);
 
 bool CTK_PLUGINFW_EXPORT operator==(const ctkConfigurationPtr& c1, const ctkConfigurationPtr c2);
 
+/** @}*/
+
 #endif // CTKCONFIGURATION_H

+ 1 - 0
Libs/PluginFramework/service/cm/ctkConfigurationAdmin.h

@@ -26,6 +26,7 @@
 #include "ctkConfiguration.h"
 
 /**
+ * \ingroup ConfigAdmin
  * Service for administering configuration data.
  *
  * <p>

+ 6 - 0
Libs/PluginFramework/service/cm/ctkConfigurationEvent.h

@@ -31,6 +31,7 @@
 class ctkConfigurationEventData;
 
 /**
+ * \ingroup ConfigAdmin
  * A Configuration Event.
  *
  * <p>
@@ -175,8 +176,13 @@ public:
   ctkServiceReference getReference() const;
 };
 
+/**
+ * \ingroup ConfigAdmin
+ */
+
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, ctkConfigurationEvent::Type type);
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkConfigurationEvent& event);
 
+/** @}*/
 
 #endif // CTKCONFIGURATIONEVENT_H

+ 8 - 0
Libs/PluginFramework/service/cm/ctkConfigurationException.h

@@ -26,6 +26,8 @@
 #include "ctkRuntimeException.h"
 
 /**
+ * \ingroup ConfigAdmin
+ *
  * An exception class to inform the Configuration Admin service
  * of problems with configuration data.
  */
@@ -71,6 +73,12 @@ private:
   QString reason;
 };
 
+/**
+ * \ingroup ConfigAdmin
+ */
+
 CTK_PLUGINFW_EXPORT QDebug operator<<(QDebug dbg, const ctkConfigurationException& exc);
 
+/** @}*/
+
 #endif // CTKCONFIGURATIONEXCEPTION_H

+ 2 - 0
Libs/PluginFramework/service/cm/ctkConfigurationListener.h

@@ -26,6 +26,8 @@
 #include "ctkConfigurationEvent.h"
 
 /**
+ * \ingroup ConfigAdmin
+ *
  * Listener for Configuration Events. When a <code>ctkConfigurationEvent</code>
  * is fired, it is asynchronously delivered to a
  * <code>ctkConfigurationListener</code>.

+ 2 - 0
Libs/PluginFramework/service/cm/ctkConfigurationPlugin.h

@@ -27,6 +27,8 @@
 #include "ctkDictionary.h"
 
 /**
+ * \ingroup ConfigAdmin
+ *
  * A service interface for processing configuration dictionary before the
  * update.
  *

+ 2 - 0
Libs/PluginFramework/service/cm/ctkManagedService.h

@@ -27,6 +27,8 @@
 #include <ctkDictionary.h>
 
 /**
+ * \ingroup ConfigAdmin
+ *
  * A service that can receive configuration data from a Configuration Admin
  * service.
  *

+ 2 - 0
Libs/PluginFramework/service/cm/ctkManagedServiceFactory.h

@@ -26,6 +26,8 @@
 #include <ctkDictionary.h>
 
 /**
+ * \ingroup ConfigAdmin
+ *
  * Manage multiple service instances.
  *
  * Plugins registering this interface are giving the Configuration Admin service

+ 2 - 1
Libs/PluginFramework/service/event/ctkEvent.h

@@ -34,6 +34,8 @@
 class ctkEventData;
 
 /**
+ * \ingroup EventAdmin
+ *
  * A CTK event.
  *
  * <code>ctkEvent</code> objects are delivered to <code>ctkEventHandler</code>
@@ -134,5 +136,4 @@ public:
 
 };
 
-
 #endif // CTKEVENT_H

+ 2 - 0
Libs/PluginFramework/service/event/ctkEventAdmin.h

@@ -26,6 +26,8 @@
 
 
 /**
+ * \ingroup EventAdmin
+ *
  * The Event Admin service. Plugins wishing to publish events can either
  * obtain the Event Admin service and call one of the event delivery methods
  * or publish a Qt signal for a specific event topic.

+ 2 - 1
Libs/PluginFramework/service/event/ctkEventConstants.h

@@ -27,6 +27,8 @@
 #include "ctkPluginFrameworkExport.h"
 
 /**
+ * \ingroup EventAdmin
+ *
  * Defines standard names for <code>ctkEventHandler</code> and Qt event slot properties.
  *
  * \see ctkEventHandler
@@ -215,5 +217,4 @@ struct CTK_PLUGINFW_EXPORT ctkEventConstants {
 
 };
 
-
 #endif // CTKEVENTCONSTANTS_H

+ 2 - 0
Libs/PluginFramework/service/event/ctkEventHandler.h

@@ -26,6 +26,8 @@
 #include "ctkEvent.h"
 
 /**
+ * \ingroup EventAdmin
+ *
  * Listener for Events.
  *
  * <p>

+ 9 - 0
Libs/PluginFramework/service/log/ctkLogEntry.h

@@ -32,6 +32,8 @@
 
 
 /**
+ * \ingroup LogService
+ *
  * Provides methods to access the information contained in an individual Log
  * Service log entry.
  *
@@ -144,8 +146,15 @@ struct ctkLogEntry
   virtual QDateTime getTime() const = 0;
 };
 
+/**
+ * \ingroup LogService
+ * @{
+ */
+
 typedef QSharedPointer<ctkLogEntry> ctkLogEntryPtr;
 
 Q_DECLARE_METATYPE(ctkLogEntryPtr)
 
+/** @}*/
+
 #endif // CTKLOGENTRY_H

+ 2 - 0
Libs/PluginFramework/service/log/ctkLogListener.h

@@ -26,6 +26,8 @@
 #include "ctkLogEntry.h"
 
 /**
+ * \ingroup LogService
+ *
  * Subscribes to <code>ctkLogEntry</code> objects from the <code>ctkLogReaderService</code>.
  *
  * <p>

+ 2 - 0
Libs/PluginFramework/service/log/ctkLogReaderService.h

@@ -28,6 +28,8 @@
 #include "ctkLogEntry.h"
 
 /**
+ * \ingroup LogService
+ *
  * Provides methods to retrieve <code>ctkLogEntry</code> objects from the log.
  * <p>
  * There are three ways to retrieve <code>ctkLogEntry</code> objects:

+ 114 - 41
Libs/PluginFramework/service/log/ctkLogService.h

@@ -30,7 +30,9 @@
 #include "ctkLogStream.h"
 #include <ctkServiceReference.h>
 
+
 /**
+ * \ingroup LogService
  * Provides methods for plugins to write messages to the log.
  *
  * <p>
@@ -41,13 +43,13 @@
  * Plugins must log messages in the Plugin Framework with a severity level
  * according to the following hierarchy:
  * <ol>
- * <li>{@link #LOG_ERROR}
- * <li>{@link #LOG_WARNING}
- * <li>{@link #LOG_INFO}
- * <li>{@link #LOG_DEBUG}
+ * <li>#LOG_ERROR
+ * <li>#LOG_WARNING
+ * <li>#LOG_INFO
+ * <li>#LOG_DEBUG
  * </ol>
  *
- * @ThreadSafe
+ * \ThreadSafe
  */
 struct CTK_PLUGINFW_EXPORT ctkLogService
 {
@@ -97,15 +99,15 @@ struct CTK_PLUGINFW_EXPORT ctkLogService
    * The <code>ctkServiceReference</code> field and the <code>Exception</code> field
    * of the <code>ctkLogEntry</code> object will be set to <code>null</code>.
    *
-   * @param level The severity of the message. This should be one of the
+   * \param level The severity of the message. This should be one of the
    *        defined log levels but may be any integer that is interpreted in a
    *        user defined way.
-   * @param message Human readable string describing the condition.
-   * @param exception The exception that reflects the condition or <code>null</code>.
-   * @see #LOG_ERROR
-   * @see #LOG_WARNING
-   * @see #LOG_INFO
-   * @see #LOG_DEBUG
+   * \param message Human readable string describing the condition.
+   * \param exception The exception that reflects the condition or <code>null</code>.
+   * \see #LOG_ERROR
+   * \see #LOG_WARNING
+   * \see #LOG_INFO
+   * \see #LOG_DEBUG
    */
   virtual void log(int level, const QString& message, const std::exception* exception = 0,
                    const char* file = 0, const char* function = 0, int line = -1) = 0;
@@ -118,19 +120,19 @@ struct CTK_PLUGINFW_EXPORT ctkLogService
    * The <code>Exception</code> field of the <code>ctkLogEntry</code> will be set to
    * <code>null</code>.
    *
-   * @param sr The <code>ctkServiceReference</code> object of the service that this
+   * \param sr The <code>ctkServiceReference</code> object of the service that this
    *        message is associated with.
-   * @param level The severity of the message. This should be one of the
+   * \param level The severity of the message. This should be one of the
    *        defined log levels but may be any integer that is interpreted in a
    *        user defined way.
-   * @param message Human readable string describing the condition.
-   * @param exception The exception that reflects the condition or
+   * \param message Human readable string describing the condition.
+   * \param exception The exception that reflects the condition or
    *        <code>null</code>.
    *
-   * @see #LOG_ERROR
-   * @see #LOG_WARNING
-   * @see #LOG_INFO
-   * @see #LOG_DEBUG
+   * \see #LOG_ERROR
+   * \see #LOG_WARNING
+   * \see #LOG_INFO
+   * \see #LOG_DEBUG
    */
   virtual void log(const ctkServiceReference& sr, int level, const QString& message,
                    const std::exception* exception = 0,
@@ -142,7 +144,7 @@ struct CTK_PLUGINFW_EXPORT ctkLogService
    * log level is LOG_WARNING then the log service will discard all log entries with
    * level LOG_INFO and LOG_DEBUG.
    *
-   * @return The lowest severity level that is accepted into the log.
+   * \return The lowest severity level that is accepted into the log.
    */
   virtual int getLogLevel() const = 0;
 
@@ -150,6 +152,9 @@ struct CTK_PLUGINFW_EXPORT ctkLogService
 
 Q_DECLARE_INTERFACE(ctkLogService, "org.commontk.service.log.LogService")
 
+/**
+ * \ingroup LogService
+ */
 class CTK_PLUGINFW_EXPORT ctkLogStreamWithServiceRef : public ctkLogStream
 {
 public:
@@ -166,6 +171,9 @@ protected:
   ctkServiceReference sr;
 };
 
+/**
+ * \ingroup LogService
+ */
 class CTK_PLUGINFW_EXPORT ctkNullLogStream : public ctkLogStream
 {
 public:
@@ -175,26 +183,91 @@ public:
 
 };
 
+/**
+ * \ingroup LogService
+ * @{
+ */
 
-#define CTK_DEBUG(logService) ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? ctkLogStream(logService, ctkLogService::LOG_DEBUG, 0, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_DEBUG_EXC(logService, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? ctkLogStream(logService, ctkLogService::LOG_DEBUG, exc, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_DEBUG_SR(logService, serviceRef) ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_DEBUG, 0, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-#define CTK_DEBUG_SR_EXC(logService, serviceRef, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_DEBUG, exc, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-
-#define CTK_INFO(logService) ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? ctkLogStream(logService, ctkLogService::LOG_INFO, 0, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_INFO_EXC(logService, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? ctkLogStream(logService, ctkLogService::LOG_INFO, exc, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_INFO_SR(logService, serviceRef) ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_INFO, 0, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-#define CTK_INFO_SR_EXC(logService, serviceRef, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_INFO, exc, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-
-#define CTK_WARN(logService) ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? ctkLogStream(logService, ctkLogService::LOG_WARNING, 0, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_WARN_EXC(logService, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? ctkLogStream(logService, ctkLogService::LOG_WARNING, exc, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_WARN_SR(logService, serviceRef) ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_WARNING, 0, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-#define CTK_WARN_SR_EXC(logService, serviceRef, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_WARNING, exc, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-
-#define CTK_ERROR(logService) ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERROR) ? ctkLogStream(logService, ctkLogService::LOG_ERROR, 0, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_ERROR_EXC(logService, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERROR) ? ctkLogStream(logService, ctkLogService::LOG_ERROR, exc, __FILE__, __FUNCTION__, __LINE__) : ctkNullLogStream())
-#define CTK_ERROR_SR(logService, serviceRef) ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERRO) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_ERROR, 0, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-#define CTK_ERROR_SR_EXC(logService, serviceRef, exc) ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERROR) ? static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_ERROR, exc, __FILE__, __FUNCTION__, __LINE__)) : static_cast<ctkLogStream>(ctkNullLogStream()))
-
+#define CTK_DEBUG(logService) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? \
+  ctkLogStream(logService, ctkLogService::LOG_DEBUG, 0, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_DEBUG_EXC(logService, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? \
+  ctkLogStream(logService, ctkLogService::LOG_DEBUG, exc, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_DEBUG_SR(logService, serviceRef) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_DEBUG, 0, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_DEBUG_SR_EXC(logService, serviceRef, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_DEBUG) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_DEBUG, exc, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_INFO(logService) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? \
+  ctkLogStream(logService, ctkLogService::LOG_INFO, 0, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_INFO_EXC(logService, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? \
+  ctkLogStream(logService, ctkLogService::LOG_INFO, exc, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_INFO_SR(logService, serviceRef) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_INFO, 0, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_INFO_SR_EXC(logService, serviceRef, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_INFO) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_INFO, exc, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_WARN(logService) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? \
+  ctkLogStream(logService, ctkLogService::LOG_WARNING, 0, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_WARN_EXC(logService, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? \
+  ctkLogStream(logService, ctkLogService::LOG_WARNING, exc, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_WARN_SR(logService, serviceRef) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_WARNING, 0, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_WARN_SR_EXC(logService, serviceRef, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_WARNING) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_WARNING, exc, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_ERROR(logService) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERROR) ? \
+  ctkLogStream(logService, ctkLogService::LOG_ERROR, 0, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_ERROR_EXC(logService, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERROR) ? \
+  ctkLogStream(logService, ctkLogService::LOG_ERROR, exc, __FILE__, __FUNCTION__, __LINE__) : \
+  ctkNullLogStream())
+
+#define CTK_ERROR_SR(logService, serviceRef) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERRO) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_ERROR, 0, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+#define CTK_ERROR_SR_EXC(logService, serviceRef, exc) \
+  ((logService && logService->getLogLevel() >= ctkLogService::LOG_ERROR) ? \
+  static_cast<ctkLogStream>(ctkLogStreamWithServiceRef(logService, serviceRef, ctkLogService::LOG_ERROR, exc, __FILE__, __FUNCTION__, __LINE__)) : \
+  static_cast<ctkLogStream>(ctkNullLogStream()))
+
+/** @}*/
 
 #endif // CTKLOGSERVICE_H

+ 3 - 0
Libs/PluginFramework/service/log/ctkLogStream.h

@@ -29,6 +29,9 @@
 
 struct ctkLogService;
 
+/**
+ * \ingroup LogService
+ */
 class CTK_PLUGINFW_EXPORT ctkLogStream
 {
 public:

+ 7 - 0
Libs/PluginFramework/service/metatype/ctkAttributeDefinition.h

@@ -31,6 +31,8 @@
 #include <ctkPluginFrameworkExport.h>
 
 /**
+ * \ingroup Metatype
+ *
  * An interface to describe an attribute.
  *
  * <p>
@@ -206,8 +208,13 @@ struct CTK_PLUGINFW_EXPORT ctkAttributeDefinition
   virtual QStringList getDefaultValue() const = 0;
 };
 
+
+/**
+ * \ingroup Metatype
+ */
 typedef QSharedPointer<ctkAttributeDefinition> ctkAttributeDefinitionPtr;
 
 Q_DECLARE_METATYPE(ctkAttributeDefinition::Password)
 
+
 #endif // CTKATTRIBUTEDEFINITION_H

+ 5 - 0
Libs/PluginFramework/service/metatype/ctkMetaTypeInformation.h

@@ -30,6 +30,8 @@
 class ctkPlugin;
 
 /**
+ * \ingroup Metatype
+ *
  * A MetaType Information object is created by the ctkMetaTypeService to return
  * meta type information for a specific plugin.
  */
@@ -59,6 +61,9 @@ struct ctkMetaTypeInformation : public ctkMetaTypeProvider
   virtual QSharedPointer<ctkPlugin> getPlugin() const = 0;
 };
 
+/**
+ * \ingroup Metatype
+ */
 typedef QSharedPointer<ctkMetaTypeInformation> ctkMetaTypeInformationPtr;
 
 #endif // CTKMETATYPEINFORMATION_H

+ 2 - 0
Libs/PluginFramework/service/metatype/ctkMetaTypeProvider.h

@@ -29,6 +29,8 @@
 #include <QLocale>
 
 /**
+ * \ingroup Metatype
+ *
  * Provides access to metatypes. This interface can be implemented on a Managed
  * Service or Managed Service Factory as well as registered as a service. When
  * registered as a service, it must be registered with a

+ 2 - 0
Libs/PluginFramework/service/metatype/ctkMetaTypeService.h

@@ -26,6 +26,8 @@
 #include "ctkMetaTypeInformation.h"
 
 /**
+ * \ingroup Metatype
+ *
  * The MetaType Service can be used to obtain meta type information for a
  * plugin. The MetaType Service will examine the specified plugin for meta type
  * documents to create the returned <code>ctkMetaTypeInformation</code> object.

+ 5 - 0
Libs/PluginFramework/service/metatype/ctkObjectClassDefinition.h

@@ -26,6 +26,8 @@
 #include "ctkAttributeDefinition.h"
 
 /**
+ * \ingroup Metatype
+ *
  * Description for the data type information of an objectclass.
  */
 struct ctkObjectClassDefinition
@@ -127,6 +129,9 @@ struct ctkObjectClassDefinition
   virtual QByteArray getIcon(int size) const = 0;
 };
 
+/**
+ * \ingroup Metatype
+ */
 typedef QSharedPointer<ctkObjectClassDefinition> ctkObjectClassDefinitionPtr;
 
 #endif // CTKOBJECTCLASSDEFINITION_H