File indexing completed on 2024-04-28 15:17:51

0001 /*
0002  * BluezQt - Asynchronous Bluez wrapper library
0003  *
0004  * SPDX-FileCopyrightText: 2019 Manuel Weichselbaumer <mincequi@web.de>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #include "gattcharacteristic.h"
0010 #include "gattcharacteristic_p.h"
0011 #include "gattservice.h"
0012 
0013 namespace BluezQt
0014 {
0015 GattCharacteristic::GattCharacteristic(const QString &uuid, GattService *service)
0016     : QObject(service)
0017     , d(new GattCharacterisiticPrivate(uuid, service))
0018 {
0019 }
0020 
0021 GattCharacteristic::~GattCharacteristic()
0022 {
0023     delete d;
0024 }
0025 
0026 QByteArray GattCharacteristic::readValue()
0027 {
0028     if (d->m_readCallback) {
0029         d->m_value = d->m_readCallback();
0030     }
0031 
0032     return d->m_value;
0033 }
0034 
0035 void GattCharacteristic::writeValue(const QByteArray &value)
0036 {
0037     d->m_value = value;
0038     Q_EMIT valueWritten(d->m_value);
0039 }
0040 
0041 QString GattCharacteristic::uuid() const
0042 {
0043     return d->m_uuid;
0044 }
0045 
0046 const GattService *GattCharacteristic::service() const
0047 {
0048     return d->m_service;
0049 }
0050 
0051 QDBusObjectPath GattCharacteristic::objectPath() const
0052 {
0053     return d->m_objectPath;
0054 }
0055 
0056 void GattCharacteristic::setReadCallback(ReadCallback callback)
0057 {
0058     d->m_readCallback = callback;
0059 }
0060 
0061 } // namespace BluezQt
0062 
0063 #include "moc_gattcharacteristic.cpp"