mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-17 10:48:21 +00:00
Will be redoing the event interface for subscriptions, some work for the wi and crash fixes
This commit is contained in:
+33
-56
@@ -52,112 +52,89 @@ LoginServerList::~LoginServerList() {
|
||||
void LoginServerList::Add(const char* iAddress, uint16 iPort, const char* Account, const char* Password, bool Legacy)
|
||||
{
|
||||
auto loginserver = new LoginServer(iAddress, iPort, Account, Password, Legacy);
|
||||
list.Insert(loginserver);
|
||||
m_list.push_back(std::unique_ptr<LoginServer>(loginserver));
|
||||
}
|
||||
|
||||
bool LoginServerList::SendInfo() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
iterator.GetData()->SendInfo();
|
||||
iterator.Advance();
|
||||
for (auto &iter : m_list) {
|
||||
(*iter).SendInfo();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoginServerList::SendNewInfo() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
iterator.GetData()->SendNewInfo();
|
||||
iterator.Advance();
|
||||
for (auto &iter : m_list) {
|
||||
(*iter).SendNewInfo();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoginServerList::SendStatus() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
iterator.GetData()->SendStatus();
|
||||
iterator.Advance();
|
||||
for (auto &iter : m_list) {
|
||||
(*iter).SendStatus();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoginServerList::SendPacket(ServerPacket* pack) {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
iterator.GetData()->SendPacket(pack);
|
||||
iterator.Advance();
|
||||
for (auto &iter : m_list) {
|
||||
(*iter).SendPacket(pack);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoginServerList::SendAccountUpdate(ServerPacket* pack) {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
Log.Out(Logs::Detail, Logs::World_Server, "Requested to send ServerOP_LSAccountUpdate packet to all loginservers");
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
if(iterator.GetData()->CanUpdate()) {
|
||||
iterator.GetData()->SendAccountUpdate(pack);
|
||||
for (auto &iter : m_list) {
|
||||
if ((*iter).CanUpdate()) {
|
||||
(*iter).SendAccountUpdate(pack);
|
||||
}
|
||||
iterator.Advance();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoginServerList::Connected() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
if(iterator.GetData()->Connected())
|
||||
for (auto &iter : m_list) {
|
||||
if ((*iter).Connected()) {
|
||||
return true;
|
||||
iterator.Advance();
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LoginServerList::AllConnected() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
if(iterator.GetData()->Connected() == false)
|
||||
for (auto &iter : m_list) {
|
||||
if (!(*iter).Connected()) {
|
||||
return false;
|
||||
iterator.Advance();
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LoginServerList::MiniLogin() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
if(iterator.GetData()->MiniLogin())
|
||||
for (auto &iter : m_list) {
|
||||
if ((*iter).MiniLogin()) {
|
||||
return true;
|
||||
iterator.Advance();
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LoginServerList::CanUpdate() {
|
||||
LinkedListIterator<LoginServer*> iterator(list);
|
||||
|
||||
iterator.Reset();
|
||||
while(iterator.MoreElements()){
|
||||
if(iterator.GetData()->CanUpdate())
|
||||
for (auto &iter : m_list) {
|
||||
if ((*iter).CanUpdate()) {
|
||||
return true;
|
||||
iterator.Advance();
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user