/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** 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 Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/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$ ** ****************************************************************************/ /*! \page connectivity-api.html \title Connectivity \brief The Connectivity API facilitates communication with local devices. \ingroup mobility \tableofcontents \section1 Overview The Connectivity API provides a set of APIs for communicating with local devices. The current version of the Connectivity API includes support for Bluetooth and Near Field Communication (NFC) technologies. Bluetooth is a short-range (less than 100 meters) wireless technology. It has a reasonably high data transfer rate of 2.1 Mbit/s, which makes it ideal for transfering data between devices. The Bluetooth API provides classes for controlling the local Bluetooth device, discovering devices in the local vacinity, discovering services provided by those devices, publishing services and both server and client sockets for L2CAP and RFCOMM protocols. NFC is an extremely short-range (approx. 1 centimeter) wireless techonology and has a maximum transfer rate of 424 kbit/s. NFC is ideal for transfer small packets of data when two devices are touched together. The NFC API provides APIs for interacting with NFC Forum Tags and NFC Forum Devices, including target detection and loss, registering NDEF message handlers, reading and writing NDEF messages to NFC Forum Tags, send tag specific commands. The API also provides client and server LLCP sockets. \section1 Known Issues and Limitations \section2 Bluetooth and S60 5.0/Symbian^1 The S60 5.0 SDK as shipped by Nokia does not include all the required header files and libraries to compile the bluetooth backend for Symbian. It contains a subset of the requires bluetooth library. There is a Bluetooth plugin available for the S60 3.2 SDK but it cannot be used since it will overwrite and damage part of the bluetooth support already present in the 5.0 SDK. As such, compiling QtMobility for Symbian/S60 5.0 not recommended until Nokia releases a S60 5.0/Symbian^1 bluetooth plugin. A bug has been opened about this issue: \l http://bugreports.qt.nokia.com/browse/QTMOBILITY-1660 \section2 NFC The NFC API is only supported on Harmattan and Symbian^3 and the Qt Simulator. On Symbian^3 the API is fully functional. On the Qt Simulator only target detection and loss and tag access are support. On Harmattan the following features are \bold NOT supported: \list \o Connectionless LLCP sockets (both client and server). \o Tag type specific access. \endlist \section1 Examples Some interesting examples for the API exist. \table 80% \header \o Example \o Description \row \o \l{annotatedurl}{NFC Annotated URL} \o Displays URL along with caption text and an image from from an NFC tag containing a specially formated NDEF message. \row \o \l{btchat}{Bluetooth Chat} \o A chat server and client using bluetooth. \row \o \l{bttennis}{Bluetooth Tennis} \o The classic game of \l {http://en.wikipedia.org/wiki/Pong}{Pong}. Supports multiplayer over Bluetooth and touch-to-play functionality on devices that support NFC. \row \o \l{btfiletransfer}{Bluetooth File Transfer} \o Transfer files between Bluetooth devices. \row \o \l{btscanner}{Bluetooth Scanner} \o Scan for Bluetooth devices. \row \o \l{ndefeditor}{NDEF Editor} \o Create NDEF messages using the NDEF records supported by the Connectivity API and save them to supported NFC Forum tags. \row \o \l{declarative-connectivity/tennis}{QML Bluetooth Tennis} \o The tennis game using a QML interface to the Bluetooth API. It must connect to an instance of the C++ \l{bttennis}{Bluetooth Tennis} game to play. \row \o \l{declarative-connectivity/scanner}{QML Bluetooth Scanner} \o A QML implementation of the Bluetooth device scanner. \row \o \l{declarative-connectivity/poster}{QML Poster} \o A QML implementation of the NFC Annotated URL example. \row \o \l{https://projects.developer.nokia.com/nfcinfo}{Nfc Info} \o Shows all information about NFC tags. \row \o \l{https://projects.developer.nokia.com/nfccorkboards}{Nfc Corkboard} \o Example how to autolauch an application by touching a NFC tag. \row \o \l{https://projects.developer.nokia.com/nfcchat}{Nfc Chat} \o NFC chat application. \endtable See also \l{http://www.developer.nokia.com/Develop/NFC/Code_examples/}{Nfc Code Examples} link. \section1 Main Classes \section2 NFC Classes \annotatedlist connectivity-nfc \section2 Bluetooth Classes \annotatedlist connectivity-bluetooth \section2 Qt Quick Elements \annotatedlist connectivity-qml */