Files
amnezia-client/client/daemon/daemonlocalserverconnection.h
T

41 lines
1016 B
C++
Raw Normal View History

2023-07-15 14:19:48 -07:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef DAEMONLOCALSERVERCONNECTION_H
#define DAEMONLOCALSERVERCONNECTION_H
#include <QObject>
#include <QString>
2023-07-15 14:19:48 -07:00
2025-01-13 21:45:06 +07:00
#include "daemonerrors.h"
2023-07-15 14:19:48 -07:00
class QLocalSocket;
class DaemonLocalServerConnection final : public QObject {
Q_DISABLE_COPY_MOVE(DaemonLocalServerConnection)
public:
DaemonLocalServerConnection(QObject* parent, QLocalSocket* socket);
~DaemonLocalServerConnection();
private:
void readData();
void parseCommand(const QByteArray& json);
void onTunnelConnected(const QString& ifname, const QString& pubkey);
void onTunnelHandshakeFailed(const QString& ifname);
2023-07-15 14:19:48 -07:00
void disconnected();
2025-01-13 21:45:06 +07:00
void backendFailure(DaemonError err);
2023-07-15 14:19:48 -07:00
void write(const QJsonObject& obj);
private:
QLocalSocket* m_socket = nullptr;
QByteArray m_buffer;
};
#endif // DAEMONLOCALSERVERCONNECTION_H