This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Michael Zanetti 22dd3fe27d intermediate commit.
Working pretty well now. No cleanup done. some broken menu entries related to
connect.

TBC
2019-02-06 03:00:43 +01:00

42 lines
1.0 KiB
C++

#ifndef TCPSOCKETTRANSPORT_H
#define TCPSOCKETTRANSPORT_H
#include "nymeatransportinterface.h"
#include <QObject>
#include <QSslSocket>
#include <QUrl>
class TcpSocketTransportFactory: public NymeaTransportInterfaceFactory
{
public:
NymeaTransportInterface* createTransport(QObject *parent = nullptr) const override;
QStringList supportedSchemes() const override;
};
class TcpSocketTransport: public NymeaTransportInterface
{
Q_OBJECT
public:
explicit TcpSocketTransport(QObject *parent = nullptr);
bool connect(const QUrl &url) override;
QUrl url() const override;
ConnectionState connectionState() const override;
void disconnect() override;
void sendData(const QByteArray &data) override;
void ignoreSslErrors(const QList<QSslError> &errors) override;
private slots:
void onConnected();
void onEncrypted();
void socketReadyRead();
void onSocketStateChanged(const QAbstractSocket::SocketState &state);
private:
QSslSocket m_socket;
QUrl m_url;
};
#endif // TCPSOCKETTRANSPROT_H