Parcourir la source

Update class decriptions for Doxygen

Tatyana Borisova il y a 5 ans
Parent
commit
8950e07d3f
40 fichiers modifiés avec 264 ajouts et 80 suppressions
  1. 5 0
      src/generator/classgeneratorbase.h
  2. 5 0
      src/generator/classsourcegeneratorbase.h
  3. 5 0
      src/generator/clientgenerator.h
  4. 5 1
      src/generator/clientsourcegenerator.h
  5. 5 0
      src/generator/enumsgenerator.h
  6. 5 0
      src/generator/enumssourcegenerator.h
  7. 5 1
      src/generator/generator.h
  8. 5 0
      src/generator/generatorbase.h
  9. 5 0
      src/generator/generatoroptions.h
  10. 5 0
      src/generator/globalenumsgenerator.h
  11. 5 1
      src/generator/globalenumssourcegenerator.h
  12. 8 0
      src/generator/main.cpp
  13. 5 0
      src/generator/protobufclassgenerator.h
  14. 5 0
      src/generator/protobufsourcegenerator.h
  15. 5 0
      src/generator/servergenerator.h
  16. 5 0
      src/generator/servicegeneratorbase.h
  17. 5 0
      src/generator/singlefilegenerator.h
  18. 5 0
      src/generator/templates.h
  19. 6 0
      src/generator/utils.h
  20. 9 2
      src/grpc/qabstractgrpcchannel.h
  21. 2 0
      src/grpc/qabstractgrpcclient.cpp
  22. 13 11
      src/grpc/qabstractgrpcclient.h
  23. 6 2
      src/grpc/qgrpcasyncoperationbase_p.h
  24. 2 1
      src/grpc/qgrpcasyncreply.h
  25. 19 7
      src/grpc/qgrpccredentials.h
  26. 2 1
      src/grpc/qgrpchttp2channel.cpp
  27. 12 1
      src/grpc/qgrpchttp2channel.h
  28. 4 4
      src/grpc/qgrpcinsecurecredentials.h
  29. 1 1
      src/grpc/qgrpcstatus.cpp
  30. 7 3
      src/grpc/qgrpcsubscription.h
  31. 16 0
      src/grpc/qgrpcuserpasswordcredentials.h
  32. 5 8
      src/protobuf/qabstractprotobufserializer.h
  33. 11 0
      src/protobuf/qabstractprotobufserializer_p.h
  34. 1 1
      src/protobuf/qprotobufjsonserializer.cpp
  35. 5 0
      src/protobuf/qprotobufmetaobject.h
  36. 5 1
      src/protobuf/qprotobufmetaproperty.h
  37. 7 7
      src/protobuf/qprotobufobject.h
  38. 3 2
      src/protobuf/qprotobufserializer_p.h
  39. 2 2
      src/protobuf/qprotobufserializerregistry.cpp
  40. 33 23
      src/protobuf/qtprotobuftypes.h

+ 5 - 0
src/generator/classgeneratorbase.h

