void IGPServerConnection::dataReceived(VoidBuffer data) { IGPDatagram message(data); switch (message.getMsgIdent()) { case IGPDatagram::ClientMsgAutoAssignID: igpID = pool->getUniqueIGPId(); printf("Auto-assign ID:%d\n", igpID); valid=true; sendIGPIdent(); break; case IGPDatagram::ClientMsgAssignID: { IGPDatagram::ClientMsgAssignIDDatagram msgReceived(message); printf("Assign ID\n"); if (pool->igpIdValidAndUnique(msgReceived.getIgpIdent())) { valid=true; igpID = msgReceived.getIgpIdent(); sendIGPIdent(); } else { printf("Adresse igp invalide:%d\n", msgReceived.getIgpIdent()); } break; } case IGPDatagram::ClientMsgGetID: sendIGPIdent(); break; case IGPDatagram::ClientMsgToClient: { IGPDatagram::ClientMsgToClientDatagram msgReceived(message); IGPDatagram::ServerMsgToClientDatagram msgToSend(igpID, msgReceived.getIgpIdent(), msgReceived.getMessage()); IGPServerConnection *destConnection = pool->getConnection(msgReceived.getIgpIdent()); if (destConnection != NULL) { destConnection->clientSocket->getOutputStream()->streamWrite(msgToSend.serialize()); } else { printf("DEST not found!!!\n"); } //Buffer<char> str(msgToSend.getMessage()); //str.grow(1); //str[str.size() - 1] = 0; //printf("Message to %d: %s\n", msgToSend.getIgpIdent(), (const char *)str); break; } default: break; } //Buffer<char> str(data); //str.grow(1); //str[str.size() - 1] = 0; //printf("Donnees recues: %s\n", (const char *)str); }
bool JabberPlugin::connectPlugin( bool startup ) { qDebug() << "JabberPlugin::connect"; if ( startup && !TomahawkSettings::instance()->jabberAutoConnect() ) return false; QString jid = TomahawkSettings::instance()->jabberUsername(); QString server = TomahawkSettings::instance()->jabberServer(); QString password = TomahawkSettings::instance()->jabberPassword(); unsigned int port = TomahawkSettings::instance()->jabberPort(); QStringList splitJid = jid.split( '@', QString::SkipEmptyParts ); if ( splitJid.size() < 2 ) { qDebug() << "JID did not have an @ in it, could not find a server part"; return false; } if ( server.isEmpty() ) server = splitJid[1]; if ( port < 1 || port > 65535 || jid.isEmpty() || password.isEmpty() ) { qDebug() << "Jabber credentials look wrong, not connecting"; return false; } delete p; p = new Jabber_p( jid, password, server, port ); QObject::connect( p, SIGNAL( peerOnline( QString ) ), SIGNAL( peerOnline( QString ) ) ); QObject::connect( p, SIGNAL( peerOffline( QString ) ), SIGNAL( peerOffline( QString ) ) ); QObject::connect( p, SIGNAL( msgReceived( QString, QString ) ), SIGNAL( msgReceived( QString, QString ) ) ); QObject::connect( p, SIGNAL( connected() ), SIGNAL( connected() ) ); QObject::connect( p, SIGNAL( disconnected() ), SIGNAL( disconnected() ) ); QObject::connect( p, SIGNAL( authError( int, QString ) ), SLOT( onAuthError( int, QString ) ) ); p->resolveHostSRV(); return true; }
void NetworkDeviceHandler::newConnection() { emit log("New Connection !"); QTcpSocket *client = server->nextPendingConnection(); clients << client; connect(client, SIGNAL(readyRead()),this, SLOT(msgReceived())); connect(client, SIGNAL(disconnected()),this, SLOT(disconnected())); }
void SipHandler::hookUpPlugin( SipPlugin* sip ) { QObject::connect( sip, SIGNAL( peerOnline( QString ) ), SLOT( onPeerOnline( QString ) ) ); QObject::connect( sip, SIGNAL( peerOffline( QString ) ), SLOT( onPeerOffline( QString ) ) ); QObject::connect( sip, SIGNAL( msgReceived( QString, QString ) ), SLOT( onMessage( QString, QString ) ) ); QObject::connect( sip, SIGNAL( sipInfoReceived( QString, SipInfo ) ), SLOT( onSipInfo( QString, SipInfo ) ) ); QObject::connect( sip, SIGNAL( softwareVersionReceived( QString, QString ) ), SLOT( onSoftwareVersion( QString, QString ) ) ); QObject::connect( sip, SIGNAL( avatarReceived( QString, QPixmap ) ), SLOT( onAvatarReceived( QString, QPixmap ) ) ); QObject::connect( sip, SIGNAL( avatarReceived( QPixmap ) ), SLOT( onAvatarReceived( QPixmap ) ) ); QObject::connect( sip->account(), SIGNAL( configurationChanged() ), sip, SLOT( configurationChanged() ) ); }
void EQPlayer::increaseSkill(const skillIncreaseStruct* skilli) { // save the new skill value m_playerSkills[skilli->skillId] = skilli->value; m_thePlayer.skills[skilli->skillId] = skilli->value; // notify others of the new value emit changeSkill (skilli->skillId, skilli->value); QString tempStr; tempStr.sprintf("Skill: %s has increased (%d)", (const char*)skill_name(skilli->skillId), skilli->value); emit msgReceived(tempStr); emit stsMessage(tempStr); }
void NetworkDeviceHandler::connectTo(QString addr, bool server) { QTcpSocket* socket = sockVerifier; if(server) socket = sockServer; socket = new QTcpSocket(this); connect(socket, SIGNAL(readyRead()), this, SLOT(msgReceived())); connect(socket, SIGNAL(connected()), this, SLOT(connected())); connect(socket, SIGNAL(disconnected()), this, SLOT(disconnected())); //connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(erreurSocket(QAbstractSocket::SocketError))); socket->connectToHost(addr, port); if(server) sockServer = socket; else sockVerifier = socket; sizeMsg = 0; }
void FLJasperEngine::msgHandler(AQReportsMsgType type, const QString &msg) { emit msgReceived(type, msg); switch (type) { case AQErrorMsg: #ifdef FL_DEBUG qWarning("FLJasperEngine::AQErrorMsg : " + msg); #endif if (d->showErrorDialog_) { QApplication::restoreOverrideCursor(); QMessageBox::warning(0, QApplication::tr("Error"), msg, QMessageBox::Ok, 0, 0); } break; case AQLogMsg: #ifdef FL_DEBUG qWarning("FLJasperEngine::AQLogMsg : " + msg); #endif break; case AQSysMsg: break; } }
void SpawnShell::consMessage(const considerStruct * con, uint32_t, uint8_t dir) { Item* item; Spawn* spawn; if (dir == DIR_CLIENT) { if (con->playerid != con->targetid) { item = m_spawns.find(con->targetid); if (item != NULL) { spawn = (Spawn*)item; // note that this spawn has been considered spawn->setConsidered(true); emit spawnConsidered(item); } } return; } QString lvl(""); QString hps(""); QString cn(""); QString msg("Faction: Your faction standing with "); //printf("%i, %i, %i, %i\n", con->unknown1[0], con->unknown1[1], con->unknown2[0], con->unknown2[1]); // is it you that you've conned? if (con->playerid == con->targetid) { // print it's deity printf("Diety: %s\n", (const char*)m_player->deityName()); // well, this is You msg += "YOU"; } else { // find the spawn if it exists item = m_spawns.find(con->targetid); // has the spawn been seen before? if (item != NULL) { Spawn* spawn = (Spawn*)item; // yes printf("Diety: %s\n", (const char*)spawn->deityName()); int changed = tSpawnChangedNone; /* maxhp and curhp are available when considering players, */ /* but not when considering mobs. */ if (con->maxHp || con->curHp) { if (spawn->NPC() == SPAWN_NPC_UNKNOWN) { spawn->setNPC(SPAWN_PLAYER); // player changed |= tSpawnChangedNPC; } spawn->setMaxHP(con->maxHp); spawn->setHP(con->curHp); changed |= tSpawnChangedHP; } else if (item->NPC() == SPAWN_NPC_UNKNOWN) { spawn->setNPC(SPAWN_NPC); changed |= tSpawnChangedNPC; } // note the updates if any if (changed != tSpawnChangedNone) { if (updateFilterFlags(item)) changed |= tSpawnChangedFilter; if (updateRuntimeFilterFlags(item)) changed |= tSpawnChangedRuntimeFilter; item->updateLastChanged(); emit changeItem(item, changed); } // note that this spawn has been considered spawn->setConsidered(true); emit spawnConsidered(item); msg += item->name(); } // end if spawn found else msg += "Spawn:" + QString::number(con->targetid, 16); } // else not yourself switch (con->level) { case 0: { cn.sprintf(" (even)"); break; } case 2: { cn.sprintf(" (green)"); break; } case 4: { cn.sprintf(" (blue)"); break; } case 13: { cn.sprintf(" (red)"); break; } case 15: { cn.sprintf(" (yellow)"); break; } case 18: { cn.sprintf(" (cyan)"); break; } default: { cn.sprintf(" (unknown: %d)", con->level); break; } } msg += cn; if (con->maxHp || con->curHp) { lvl.sprintf(" (%i/%i HP)", con->curHp, con->maxHp); msg += lvl; } msg += QString(" is: ") + print_faction(con->faction) + " (" + QString::number(con->faction) + ")!"; emit msgReceived(msg); } // end consMessage()
void WebQQNet::httpPollFinished(QNetworkReply* reply){ QByteArray replyData=reply->readAll(); reply->deleteLater(); QString replystr=QString::fromUtf8(replyData); QJsonDocument jsonDoc; QJsonObject jsonObj; QJsonArray jsonArray; int retcode=0; jsonDoc=QJsonDocument::fromJson(replyData); qDebug()<<"httpPollFinished jsonDoc="<<jsonDoc<<endl<<"replystr="<<replystr<<replystr.length()<<endl; if(jsonDoc.isObject()){ jsonObj=jsonDoc.object(); retcode=jsonObj.value("retcode").toDouble(); if(retcode==0){ WebQQ::mutex.lock(); jsonArray=jsonObj.value("result").toArray(); for(int i=0;i<jsonArray.size();i++){ jsonObj=jsonArray.at(i).toObject(); QQmsg* msg=new QQmsg(); if(jsonObj.value("poll_type").toString()==QString("group_message")){ jsonObj=jsonObj.value("value").toObject(); msg->type=1;//群信息 //send_uin群内发言者TXUIN(通迅号) msg->send_uin=QString::number(jsonObj.value("send_uin").toDouble(),'f',0); //from_uin群TXUIN(群消息)或者好友TXUIN(私聊时) msg->from_uin=QString::number(jsonObj.value("from_uin").toDouble(),'f',0); }else if(jsonObj.value("poll_type").toString()==QString("message")){ jsonObj=jsonObj.value("value").toObject(); msg->type=0;//好友信息 //from_uin群TXUIN(群消息)或者好友TXUIN(私聊时) msg->from_uin=QString::number(jsonObj.value("from_uin").toDouble(),'f',0); }else{ delete msg; break; } msg->time=jsonObj.value("time").toDouble(); jsonArray=jsonObj.value("content").toArray(); for(int i=1;i<jsonArray.size();i++){ if(jsonArray.at(i).isString()){ msg->content+=jsonArray.at(i).toString(); }else if(jsonArray.at(i).isArray()){ msg->content+="[图片]"; } } WebQQ::qqmsgs.append(msg); qDebug()<<msg->type<<msg->from_uin<<msg->time<<QDateTime::fromTime_t(msg->time)<<endl<<msg->content<<endl; } WebQQ::mutex.unlock(); emit msgReceived(); }else if(retcode==116){ ptwebqq=jsonObj.value("p").toString(); qDebug()<<"httpPollFinished retcode="<<retcode<<endl; } } if(retcode==0||retcode==102||retcode==116){ this->pollMsg(); }else{ WebQQ::status=QQstatus::offline; emit sysMsg("掉线了,请重新登录。"); } }
void EQPlayer::updateExp(const expUpdateStruct* exp) { QString totalExp; QString gainedExp; QString leftExp; QString needKills; QString tempStr; if (m_currentExp > 0) { totalExp = Commanate(exp->exp); gainedExp = Commanate((uint32_t) (exp->exp - m_currentExp)); needKills = Commanate((( calc_exp( getPlayerLevel (), getPlayerRace (), getPlayerClass () ) - exp->exp ) / ( exp->exp > m_currentExp ? exp->exp - m_currentExp : 1 ) ) + 1 ); leftExp = Commanate((( calc_exp( getPlayerLevel (), getPlayerRace (), getPlayerClass () ) ) - ( calc_exp( getPlayerLevel () - 1, getPlayerRace (), getPlayerClass () ) ) ) - ( exp->exp - ( calc_exp( getPlayerLevel () - 1, getPlayerRace (), getPlayerClass () ) ) ) ); tempStr = QString("Exp: %1 (%2) [%3]").arg(totalExp).arg(gainedExp).arg(needKills); emit expChangedStr (tempStr); tempStr = QString("Exp: %1 (%2)(%3) left %4").arg(totalExp).arg(gainedExp).arg(needKills).arg(leftExp); emit msgReceived(tempStr); if (m_freshKill) { emit expGained( m_lastSpawnPlayerKilled.name, m_lastSpawnPlayerKilled.level, exp->exp - m_currentExp, m_longZoneName); // have gained experience for the kill, it's no longer fresh m_freshKill = false; } else if ((m_lastSpellOnId == 0x0184) || // Resuscitate (m_lastSpellOnId == 0x0187) || // Revive (does it or don't it?) (m_lastSpellOnId == 0x0188) || // Resurrection (m_lastSpellOnId == 0x02f4) || // Resurrection Effects (m_lastSpellOnId == 0x02f5) || // Resurrection Effect (m_lastSpellOnId == 0x03e2) || // Customer Service Resurrection (m_lastSpellOnId == 0x05f4)) // Reviviscence { emit expGained( spell_name(m_lastSpellOnId), 0, // level of caster would only confuse things further exp->exp - m_currentExp, m_longZoneName); } else emit expGained( "Unknown", // Randomly blessed with xp? 0, // don't know what gave it so, level 0 exp->exp - m_currentExp, m_longZoneName ); emit stsMessage(tempStr); } emit expChangedInt ( exp->exp, calc_exp( getPlayerLevel () - 1, getPlayerRace (), getPlayerClass () ), calc_exp( getPlayerLevel (), getPlayerRace (), getPlayerClass () ) ); m_currentExp = exp->exp; m_validExp = true; }
void EQPlayer::backfill(const playerProfileStruct* player) { QString messag; printf("EQPlayer::backfill():\n"); messag.sprintf("Zone: Name='%s' Last='%s'\n", player->name, player->lastName); emit msgReceived(messag); messag.sprintf("Zone: Level: %d\n", player->level); emit msgReceived(messag); messag.sprintf("Zone: PlayerMoney: P=%d G=%d S=%d C=%d\n", player->platinum, player->gold, player->silver, player->copper); emit msgReceived(messag); messag.sprintf("Zone: BankMoney: P=%d G=%d S=%d C=%d\n", player->platinumBank, player->goldBank, player->silverBank, player->copperBank); emit msgReceived(messag); memcpy(&m_thePlayer, player, sizeof(playerProfileStruct)); m_playerLevel = player->level; m_playerRace = player->race; m_playerClass = player->class_; setUseDefaults(false); setPlayerName(player->name); setPlayerLastName(player->lastName); setPlayerLevel(player->level); setPlayerRace(player->race); setPlayerClass(player->class_); messag = "Exp: " + Commanate(player->exp); // Due to the delayed decode, we must reset // maxplayer on zone and accumulate all totals. m_maxSTR += player->STR; m_maxSTA += player->STA; m_maxCHA += player->CHA; m_maxDEX += player->DEX; m_maxINT += player->INT; m_maxAGI += player->AGI; m_maxWIS += player->WIS; emit statChanged (LIST_STR, m_maxSTR, m_maxSTR); emit statChanged (LIST_STA, m_maxSTA, m_maxSTA); emit statChanged (LIST_CHA, m_maxCHA, m_maxCHA); emit statChanged (LIST_DEX, m_maxDEX, m_maxDEX); emit statChanged (LIST_INT, m_maxINT, m_maxINT); emit statChanged (LIST_AGI, m_maxAGI, m_maxAGI); emit statChanged (LIST_WIS, m_maxWIS, m_maxWIS); m_maxMana = calcMaxMana( m_maxINT, m_maxWIS, m_playerClass, m_playerLevel ) + m_plusMana; emit manaChanged(m_thePlayer.MANA, m_maxMana); // need max mana uint32_t playerExp = player->exp; if (playerExp > m_currentExp) m_currentExp = playerExp; else playerExp = m_currentExp; m_maxExp = calc_exp(m_playerLevel,m_playerRace,m_playerClass); emit expChangedStr (messag); emit expChangedInt ( playerExp, calc_exp(m_playerLevel-1, m_playerRace, m_playerClass), calc_exp(m_playerLevel, m_playerRace, m_playerClass) ); // Merge in our new skills... for (int a = 0; a < MAX_KNOWN_SKILLS; a++) { if ((m_playerSkills[a] == 255) || // not valid (player->skills[a] > m_playerSkills[a])) // or a higher value m_playerSkills[a] = player->skills[a]; emit addSkill (a, m_playerSkills[a]); } // Merge in our new languages... for (int a = 0; a < MAX_KNOWN_LANGS; a++) { if ((m_playerLanguages[a] == 255) || (player->languages[a] > m_playerLanguages[a])) m_playerLanguages[a] = player->languages[a]; emit addLanguage (a, m_playerLanguages[a]); } m_validAttributes = true; m_validMana = true; m_validExp = true; // update the con table fillConTable(); }