Pith - wedge_linux
wedge_linux/WedgeNetwork.h [1.7 kb]
Modified: 18:56:19 154 026 (20 Aug 026)
9 Days Ago
#ifndef NETWORKMANAGER_H
#define NETWORKMANAGER_H

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

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

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

    void startListener();
    void requestSync(Route route);
    void disconnectFromPeer();
    void sendNoteContent(const QString &content, const QString &passKey, qint64 lastModified);
    bool isConnected() const;
    qint64 peerLastModified() const;
    void setAutoMerge(bool on);
    bool autoMergeReady() const;
    void noteActivity();

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

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

private:
    void runAdbTunnels();
    void teardownAdb();
    void startAdbTracker();
    void dial(Route route);
    void attachSocket(QTcpSocket *s);
    void sendMeta();

    QTcpSocket *socket;
    QTcpServer *server;
    QProcess *adbTracker;
    bool m_connected;
    bool m_metaSeen;
    bool m_syncPending;
    bool m_adbForwarded;
    bool m_autoMerge;
    bool m_peerAutoMerge;
    qint64 m_peerLastModified;
    QTimer *dialTimer;
    QTimer *idleTimer;
    const quint16 PORT_PHONE = 35690; // android listener; adb forward
    const quint16 PORT_HOST  = 35691; // linux listener; adb reverse
};

#endif 
Updates
Stave - Android 158.026
Kerf - Android 157.026
Kiln - Android 157.026
Wedge - Android 156.026
Whittle - Linux 155.026

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed
User Avatar
@vgmlr
=SUM(parts)
0.00148
260,157 (+571)