File indexing completed on 2024-04-28 16:51:32
0001 /* 0002 SPDX-FileCopyrightText: 2017 Kai Uwe Broulik <kde@privat.broulik.de> 0003 SPDX-FileCopyrightText: 2017 David Edmundson <davidedmundson@kde.org> 0004 0005 SPDX-License-Identifier: MIT 0006 */ 0007 0008 #pragma once 0009 0010 #include <QFile> 0011 #include <QJsonObject> 0012 #include <QObject> 0013 0014 /* 0015 * This class is responsible for managing all stdout/stdin connections emitting JSON 0016 */ 0017 class Connection : public QObject 0018 { 0019 Q_OBJECT 0020 public: 0021 static Connection *self(); 0022 void sendData(const QJsonObject &data); 0023 0024 Q_SIGNALS: 0025 void dataReceived(const QJsonObject &data); 0026 0027 private: 0028 Connection(); 0029 ~Connection() override = default; 0030 void readData(); 0031 QFile m_stdOut; 0032 QFile m_stdIn; 0033 };