25 #include "mastermanager.h"
27 #include "customservers.h"
28 #include "serverapi/broadcastmanager.h"
29 #include "serverapi/message.h"
30 #include "serverapi/server.h"
40 MasterManager::~MasterManager()
51 if (master ==
nullptr)
54 masters.append(master);
57 this->connect(master, SIGNAL(listUpdated()), SLOT(masterListUpdated()));
58 this->connect(master, SIGNAL(
message(QString,QString,
bool)),
59 SLOT(forwardMasterMessage(QString,QString,
bool)));
61 SLOT(forwardMasterMessageImportant(
Message)));
64 QList<ServerPtr> MasterManager::allServers()
const
66 QSet<ServerPtr> result;
69 for (ServerPtr server : master->servers())
70 result.insert(server);
72 for (ServerPtr server : customServers->servers())
73 result.insert(server);
74 if (broadcastManager !=
nullptr)
76 for (ServerPtr server : broadcastManager->servers())
77 result.insert(server);
79 return result.values();
82 void MasterManager::masterListUpdated()
85 for (ServerPtr pServer : master->servers())
90 mastersBeingRefreshed.remove(master);
91 if (mastersBeingRefreshed.isEmpty())
97 MasterManager::Response MasterManager::readMasterResponse(
const QByteArray &data)
100 assert(0 &&
"MasterManager::readMasterResponse should not get called.");
104 void MasterManager::refreshStarts()
110 for (
auto *master : masters)
117 mastersBeingRefreshed.insert(master);
122 void MasterManager::timeoutRefreshEx()
126 pMaster->timeoutRefresh();
129 mastersBeingRefreshed.clear();
132 void MasterManager::setBroadcastManager(
BroadcastManager *broadcastManagerPtr)
134 broadcastManager = broadcastManagerPtr;