| 583 | } |
| 584 | |
| 585 | bool ServersInfo::ReQuery() |
| 586 | { |
| 587 | CECPacket srv_req(EC_OP_GET_SERVER_LIST); |
| 588 | const CECPacket *srv_reply = m_webApp->SendRecvMsg_v2(&srv_req); |
| 589 | if (!srv_reply) { |
| 590 | return false; |
| 591 | } |
| 592 | // |
| 593 | // query succeeded - flush existing values and refill |
| 594 | EraseAll(); |
| 595 | for (CECPacket::const_iterator it = srv_reply->begin(); it != srv_reply->end(); ++it) { |
| 596 | const CECTag *tag = & *it; |
| 597 | |
| 598 | ServerEntry Entry; |
| 599 | Entry.sServerName = |
| 600 | _SpecialChars(tag->GetTagByNameSafe(EC_TAG_SERVER_NAME)->GetStringData()); |
| 601 | Entry.sServerDescription = |
| 602 | _SpecialChars(tag->GetTagByNameSafe(EC_TAG_SERVER_DESC)->GetStringData()); |
| 603 | Entry.sServerIP = tag->GetIPv4Data().StringIP(false); |
| 604 | Entry.nServerIP = tag->GetIPv4Data().IP(); |
| 605 | Entry.nServerPort = tag->GetIPv4Data().m_port; |
| 606 | Entry.nServerUsers = |
| 607 | tag->GetTagByNameSafe(EC_TAG_SERVER_USERS)->GetInt(); |
| 608 | Entry.nServerMaxUsers = |
| 609 | tag->GetTagByNameSafe(EC_TAG_SERVER_USERS_MAX)->GetInt(); |
| 610 | Entry.nServerFiles = |
| 611 | tag->GetTagByNameSafe(EC_TAG_SERVER_FILES)->GetInt(); |
| 612 | AddItem(Entry); |
| 613 | } |
| 614 | delete srv_reply; |
| 615 | |
| 616 | return true; |
| 617 | } |
| 618 | |
| 619 | |
| 620 | SharedFile::SharedFile(CEC_SharedFile_Tag *tag) : CECID(tag->ID()) |
no test coverage detected