void QTwitchChat::disconnect() { if( reconnectTimerId_ >= 0 ) { killTimer( reconnectTimerId_ ); reconnectTimerId_ = -1; //qDebug() << "Twitch::disconnect(): reconnectTimerId_ = " << reconnectTimerId_; } if( statisticTimerId_ >= 0 ) { killTimer( statisticTimerId_ ); statisticTimerId_ = -1; } //if( !socket_ ) // return; if( socket_ && socket_->state() == QAbstractSocket::ConnectedState ) { socket_->write( "QUIT\r\n" ); socket_->flush(); socket_->disconnect(); } safeDeleteSocket(); emit newStatistic( new QChatStatistic( TWITCH_SERVICE, "", this ) ); }
void QVidiChat::onStatisticLoaded() { QNetworkReply * reply = qobject_cast< QNetworkReply * >( sender() ); QJsonParseError parseError; QJsonDocument jsonDoc = QJsonDocument::fromJson( reply->readAll(), &parseError ); if( QJsonParseError::NoError == parseError.error && jsonDoc.isObject() ) { QJsonObject jsonObj = jsonDoc.object(); QJsonObject jsonUser = jsonObj[ "user" ].toObject(); QJsonObject jsonChannel = jsonUser[ "Channel" ].toObject(); QString statistic = QString::number( jsonChannel[ "viewers" ].toInt() ); if( !jsonChannel[ "online" ].toBool() ) statistic = "0"; emit newStatistic( new QChatStatistic( SERVICE_NAME, statistic, this ) ); } reply->deleteLater(); }
void QVidiChat::disconnect() { if( socket_ ) { socket_->abort(); socket_->deleteLater(); } socket_ = nullptr; /* if( joinSocket_ ) { joinSocket_->abort(); joinSocket_->deleteLater(); } joinSocket_ = nullptr; */ resetTimer( reconnectTimerId_ ); resetTimer( saveSocketConnectionTimerId_ ); emit newStatistic( new QChatStatistic( SERVICE_NAME, QString(), this ) ); }