Pith - wedge_linux
wedge_linux/WedgeNetwork.h [1.2 kb]
Modified: 22:03:59 118 026 (15 Jul 026)
10 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;
    qint64 peerLastModified() 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 teardownAdb();
    void setupClient(Route route);
    void setupServer();
    void sendMeta();

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

#endif 
Updates
Wedge - Android 126.026
Wedge - Linux 124.026
Shim - Android 117.026
Miter - 114.026
Kerf - Android 112.026
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)