summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qlowenergycontroller.h
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@digia.com>2014-07-18 15:16:42 +0200
committerAlex Blasche <alexander.blasche@digia.com>2014-07-23 12:13:21 +0200
commit45536c645baa22e51be4871308ff872c1ba43dce (patch)
tree9d0119b3c2587773034141bcc1537a9661b8eeb6 /src/bluetooth/qlowenergycontroller.h
parentb38d9e348470d917dba9d7b8acfc93fb505a6555 (diff)
Rename QLowEnergyControllerNew -> QLowEnergyController
Moves the new API into its place and completes the removal of the old API. Change-Id: I10a285e24e288aeb747cb1606574e27a4bf57308 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Diffstat (limited to 'src/bluetooth/qlowenergycontroller.h')
-rw-r--r--src/bluetooth/qlowenergycontroller.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/src/bluetooth/qlowenergycontroller.h b/src/bluetooth/qlowenergycontroller.h
new file mode 100644
index 00000000..27421cf1
--- /dev/null
+++ b/src/bluetooth/qlowenergycontroller.h
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtBluetooth module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** 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 Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QLOWENERGYCONTROLLER_H
+#define QLOWENERGYCONTROLLER_H
+
+#include <QObject>
+#include <QtBluetooth/QBluetoothAddress>
+#include <QtBluetooth/QBluetoothUuid>
+#include <QtBluetooth/QLowEnergyService>
+
+QT_BEGIN_NAMESPACE
+
+class QLowEnergyControllerPrivate;
+class Q_BLUETOOTH_EXPORT QLowEnergyController : public QObject
+{
+ Q_OBJECT
+public:
+ enum Error {
+ NoError,
+ UnknownError,
+ UnknownRemoteDeviceError,
+ NetworkError,
+ InvalidBluetoothAdapterError
+ };
+
+ enum ControllerState {
+ UnconnectedState = 0,
+ ConnectingState,
+ ConnectedState,
+ ClosingState,
+ };
+
+ explicit QLowEnergyController(const QBluetoothAddress &remoteDevice,
+ QObject *parent = 0);
+ explicit QLowEnergyController(const QBluetoothAddress &remoteDevice,
+ const QBluetoothAddress &localDevice,
+ QObject *parent = 0);
+ ~QLowEnergyController();
+
+ QBluetoothAddress localAddress() const;
+ QBluetoothAddress remoteAddress() const;
+
+ ControllerState state() const;
+
+ void connectToDevice();
+ void disconnectFromDevice();
+
+ // TODO add a way of detecting whether discoverDetails() as already called
+ void discoverServices();
+ QList<QBluetoothUuid> services() const;
+ QLowEnergyService *createServiceObject(
+ const QBluetoothUuid &service, QObject *parent = 0);
+
+ Error error() const;
+ QString errorString() const;
+
+Q_SIGNALS:
+ void connected();
+ void disconnected();
+ void stateChanged(QLowEnergyController::ControllerState state);
+ void error(QLowEnergyController::Error newError);
+
+ void serviceDiscovered(const QBluetoothUuid &newService);
+ void discoveryFinished();
+
+private:
+ Q_DECLARE_PRIVATE(QLowEnergyController)
+ QLowEnergyControllerPrivate *d_ptr;
+};
+
+QT_END_NAMESPACE
+
+#endif // QLOWENERGYCONTROLLER_H