Skip to content

Commit

Permalink
Add setSocketState.
Browse files Browse the repository at this point in the history
instead of capturing connected and disconnected signals we can use stateChanged signal and simplify a bit.
  • Loading branch information
mohsenD98 committed Oct 1, 2024
1 parent 6d99045 commit 8a0ffe9
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 18 deletions.
48 changes: 34 additions & 14 deletions src/core/positioning/egenioussreceiver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,57 @@ EgenioussReceiver::EgenioussReceiver( QObject *parent )
{
connect( mTcpSocket, &QTcpSocket::readyRead, this, &EgenioussReceiver::onReadyRead );
connect( mTcpSocket, &QTcpSocket::errorOccurred, this, &EgenioussReceiver::handleError );
connect( mTcpSocket, &QTcpSocket::connected, this, &EgenioussReceiver::connected );
connect( mTcpSocket, &QTcpSocket::disconnected, this, &EgenioussReceiver::disconnected );
connect( mTcpSocket, &QTcpSocket::stateChanged, this, &EgenioussReceiver::setSocketState );
setValid( true );
}

void EgenioussReceiver::handleConnectDevice()
EgenioussReceiver::~EgenioussReceiver()
{
mTcpSocket->connectToHost( mAddress, mPort, QTcpSocket::ReadWrite );
disconnect( mTcpSocket, &QTcpSocket::stateChanged, this, &EgenioussReceiver::setSocketState );
}

void EgenioussReceiver::connected()
void EgenioussReceiver::handleConnectDevice()
{
mSocketState = QAbstractSocket::ConnectedState;
mSocketStateString = tr( "Successfully connected" );
emit socketStateChanged( mSocketState );
setValid( true );
mTcpSocket->connectToHost( mAddress, mPort, QTcpSocket::ReadWrite );
}

void EgenioussReceiver::handleDisconnectDevice()
{
mTcpSocket->disconnectFromHost();
}

void EgenioussReceiver::disconnected()
void EgenioussReceiver::setSocketState( const QAbstractSocket::SocketState socketState )
{
if ( mTcpSocket->state() == QAbstractSocket::ConnectedState )
if ( mSocketState == socketState )
{
mSocketState = QAbstractSocket::UnconnectedState;
mSocketStateString = tr( "Disconnected" );
emit socketStateChanged( mSocketState );
return;
}

switch ( socketState )
{
case QAbstractSocket::ConnectingState:
case QAbstractSocket::HostLookupState:
{
mSocketStateString = tr( "Connecting…" );
break;
}
case QAbstractSocket::ConnectedState:
case QAbstractSocket::BoundState:
{
mSocketStateString = tr( "Successfully connected" );
break;
}
case QAbstractSocket::UnconnectedState:
mSocketStateString = tr( "Disconnected" );
default:
{
mSocketStateString = tr( "Socket state %1" ).arg( static_cast<int>( socketState ) );
}
}

mSocketState = socketState;
emit socketStateChanged( mSocketState );
emit socketStateStringChanged( mSocketStateString );
}

QList<QPair<QString, QVariant>> EgenioussReceiver::details()
Expand Down
4 changes: 2 additions & 2 deletions src/core/positioning/egenioussreceiver.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ class EgenioussReceiver : public AbstractGnssReceiver

public:
explicit EgenioussReceiver( QObject *parent = nullptr );
~EgenioussReceiver();

private:
void handleConnectDevice() override;
void handleDisconnectDevice() override;
void setSocketState( const QAbstractSocket::SocketState socketState );
QList<QPair<QString, QVariant>> details() override;

private slots:
Expand All @@ -24,8 +26,6 @@ class EgenioussReceiver : public AbstractGnssReceiver

private:
void processReceivedData();
void connected();
void disconnected();

private:
QTcpSocket *mTcpSocket = nullptr;
Expand Down
6 changes: 4 additions & 2 deletions src/qml/PositioningDeviceSettings.qml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ Popup {
});
} else {
positioningDeviceTypeModel.remove(0, 1);
positioningDeviceModel.removeDevice("Egeniouss");
positioningDeviceComboBox.currentIndex = 0;
if (positioningDeviceModel.findIndexFromDeviceId("egeniouss:") !== -1) {
positioningDeviceModel.removeDevice("Egeniouss");
positioningDeviceComboBox.currentIndex = 0;
}
}
positioningDeviceType.model = positioningDeviceTypeModel;
}
Expand Down

0 comments on commit 8a0ffe9

Please sign in to comment.