/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page qtcoap-index.html
    \title Qt CoAP
    \brief Provides classes and functions to make CoAP programming simple and
    portable.

    Constrained Application Protocol (\l CoAP) is a machine-to-machine (M2M) web
    transfer protocol for use with constrained nodes and constrained networks in
    the Internet of Things (IoT). It is designed to easily interface with HTTP for
    integration with the Web, while meeting specialized requirements such as multicast
    support, very low overhead, and simplicity for constrained environments.

    The Qt CoAP module implements the client side of CoAP defined by \l{RFC 7252}.
    Generally, CoAP is designed to use datagram-oriented transport such as UDP, so
    the current implementation of the transport is based on UDP. However implementing
    custom transports based on TCP, WebSocket, and so on, is also possible.

    The Qt CoAP module supports:

    \list
    \li Security based on Datagram TLS (DTLS) over UDP
    \li Group communication defined by \l{RFC 7390}
    \li Blockwise transfers defined by \l{RFC 7959}
    \li Resource observation defined by \l{RFC 7641}
    \li Resource discovery (multicast and single server)
    \endlist

    \note Qt CoAP is part of the Qt for Automation offering and not Qt. For further
    details please see \l {Qt for Automation}.

    \section1 Getting Started

    To include the definitions of the module's classes, use the following
    directive:

    \code
    #include <QtCoap/QtCoap>
    \endcode

    To link against the module, add this line to your \l qmake \c .pro file:

    \code
    QT += coap
    \endcode

    \section1 Articles and Guides

    \list
        \li \l{Qt CoAP Overview}{Overview}
    \endlist

    \section1 Examples

    \list
        \li \l{Qt CoAP Examples}
    \endlist

    \section1 Reference

    \list
         \li \l{Qt CoAP C++ Classes}{C++ Classes}
    \endlist

    \section1 Licenses and Attributions

    Qt CoAP is available under commercial licenses from \l{The Qt Company}.
    In addition, it is available under the
    the \l{GNU General Public License, version 3}.

    \generatelist{groupsbymodule attributions-qtcoap}
*/
