Pith - wedge_linux
wedge_linux/NetworkManager.h [1.1 kb]
Modified: 06:16:07 91 026 (18 Jun 026)
6 Days Ago
#ifndef NETWORKMANAGER_H
#define NETWORKMANAGER_H

#include <QObject>
#include <QTcpSocket>
#include <QTcpServer>
#include <QProcess>

class NetworkManager : public QObject {
    Q_OBJECT
public:
    enum class Route { USB, WIFI, Bluetooth };
    enum class Role { Client, Server };

    explicit NetworkManager(QObject *parent = nullptr);
    ~NetworkManager();

    void startConnection(Route route, Role role);
    void disconnectFromPeer();
    void sendNoteContent(const QString &content, const QString &passKey, qint64 lastModified);
    bool isConnected() const;

signals:
    void statusChanged(const QString &status, bool isConnected);
    void contentReceived(const QString &content);

private slots:
    void handleNewConnection();
    void handleReadyRead();
    void handleSocketError(QAbstractSocket::SocketError socketError);
    void handleConnected();
    void handleDisconnected();

private:
    void runAdbForward();
    void setupClient(Route route);
    void setupServer();

    QTcpSocket *socket;
    QTcpServer *server;
    Role currentRole;
    bool m_connected;
    const quint16 PORT = 35690;
};

#endif 
Updates
OTC Applet - Linux 93.026.1
Wedge - Linux 90.026.1
Wedge - Android 90.026.1
Shim - Android 86.026.1
Kerf - Android 86.026.4
Dev
TVShow (227) 'CSA'
TVShow (228) 'APT'
TVProgram (83) 'BXT'
Miter Update(s)
Peen (Messaging)

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed
User Avatar
@vgmlr
=SUM(parts)