HWNewNet::HWNewNet() : isChief(false), m_game_connected(false), netClientState(Disconnected) { m_private_game = false; m_nick_registered = false; m_roomsListModel = new RoomsListModel(this); m_playersModel = new PlayersListModel(this); m_lobbyPlayersModel = new QSortFilterProxyModel(this); m_lobbyPlayersModel->setSourceModel(m_playersModel); m_lobbyPlayersModel->setSortRole(PlayersListModel::SortRole); m_lobbyPlayersModel->setDynamicSortFilter(true); m_lobbyPlayersModel->sort(0); m_roomPlayersModel = new QSortFilterProxyModel(this); m_roomPlayersModel->setSourceModel(m_playersModel); m_roomPlayersModel->setSortRole(PlayersListModel::SortRole); m_roomPlayersModel->setDynamicSortFilter(true); m_roomPlayersModel->sort(0); m_roomPlayersModel->setFilterRole(PlayersListModel::RoomFilterRole); m_roomPlayersModel->setFilterFixedString("true"); // socket stuff connect(&NetSocket, SIGNAL(readyRead()), this, SLOT(ClientRead())); connect(&NetSocket, SIGNAL(connected()), this, SLOT(OnConnect())); connect(&NetSocket, SIGNAL(disconnected()), this, SLOT(OnDisconnect())); connect(&NetSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(displayError(QAbstractSocket::SocketError))); connect(this, SIGNAL(messageProcessed()), this, SLOT(ClientRead()), Qt::QueuedConnection); }
char * Message::getMessage() { if (!messageProcessed()) { size_t size = BUF_SIZE; bool verbose = _name == NULL; const char * fstr = verbose ? "%-5s [%02i:%02i:%02i] Function %s (File %s : Line %03d): %s\n" : "%-5s %s : %s\n"; do { _buffer = new char[size]; const char * msg = makeMessage(); int res; if (verbose) { time_t t = time(NULL); tm * time_info = localtime(&t); res = snprintf(_buffer, size, fstr, _lvl, time_info->tm_hour, time_info->tm_min, time_info->tm_sec, _function, _file, _line, msg); } else { res = snprintf(_buffer, size, fstr, _lvl, _name, msg); } if (res < 0) { size *= 2; delete[] _buffer; } else if (static_cast<size_t>(res) > size) { size = res + 1; delete[] _buffer; } else { return _buffer; } } while (true); } else { return _buffer; } }
void HWNewNet::ClientRead() { while (NetSocket.canReadLine()) { QString s = QString::fromUtf8(NetSocket.readLine()); if (s.endsWith('\n')) s.chop(1); if (s.size() == 0) { ParseCmd(cmdbuf); cmdbuf.clear(); emit messageProcessed(); return ; } else cmdbuf << s; } }
void SmsClient::finished( const QString& id, QTelephony::Result result ) { QMap<QString, RawSms>::iterator it = sentMessages.find(id); if (it != sentMessages.end()) { // Report this message back as 'processed', whether transmission succeeded or not emit messageProcessed(it->msgId); sentMessages.erase(it); } else { qWarning() << "SMS: Cannot process unknown message:" << id; } if ( result != QTelephony::OK ) success = false; ++count; if ( count >= total ) { if ( success ) emit mailSent( count ); else emit transmissionCompleted(); } }