@@ -45,6 +45,11 @@ namespace generator {
 
 using PropertyMap = std::map<std::string, std::string>;
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ClassGeneratorBase class is base of source code generation
+ */
 class ClassGeneratorBase
 {
 public:

+ 5 - 0
src/generator/classsourcegeneratorbase.h

@@ -33,6 +33,11 @@
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ClassSourceGeneratorBase class implements source generation
+ */
 class ClassSourceGeneratorBase : public ClassGeneratorBase
 {
 public:

+ 5 - 0
src/generator/clientgenerator.h

@@ -38,6 +38,11 @@ class Message;
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ClientGenerator class
+ */
 class ClientGenerator : public ServiceGeneratorBase
 {
 public:

+ 5 - 1
src/generator/clientsourcegenerator.h

@@ -29,7 +29,11 @@
 
 namespace QtProtobuf {
 namespace generator {
-
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ClientSourceGenerator class
+ */
 class ClientSourceGenerator : public ClassSourceGeneratorBase
 {
 public:

+ 5 - 0
src/generator/enumsgenerator.h

@@ -35,6 +35,11 @@ class EnumDescriptor;
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The EnumsGenerator class
+ */
 class EnumsGenerator : public ClassGeneratorBase
 {
     const google::protobuf::EnumDescriptor *mEnumDescriptor;

+ 5 - 0
src/generator/enumssourcegenerator.h

@@ -31,6 +31,11 @@
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The EnumsSourceGenerator class
+ */
 class EnumsSourceGenerator : public ClassGeneratorBase
 {
     const google::protobuf::EnumDescriptor *mEnumDescriptor;

+ 5 - 1
src/generator/generator.h

@@ -40,7 +40,11 @@ class GeneratorContext;
 
 namespace QtProtobuf {
 namespace generator {
-
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The QtGenerator class
+ */
 class QtGenerator : public GeneratorBase
 {
 public:

+ 5 - 0
src/generator/generatorbase.h

@@ -41,6 +41,11 @@ class GeneratorContext;
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The GeneratorBase class
+ */
 class GeneratorBase: public ::google::protobuf::compiler::CodeGenerator
 {
 public:

+ 5 - 0
src/generator/generatoroptions.h

@@ -30,6 +30,11 @@
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The GeneratorOptions class
+ */
 class GeneratorOptions
 {
     GeneratorOptions();

+ 5 - 0
src/generator/globalenumsgenerator.h

@@ -31,6 +31,11 @@
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The GlobalEnumsGenerator class
+ */
 class GlobalEnumsGenerator : public ClassGeneratorBase
 {
     PackagesList mPackageList;

+ 5 - 1
src/generator/globalenumssourcegenerator.h

@@ -30,7 +30,11 @@
 
 namespace QtProtobuf {
 namespace generator {
-
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The GlobalEnumsSourceGenerator class
+ */
 class GlobalEnumsSourceGenerator : public ClassGeneratorBase
 {
     PackagesList mPackageList;

+ 8 - 0
src/generator/main.cpp

@@ -30,6 +30,14 @@
 #include "generatoroptions.h"
 #include "utils.h"
 
+/*! \mainpage
+ * QtProtobuf is project that provides gRPC and Protobuf generator and bindings for Qt framework
+ *
+ * Look at project <a href="https://github.com/semlanik/qtprotobuf/blob/master/README.md">README</a> for installation and usage details.
+ *
+ * QtProtobuf distributed in terms of MIT license and is free for modification and use under MIT
+ * license <a href="https://github.com/semlanik/qtprotobuf/blob/master/LICENSE">terms</a>.
+ */
 using namespace ::QtProtobuf::generator;
 int main(int argc, char *argv[])
 {

+ 5 - 0
src/generator/protobufclassgenerator.h

@@ -43,6 +43,11 @@ namespace generator {
 
 using PropertyMap = std::map<std::string, std::string>;
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ProtobufClassGenerator class
+ */
 class ProtobufClassGenerator : public ClassGeneratorBase
 {
     const ::google::protobuf::Descriptor *mMessage;

+ 5 - 0
src/generator/protobufsourcegenerator.h

@@ -30,6 +30,11 @@
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ProtobufSourceGenerator class
+ */
 class ProtobufSourceGenerator : public ClassSourceGeneratorBase
 {
     const google::protobuf::Descriptor *mMessage;

+ 5 - 0
src/generator/servergenerator.h

@@ -38,6 +38,11 @@ class Message;
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ServerGenerator class
+ */
 class ServerGenerator : public ServiceGeneratorBase
 {
     const google::protobuf::ServiceDescriptor *mService;

+ 5 - 0
src/generator/servicegeneratorbase.h

@@ -38,6 +38,11 @@ class Message;
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The ServiceGeneratorBase class
+ */
 class ServiceGeneratorBase : public ClassGeneratorBase
 {
 protected:

+ 5 - 0
src/generator/singlefilegenerator.h

@@ -42,6 +42,11 @@ class GeneratorContext;
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The SingleFileGenerator class
+ */
 class SingleFileGenerator : public GeneratorBase
 {
 public:

+ 5 - 0
src/generator/templates.h

@@ -32,6 +32,11 @@
 namespace QtProtobuf {
 namespace generator {
 
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The Templates class
+ */
 class Templates {
 public:
     static const std::vector<std::string> ListOfQmlExeptions;

+ 6 - 0
src/generator/utils.h

@@ -44,6 +44,12 @@ class FileDescriptor;
 
 namespace QtProtobuf {
 namespace generator {
+
+/*!
+ * \ingroup generator
+ * \private
+ * \brief The utils class
+ */
 class utils {
 public:
 static void split(const std::string &str, std::vector<std::string> &container, char delim)

+ 9 - 2
src/grpc/qabstractgrpcchannel.h

@@ -49,9 +49,10 @@ class Q_GRPC_EXPORT QAbstractGrpcChannel
 {
 public:
     /*!
-     * \brief Calls \p method synchronously with given serialized messge \p args and write result of call to \p ret.
-     *        \note This method is synchronous, that means it doesn't returns until call complete or aborted by timeout if it's
+     * \brief Calls \p method synchronously with given serialized message \p args and write result of call to \p ret.
+     *        \note This method is synchronous, that means it doesn't return until call is completed or aborted by timeout if it's
      *        implemented in inherited channel.
+     *        \note This method should not be called directly.
      * \param[in] method remote method is called
      * \param[in] service service identified in URL path format
      * \param[in] args serialized argument message
@@ -63,6 +64,7 @@ public:
     /*!
      * \brief Calls \p method asynchronously with given serialized messge \p args. Result of method call is written to QGrpcAsyncReply.
      *        \note This method is asynchronous, that means it returns control imediately after it is called.
+     *        \note This method should not be called directly.
      * \param[in] method remote method is called
      * \param[in] service service identified in URL path format
      * \param[in] args serialized argument message
@@ -74,6 +76,7 @@ public:
 
     /*!
      * \brief Subscribes to server-side stream to receive updates for given \p method.
+     *        \note This method should not be called directly.
      * \param[in] method remote method is called
      * \param[in] service service identified in URL path format
      * \param[in] args serialized argument message
@@ -83,16 +86,20 @@ public:
 
     virtual std::shared_ptr<QAbstractProtobufSerializer> serializer() const = 0;
 protected:
+    //! \private
     QAbstractGrpcChannel() = default;
+    //! \private
     virtual ~QAbstractGrpcChannel() = default;
 
     /*!
+     * \private
      * \brief Aborts async call for given \p reply
      * \param[in] reply returned by asynchronous QAbstractGrpcChannel::call() method
      */
     virtual void abort(QGrpcAsyncReply *reply);
 
     /*!
+     * \private
      * \brief Cancels \p subscription
      * \param[in] subscription returned by QAbstractGrpcChannel::subscribe() method
      */

+ 2 - 0
src/grpc/qabstractgrpcclient.cpp

@@ -32,6 +32,8 @@
 #include <QTimer>
 
 namespace QtProtobuf {
+
+//! \private
 class QAbstractGrpcClientPrivate final {
 public:
     QAbstractGrpcClientPrivate(const QString &service) : service(service) {

+ 13 - 11
src/grpc/qabstractgrpcclient.h

@@ -40,6 +40,10 @@
 
 #include "qtgrpcglobal.h"
 
+/*!
+ * \defgroup QtGrpc
+ * \brief Qt framework based gRPC clients and services
+ */
 namespace QtProtobuf {
 
 class QGrpcAsyncReply;
@@ -139,7 +143,7 @@ protected:
      * \param[in] arg Protobuf message argument for \p method
      * \param[out] ret Pointer to preallocated return-message structure. \p ret Structure fields will be update each
      *        time message update recevied from server-stream.
-     * \note If \p ret is used as property-fiels in other object, property NOTIFY signal won't be called in case of
+     * \note If \p ret is used as property-fields in other object, property NOTIFY signal won't be called in case of
      *       updated message recevied from server-stream
      */
     template<typename A, typename R>
@@ -163,28 +167,26 @@ protected:
     }
 
     /*!
-     * \brief Canceles all subscription for specified \p method
+     * \brief Canceles all subscriptions for specified \p method
      * \param[in] method Name of method subscription for to be canceled
      */
     void cancel(const QString &method);
 
+    /*!
+     * \brief serializer provides assigned to client serializer
+     * \return pointer to serializer. Serializer is owned by QtProtobuf::QProtobufSerializerRegistry.
+     */
     QAbstractProtobufSerializer *serializer() const;
 
     friend class QGrpcAsyncOperationBase;
 private:
-    /*!
-     * \private
-     */
+    //!\private
     QGrpcStatus call(const QString &method, const QByteArray &arg, QByteArray &ret);
 
-    /*!
-     * \private
-     */
+    //!\private
     QGrpcAsyncReply *call(const QString &method, const QByteArray &arg);
 
-    /*!
-     * \private
-     */
+    //!\private
     QGrpcSubscription *subscribe(const QString &method, const QByteArray &arg, const QtProtobuf::SubscriptionHandler &handler = {});
 
     /*!

+ 6 - 2
src/grpc/qgrpcasyncoperationbase_p.h

@@ -38,6 +38,11 @@
 
 namespace QtProtobuf {
 
+/*!
+ * \ingroup QtGrpc
+ * \private
+ * \brief The QGrpcAsyncOperationBase class implements subscription logic
+ */
 class Q_GRPC_EXPORT QGrpcAsyncOperationBase : public QObject
 {
     Q_OBJECT
@@ -84,8 +89,7 @@ signals:
 
     /*!
      * \brief The signal is emitted when error happend in channel or during serialization
-     * \param code gRPC channel QGrpcStatus::StatusCode
-     * \param errorMessage Description of error occured
+     * \param[out] status received from gRPC channel
      */
     void error(const QGrpcStatus &status);
 

+ 2 - 1
src/grpc/qgrpcasyncreply.h

@@ -40,7 +40,7 @@ namespace QtProtobuf {
 /*!
  * \ingroup QtGrpc
  * \brief The QGrpcAsyncReply class contains data for asynchronous call of gRPC client API. It's owned by client class, that
- *        created it. QGrpcAsyncReply coul be used by QAbstractGrpcChannel implementations to control call work flow and
+ *        created it. QGrpcAsyncReply could be used by QAbstractGrpcChannel implementations to control call work flow and
  *        abort calls if possible in case if QGrpcAsyncReply::abort method called by library user.
  */
 class Q_GRPC_EXPORT QGrpcAsyncReply final : public QGrpcAsyncOperationBase
@@ -84,6 +84,7 @@ protected:
     ~QGrpcAsyncReply() = default;
 
 private:
+    //! \private
     QGrpcAsyncReply();
     Q_DISABLE_COPY_MOVE(QGrpcAsyncReply)
 

+ 19 - 7
src/grpc/qgrpccredentials.h

@@ -31,23 +31,34 @@
 #include <memory>
 
 namespace QtProtobuf {
-/*!
-*  \addtogroup QtGrpc
-*  \{
-*/
 
 /*!
- * \brief The QGrpcCallCredentials class
+ * \ingroup QtGrpc
+ * \brief The QGrpcCallCredentials is base class for gRPC call credentials.
+ *        You may inherrit of this calls to create you own credentials implementation,
+ *        that will be used for each method call.
+ *        Classes inherited of QGrpcCallCredentials should reimplement
+ *        QtProtobuf::QGrpcCredentialMap operator() method and return actual credentials
+ *        map for the call.
  */
 class Q_GRPC_EXPORT QGrpcCallCredentials {};
 
 /*!
- * \brief The QGrpcChannelCredentials class
+ * \ingroup QtGrpc
+ * \brief The QGrpcChannelCredentials is base class for gRPC channel credentials.
+ *        Channel credentials are used by channel once while communication channel
+ *        establishing. For example Ssl credentials or some session tockens.
+ *        Classes inherited of QGrpcChannelCredentials should implement
+ *        QGrpcCredentialMap channelCredentials() const method, that returns session
+ *        parameters for specific channel.
  */
 class Q_GRPC_EXPORT QGrpcChannelCredentials {};
 
 /*!
- * \brief The QGrpcCredentials class
+ * \ingroup QtGrpc
+ * \brief The QGrpcCredentials class is combination of call and channel credentials
+ *        that is used by gRPC channels to communicate to services with given
+ *        authentications parameters.
  */
 template<typename Call, typename Channel,
          typename std::enable_if_t<std::is_base_of<QtProtobuf::QGrpcCallCredentials, Call>::value &&
@@ -80,6 +91,7 @@ public:
     }
 
 private:
+    //! \private
     QGrpcCredentials() = default;
 
     Call mCall;

+ 2 - 1
src/grpc/qgrpchttp2channel.cpp

@@ -97,8 +97,9 @@ const int GrpcMessageSizeHeaderSize = 5;
 }
 
 namespace QtProtobuf {
-
+//! \private
 struct QGrpcHttp2ChannelPrivate {
+    //! \private
     struct ExpectedData {
         int expectedSize;
         QByteArray container;

+ 12 - 1
src/grpc/qgrpchttp2channel.h

@@ -36,11 +36,22 @@ class QAbstractGrpcCredentials;
 struct QGrpcHttp2ChannelPrivate;
 /*!
  * \ingroup QtGrpc
- * \brief The QGrpcHttp2Channel class
+ * \brief The QGrpcHttp2Channel class is HTTP/2 implementation of QAbstractGrpcChannel interface
+ * \details For QGrpcHttp2Channel utilizes channel and call credentials.
+ *          For channel credential QGrpcHttp2Channel supports SslConfigCredential key. When https
+ *          is used, this key has to be explicitly specified and provide QSslConfiguration and value.
+ *          Provided QSslConfiguration will be used to establish HTTP/2 secured connection.
+ *          All keys passed as QGrpcCallCredentials will be used as HTTP/2 headers with related values
+ *          assigned.
  */
 class Q_GRPC_EXPORT QGrpcHttp2Channel final : public QAbstractGrpcChannel
 {
 public:
+    /*!
+     * \brief QGrpcHttp2Channel constructs QGrpcHttp2Channel
+     * \param url http/https url used to establish channel connection
+     * \param credentials call/channel credentials pair
+     */
     QGrpcHttp2Channel(const QUrl &url, std::unique_ptr<QAbstractGrpcCredentials> credentials);
     ~QGrpcHttp2Channel();
 

+ 4 - 4
src/grpc/qgrpcinsecurecredentials.h

@@ -32,9 +32,9 @@ namespace QtProtobuf {
 /*!
  * \ingroup QtGrpc
  * \brief The QGrpcInsecureCallCredentials class is dummy implementation of
- * QGrpcCallCredentials. It doesn't provides any extra information to channel.
+ *        QGrpcCallCredentials. It doesn't provide any extra information to channel.
  *
- * Use it when you don't need any call credentials.
+ *        Use it when you don't need any call credentials.
  */
 class Q_GRPC_EXPORT QGrpcInsecureCallCredentials final : public QGrpcCallCredentials {
 public:
@@ -46,9 +46,9 @@ public:
 /*!
  * \ingroup QtGrpc
  * \brief The QGrpcInsecureChannelCredentials class is dummy implementation of
- * QGrpcChannelCredentials. It doesn't provides any extra information to channel.
+ *        QGrpcChannelCredentials. It doesn't provide any extra information to channel.
  *
- * Use it when you don't need any channel credentials.
+ *        Use it when you don't need any channel credentials.
  */
 class Q_GRPC_EXPORT QGrpcInsecureChannelCredentials final : public QGrpcChannelCredentials {
 public:

+ 1 - 1
src/grpc/qgrpcstatus.cpp

@@ -26,7 +26,7 @@
 #include "qgrpcstatus.h"
 
 namespace QtProtobuf {
-
+//! \private
 class QGrpcStatusPrivate {
 public:
     QGrpcStatusPrivate(QGrpcStatus::StatusCode code, const QString &message) : m_code(code)

+ 7 - 3
src/grpc/qgrpcsubscription.h

@@ -39,6 +39,10 @@ namespace QtProtobuf {
 
 class QAbstractGrpcClient;
 
+/*!
+ * \ingroup QtGrpc
+ * \brief The QGrpcSubscription class
+ */
 class Q_GRPC_EXPORT QGrpcSubscription final : public QGrpcAsyncOperationBase
 {
     Q_OBJECT
@@ -51,7 +55,6 @@ public:
     }
 
     /*!
-     * \private
      * \brief Returns method for this subscription
      */
     QString method() const {
@@ -59,7 +62,6 @@ public:
     }
 
     /*!
-     * \private
      * \brief Returns serialized arguments for this subscription
      */
     QByteArray arg() const {
@@ -67,7 +69,6 @@ public:
     }
 
     /*!
-     * \private
      * \brief Invokes handler method assigned to this subscription
      */
     void handler(const QByteArray& data) {
@@ -90,10 +91,13 @@ signals:
     void updated();
 
 protected:
+    //! \private
     QGrpcSubscription(const std::shared_ptr<QAbstractGrpcChannel> &channel, const QString &method,
                       const QByteArray &arg, const SubscriptionHandler &handler, QAbstractGrpcClient *parent);
+    //! \private
     virtual ~QGrpcSubscription() = default;
 
+    //! \private
     void addHandler(const SubscriptionHandler &handler);
 private:
     friend class QAbstractGrpcClient;

+ 16 - 0
src/grpc/qgrpcuserpasswordcredentials.h

@@ -32,16 +32,32 @@ namespace QtProtobuf {
 constexpr char defaultUserFieldName[] = "user-name";
 constexpr char defaultPasswordFieldName[] = "user-password";
 
+/*!
+ * \ingroup QtGrpc
+ * \brief The QGrpcUserPasswordCredentials class is reference implementation of simple user-password call authentication.
+ * \details You may manually specify UserFieldName and PasswordFieldName in class template parameters to change header keys.
+ *          Default values for:
+ *          \code{cpp}
+ *          constexpr char defaultUserFieldName[] = "user-name";
+ *          constexpr char defaultPasswordFieldName[] = "user-password";
+ *          \endcode
+ */
 template<const char *UserFieldName = defaultUserFieldName,
          const char *PasswordFieldName = defaultPasswordFieldName>
 class QGrpcUserPasswordCredentials final : public QGrpcCallCredentials
 {
 public:
+    /*!
+     * \brief QGrpcUserPasswordCredentials constucts QGrpcUserPasswordCredentials
+     * \param userName value that will be assigned to UserFieldName header for each gRPC call
+     * \param password value that will be assigned to PasswordFieldName header for each gRPC call
+     */
     QGrpcUserPasswordCredentials(const QString &userName, const QString &password) :
         m_map(QtProtobuf::QGrpcCredentialMap{{QLatin1String(UserFieldName), QVariant::fromValue(userName)},
                                       {QLatin1String(PasswordFieldName), QVariant::fromValue(password)}})
 	{}
 
+    //!\private
 	QtProtobuf::QGrpcCredentialMap operator()() {
 		return m_map;
 	}

+ 5 - 8
src/protobuf/qabstractprotobufserializer.h

@@ -43,12 +43,9 @@ namespace QtProtobuf {
 
 class QProtobufMetaProperty;
 class QProtobufMetaObject;
-/*!
-*  \addtogroup QtProtobuf
-*  \{
-*/
 
 /*!
+ * \ingroup QtProtobuf
  * \brief The QAbstractProtobufSerializer class is interface that represents basic functions for serialization/deserialization
  *
  * \details The QAbstractProtobufSerializer class registers serializers/deserializers for classes inherited of QObject.
@@ -231,7 +228,7 @@ public:
 
 /*!
  * \brief Registers serializers for type T in QtProtobuf global serializers registry
- *
+ * \private
  * \details generates default serializers for type T. Type T has to be inherited of QObject.
  */
 template<typename T>
@@ -245,7 +242,7 @@ static void qRegisterProtobufType() {
 
 /*!
  * \brief Registers serializers for type QMap<K, V> in QtProtobuf global serializers registry
- *
+ * \private
  * \details generates default serializers for QMap<K, V>.
  */
 template<typename K, typename V,
@@ -257,7 +254,7 @@ inline void qRegisterProtobufMapType() {
 
 /*!
  * \brief Registers serializers for type QMap<K, V> in QtProtobuf global serializers registry
- *
+ * \private
  * \details generates default serializers for QMap<K, V>. Specialization for V type
  *          inherited of QObject.
  */
@@ -271,7 +268,7 @@ inline void qRegisterProtobufMapType() {
 
 /*!
  * \brief Registers serializers for enumeration type in QtProtobuf global serializers registry
- *
+ * \private
  * \details generates default serializers for enumeration and QList of enumerations.
  */
 template<typename T,

+ 11 - 0
src/protobuf/qabstractprotobufserializer_p.h

@@ -59,6 +59,7 @@ enum HandlerType {
 };
 
 /*!
+ * \private
  * \brief SerializationHandlers contains set of objects that required for class serializaion/deserialization
  */
 struct SerializationHandler {
@@ -235,6 +236,11 @@ void deserializeMap(const QtProtobuf::QAbstractProtobufSerializer *serializer, Q
     previous = QVariant::fromValue<QMap<K, QSharedPointer<V>>>(out);
 }
 
+/*!
+ * \private
+ *
+ * \brief default deserializer template for enum type T
+ */
 template <typename T,
           typename std::enable_if_t<std::is_enum<T>::value, int> = 0>
 void deserializeEnum(const QtProtobuf::QAbstractProtobufSerializer *serializer, QtProtobuf::QProtobufSelfcheckIterator &it, QVariant &to) {
@@ -244,6 +250,11 @@ void deserializeEnum(const QtProtobuf::QAbstractProtobufSerializer *serializer,
     to = QVariant::fromValue<T>(static_cast<T>(intValue._t));
 }
 
+/*!
+ * \private
+ *
+ * \brief default deserializer template for enumList type T
+ */
 template <typename T,
           typename std::enable_if_t<std::is_enum<T>::value, int> = 0>
 void deserializeEnumList(const QtProtobuf::QAbstractProtobufSerializer *serializer, QtProtobuf::QProtobufSelfcheckIterator &it, QVariant &previous) {

+ 1 - 1
src/protobuf/qprotobufjsonserializer.cpp

@@ -31,7 +31,7 @@
 using namespace QtProtobuf;
 
 namespace QtProtobuf {
-
+//! \private
 class QProtobufJsonSerializerPrivate final
 {
     Q_DISABLE_COPY_MOVE(QProtobufJsonSerializerPrivate)

+ 5 - 0
src/protobuf/qprotobufmetaobject.h

@@ -31,6 +31,11 @@
 #include <QMetaObject>
 namespace QtProtobuf {
 
+/*!
+ * \ingroup QtProtobuf
+ * \private
+ * \brief The QProtobufMetaObject class
+ */
 class Q_PROTOBUF_EXPORT QProtobufMetaObject
 {
 public:

+ 5 - 1
src/protobuf/qprotobufmetaproperty.h

@@ -30,7 +30,11 @@
 #include "qtprotobufglobal.h"
 
 namespace QtProtobuf {
-
+/*!
+ * \ingroup QtProtobuf
+ * \private
+ * \brief The QProtobufMetaProperty class
+ */
 class Q_PROTOBUF_EXPORT QProtobufMetaProperty : public QMetaProperty
 {
 public:

+ 7 - 7
src/protobuf/qprotobufobject.h

@@ -30,13 +30,14 @@
 #include <unordered_map>
 
 /*!
-*  \addtogroup QtProtobuf
-*  \{
-*/
+ * \defgroup QtProtobuf
+ * \brief Qt framework wrappers and bindings for protobuf objects
+ */
 
 /*!
+ * \ingroup QtProtobuf
  * \def Q_DECLARE_PROTOBUF_SERIALIZERS(T)
- * Defines serializers for type T inherited of QObject. Is part of autogenerated by qtprogobufgenerator classes
+ *      Defines serializers for type T inherited of QObject. Is part of autogenerated by qtprogobufgenerator classes
  */
 
 #define Q_DECLARE_PROTOBUF_SERIALIZERS(T)\
@@ -46,8 +47,9 @@
     private:
 
 /*!
+ * \ingroup QtProtobuf
  * \def Q_PROTOBUF_OBJECT
- * Declares propertyOrdering for type T inherited of QObject. Is part of autogenerated by qtprogobufgenerator classes
+ *      Declares propertyOrdering for type T inherited of QObject. Is part of autogenerated by qtprogobufgenerator classes
  */
 
 #define Q_PROTOBUF_OBJECT\
@@ -55,5 +57,3 @@
         static const QtProtobuf::QProtobufPropertyOrdering propertyOrdering;\
         static const QtProtobuf::QProtobufMetaObject protobufMetaObject;\
     private:
-
-/*! \} */

+ 3 - 2
src/protobuf/qprotobufserializer_p.h

@@ -34,12 +34,12 @@
 namespace QtProtobuf {
 
 /*!
+ * \ingroup QtProtobuf
  * \private
- *
  * \brief The QProtobufSerializerPrivate class
  */
 class QProtobufSerializer;
-
+//! \private
 class QProtobufSerializerPrivate final
 {
     Q_DISABLE_COPY_MOVE(QProtobufSerializerPrivate)
@@ -55,6 +55,7 @@ public:
     using Deserializer = void(*)(QProtobufSelfcheckIterator &, QVariant &);
 
     /*!
+     * \private
      * \brief SerializationHandlers contains set of objects that required for class serializaion/deserialization
      */
     struct SerializationHandlers {

+ 2 - 2
src/protobuf/qprotobufserializerregistry.cpp

@@ -59,7 +59,7 @@ const QString DefaultImpl("Default");
 
 
 namespace QtProtobuf {
-
+//! \private
 struct QProtobufSerializerRegistryPrivateRecord final
 {
     QProtobufSerializerRegistryPrivateRecord() : loader(nullptr) {}
@@ -126,7 +126,7 @@ struct QProtobufSerializerRegistryPrivateRecord final
     QVariantList typeArray;
 };
 
-
+//! \private
 class QProtobufSerializerRegistryPrivate
 {
 

+ 33 - 23
src/protobuf/qtprotobuftypes.h

@@ -33,12 +33,9 @@
 #include <unordered_map>
 
 namespace QtProtobuf {
-/*!
-*  \addtogroup QtProtobuf
-*  \{
-*/
 
 /*!
+ * \ingroup QtProtobuf
  * \brief The WireTypes enumeration reflects protobuf default wiretypes
  *
  * \see https://developers.google.com/protocol-buffers/docs/encoding for details.
@@ -59,7 +56,7 @@ using QProtobufPropertyOrdering = std::unordered_map<int, int>;
 
 /*!
  * \private
- *
+ * \ingroup QtProtobuf
  * \brief the transparent class is template to define set of extra types for integral types, to cover protobuf needs
  */
 template<typename T, int = 0>
@@ -78,9 +75,9 @@ struct transparent {
 
 /*!
  * \brief int32 signed 32-bit integer
- *
+ * \ingroup QtProtobuf
  * \details int32 is regular signed 32-bit integer that is represented in protobuf as variable size integer
- * aka WireTypes::Varint without modificators
+ *          aka WireTypes::Varint without modificators
  */
 using int32 = transparent<int32_t>;
 
@@ -88,31 +85,31 @@ using int32 = transparent<int32_t>;
  * \brief int64 signed 64-bit integer
  *
  * \details int64 is regular signed 64-bit integer that is represented in protobuf as variable size integer
- * aka WireTypes::Varint without modificators
+ *          aka WireTypes::Varint without modificators
  */
 using int64 = transparent<int64_t>;
 
 /*!
  * \brief uint32 unsigned 32-bit integer
- *
+ * \ingroup QtProtobuf
  * \details uint32 is unsigned 32-bit integer that is represented in protobuf as variable size integer
- * aka WireTypes::Varint without modificators
+ *          aka WireTypes::Varint without modificators
  */
 using uint32 = uint32_t;
 
 /*!
  * \brief uint64 unsigned 64-bit integer
- *
+ * \ingroup QtProtobuf
  * \details uint64 is unsigned 64-bit integer that is represented in protobuf as variable size integer
- * aka WireTypes::Varint without modificators
+ *          aka WireTypes::Varint without modificators
  */
 using uint64 = uint64_t;
 
 /*!
  * \brief sint32 signed 32-bit ZigZag integer
- *
+ * \ingroup QtProtobuf
  * \details sint32 is 32-bit integer with forced sign marker that is represented in protobuf as variable size integer
- * aka WireTypes::Varint. sint32 type serialized using ZigZag convertion to reduce size of negative numbers.
+ *          aka WireTypes::Varint. sint32 type serialized using ZigZag convertion to reduce size of negative numbers.
  *
  * \see https://developers.google.com/protocol-buffers/docs/encoding#signed-integers for details.
  */
@@ -120,9 +117,9 @@ using sint32 = int32_t;
 
 /*!
  * \brief sint64 signed 64-bit ZigZag integer
- *
+ * \ingroup QtProtobuf
  * \details sint64 is 64-bit integer with forced sign marker that is represented in protobuf as variable size integer
- * aka WireTypes::Varint. sint64 type serialized using ZigZag convertion to reduce size of negative numbers.
+ *          aka WireTypes::Varint. sint64 type serialized using ZigZag convertion to reduce size of negative numbers.
  *
  * \see https://developers.google.com/protocol-buffers/docs/encoding#signed-integers for details.
  */
@@ -130,97 +127,110 @@ using sint64 = int64_t;
 
 /*!
  * \brief fixed32 unsigned 32-bit fixed size integer
- *
+ * \ingroup QtProtobuf
  * \details fixed32 is unsigned 32-bit integer that is represented in protobuf as fixed size 32-bit field
- * aka WireTypes::Fixed32
+ *          aka WireTypes::Fixed32
  */
 using fixed32 = transparent<uint32_t, 1>;
 
 /*!
  * \brief fixed64 unsigned 64-bit fixed size integer
- *
+ * \ingroup QtProtobuf
  * \details fixed64 is unsigned 64-bit integer that is represented in protobuf as fixed size 64-bit field
- * aka WireTypes::Fixed64
+ *          aka WireTypes::Fixed64
  */
 using fixed64 = transparent<uint64_t, 1>;
 
 /*!
  * \brief fixed32 signed 32-bit fixed size integer
- *
+ * \ingroup QtProtobuf
  * \details fixed32 is signed 32-bit integer that is represented in protobuf as fixed size 32-bit field
- * aka WireTypes::Fixed32
+ *          aka WireTypes::Fixed32
  */
 using sfixed32 = transparent<int32_t, 1>;
 
 /*!
  * \brief fixed64 signed 64-bit fixed size integer
- *
+ * \ingroup QtProtobuf
  * \details fixed64 is signed 64-bit integer that is represented in protobuf as fixed size 64-bit field
  * aka WireTypes::Fixed64
  */
 using sfixed64 = transparent<int64_t, 1>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::int32
  */
 using int32List = QList<int32>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::int64
  */
 using int64List = QList<int64>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::uint32
  */
 using uint32List = QList<uint32>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::uint64
  */
 using uint64List = QList<uint64>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::sint32
  */
 using sint32List = QList<sint32>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::sint64
  */
 using sint64List = QList<sint64>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::fixed32
  */
 using fixed32List = QList<fixed32>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::fixed64
  */
 using fixed64List = QList<fixed64>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::sfixed32
  */
 using sfixed32List = QList<sfixed32>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::sfixed64
  */
 using sfixed64List = QList<sfixed64>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::float
  */
 using FloatList = QList<float>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief alias for list of QtProtobuf::double
  */
 using DoubleList = QList<double>;
 
 /*!
+ * \ingroup QtProtobuf
  * \brief registerTypes
  * This method should be called in all applications that supposed to use QtProtobuf
  */