summaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/chat/doc/src/chat.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/bluetooth/chat/doc/src/chat.qdoc')
-rw-r--r--examples/bluetooth/chat/doc/src/chat.qdoc84
1 files changed, 84 insertions, 0 deletions
diff --git a/examples/bluetooth/chat/doc/src/chat.qdoc b/examples/bluetooth/chat/doc/src/chat.qdoc
new file mode 100644
index 00000000..5f61fd74
--- /dev/null
+++ b/examples/bluetooth/chat/doc/src/chat.qdoc
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt local connectivty modules.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+ \example chat
+ \title Bluetooth QML Chat Example
+ \brief An example demonstrating communication through Bluetooth QML API.
+
+ \e {Bluetooth QML Chat} example shows how to use the \l{Qt Bluetooth} QML API to communicate
+ with another application on a remote device using Bluetooth.
+
+ \image chat-view.png
+
+ The Bluetooth QML Chat example implements a simple chat program between two parties. The
+ application acts as client and attempts to connect to a Bluetooth socket server. It uses
+ the \l BluetoothDiscoveryModel type to find the server and \l BluetoothSocket type to
+ facilitate the data exchange.
+
+ \include examples-run.qdocinc
+
+ The example only works in connection with the \l {btchat}{Bluetooth Chat Example}.
+ The Bluetooth Chat example launches the chat service and advertises it via the
+ Bluetooth SDP protocol. It is important that the device running the Bluetooth Chat
+ example actively advertises its SDP services.
+ This can be checked using the \l QBluetoothLocalDevice::hostMode property.
+
+ \section1 Interacting with the Server
+
+ The example application immediately starts the service discovery using the
+ \l BluetoothDiscoveryModel type:
+
+ \snippet chat/chat.qml BtDiscoveryModel-1
+ \snippet chat/chat.qml BtDiscoveryModel-3
+
+ The \l {BluetoothDiscoveryModel::uuidFilter}{uuidFilter} property is used to only search for
+ the chat server UUID and the \l {BluetoothDiscoveryModel::running}{running}
+ property activates the search. Once a service with a matching UUID is found the model emits the
+ \l {BluetoothDiscoveryModel::serviceDiscovered}{serviceDiscovered(BluetoothService)} signal.
+
+ \snippet chat/chat.qml BtDiscoveryModel-2
+
+ The \l BluetoothService type encapsulates the details of the found chat server, such as the
+ \l {BluetoothService::serviceName}{name} and \l {BluetoothService::serviceDescription}{description} of the
+ service, as well as the \l{BluetoothService::deviceName}{name} and \l {BluetoothService::deviceAddress}{address}
+ of the Bluetooth device offering the chat server. It is passed to the \l BluetoothSocket
+ to establish the connection.
+
+ Once the connection is established the chat information is:
+ \snippet chat/chat.qml BluetoothSocket-1
+ \snippet chat/chat.qml BluetoothSocket-2
+
+ The payload is received via the \l {BluetoothSocket::stringData}{stringData} property:
+
+ \snippet chat/chat.qml BluetoothSocket-3
+ \snippet chat/chat.qml BluetoothSocket-4
+
+ And sent by setting the same property:
+
+ \snippet chat/chat.qml BluetoothSocket-5
+*/