File indexing completed on 2024-04-28 03:52:07

0001 /*
0002  * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 #ifndef CHATPROFILE_H
0008 #define CHATPROFILE_H
0009 
0010 #include "device.h"
0011 #include "profile.h"
0012 
0013 class QLocalSocket;
0014 
0015 class ChatProfile : public BluezQt::Profile
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit ChatProfile(QObject *parent);
0021 
0022     QDBusObjectPath objectPath() const override;
0023     QString uuid() const override;
0024 
0025     void newConnection(BluezQt::DevicePtr device, const QDBusUnixFileDescriptor &fd, const QVariantMap &properties, const BluezQt::Request<> &request) override;
0026     void requestDisconnection(BluezQt::DevicePtr device, const BluezQt::Request<> &request) override;
0027     void release() override;
0028 
0029 private Q_SLOTS:
0030     void socketReadyRead();
0031     void socketDisconnected();
0032     void writeToSocket();
0033 
0034 private:
0035     QSharedPointer<QLocalSocket> m_socket;
0036 };
0037 
0038 #endif // CHATPROFILE_H