This application is a graphical test application for Bluetooth.
It is able to invoke close to all API features offered by the QtBluetooth API.
It includes features like:

1.) Turning Bluetooth on/off
2.) Pairing with remote devices
3.) Discovery of services and devices
4.) Connecting to a remote SPP profile using RFCOMM
5.) Start of a SPP Bluetooth server

Some features require interaction with remote devices. In particular this involves
pairing and the direct connecting to remote SPP servers. The remote test device address
is hardcoded via BTCHAT_DEVICE_ADDR.

Also, the test application reuses the service uuid employed by the btchat example
(see examples/bluetooth/btchat). It can either directly connect to the remote
btchat app server or create its own btchat server.

Note that the application is purposely very liberal with regards to the amount of its
debug output. This is done to be able to confirm proper working of the tested
APIs.
