Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
++
++ /*!
++ \headerfile <QtPlugin>
++ \inmodule QtCore
++ \title Defining Plugins
++ \keyword qtplugin-defining-plugins
++ \ingroup plugins
++
++ \brief The <QtPlugin> header file defines macros for defining plugins.
++
++ \sa {How to Create Qt Plugins}
++ */
++
++ /*!
++ \macro Q_DECLARE_INTERFACE(ClassName, Identifier)
++ \relates <QtPlugin>
++
++ This macro associates the given \a Identifier (a string literal)
++ to the interface class called \a ClassName. The \a Identifier must
++ be unique.
++
++ This macro is normally used right after the class definition for
++ \a ClassName, in a header file.
++
++ If you want to use Q_DECLARE_INTERFACE with interface classes
++ declared in a namespace then you have to make sure the Q_DECLARE_INTERFACE
++ is not inside a namespace though. For example:
++ \snippet code/doc_src_qplugin.cpp 0
++
++ \sa Q_INTERFACES(), {How to Create Qt Plugins}
++ */
++
++ /*!
++ \macro Q_PLUGIN_METADATA(...)
++ \relates <QtPlugin>
++ \since 5.0
++
++ This macro is being used to declare meta data that is part of a plugin
++ that instantiates this object.
++
++ The macro needs to declare the IID of the interface implemented through
++ the object, and reference a file containing the meta data for the plugin.
++
++ There should be exactly one occurrence of this macro in the source code
++ for a Qt plugin.
++
++ Example:
++
++ \snippet code/doc_src_qplugin.cpp 1
++
++ Note that the class this macro appears on must be default-constructible.
++
++ FILE is optional and points to a json file.
++
++ The json file must reside in one of the include directories specified
++ by the build-system.
++ moc exits with an error when it could not find the specified file.
++
++ \sa Q_DECLARE_INTERFACE(), {How to Create Qt Plugins}
++ */
++
++ /*!
++ \macro Q_IMPORT_PLUGIN(PluginName)
++ \relates <QtPlugin>
++
++ This macro imports the plugin named \a PluginName, which corresponds
++ with the name of the class that declares metadata for the plugin with
++ Q_PLUGIN_METADATA().
++
++ Inserting this macro into your application's source code at file scope of
++ the root namespace will allow you to make use of a static plugin.
++
++ Example:
++
++ \snippet code/doc_src_qplugin.cpp 2
++
++ Static plugins must also be included by the linker when your
++ application is built. See \l{Static Plugins} for more information
++ on this.
++
++ \sa {Static Plugins}, {How to Create Qt Plugins}
++
++ */