/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://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: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \example heartlistener
    \title Bluetooth Low Energy Heart Listener Example
    \brief An example demonstrating the interaction with a Bluetooth Low Energy Heart Rate
    device/service. The example demonstrates the use of all Qt Bluetooth
    Low Energy classes.

    The Bluetooth Low Energy Heart Listener Example shows how to develop a Bluetooth
    Low Energy application using the Qt Bluetooth API. The application covers
    the scanning for Bluetooth Low Energy devices, connecting to a Heart Rate service
    on the device, writing characteristics and descriptors and receiving updates from device
    once the heart rate has changed.

    \image heartratemonitor.png

    The example introduces the following Qt classes:

    \list
        \li \l QLowEnergyController
        \li \l QLowEnergyService
        \li \l QLowEnergyCharacteristic
        \li \l QLowEnergyDescriptor
    \endlist

    A Bluetooth Low Energy device with a Heart Rate
    service is required for this application to work. An alternative might be a programmable
    Bluetooth Low Energy device which might simulate the service. You can also use the
    \l {heartrate-server} {Heart Rate server} example for that purpose.
    If no such device can be found, the example uses a demo mode which creates and displays
    random values.

    The \l {lowenergyscanner}{Bluetooth Low Energy Scanner} example might be more suitable
    if a heart rate device is not available. The scanner example works with any type of Bluetooth
    Low Energy peripheral device.

    \include examples-run.qdocinc

    \section1 Visual Tour

    The application searches for all Bluetooth Low Energy peripheral devices in the vicinity.
    It is assumed that the remote devices advertise their presence. The found devices are
    presented in a list. Note that it shows all Bluetooth Low Energy devices even those which
    do not offer a Heart Rate service.

    \image heartratefound.png

    After the user has selected a target device, the example connects to its Heart Rate service
    if one is available. It automatically enables notification updates for the Heart Rate value
    and presents the current value on the screen.

    \image heartratemonitor.png

    Once the monitoring process is canceled, a small graph presents a summary of the received
    values.

    \image heartrateresults.png
*/

