[Code] WebInterfaceList Global to Singleton Cleanup (#4935)

This commit is contained in:
Alex King 2025-06-25 15:49:32 -04:00 committed by GitHub
parent 967a13e692
commit c99bda3f47
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 9 additions and 8 deletions

View File

@ -36,8 +36,6 @@
#include "../common/zone_store.h" #include "../common/zone_store.h"
#include <set> #include <set>
extern WebInterfaceList web_interface;
extern ZSList zoneserver_list; extern ZSList zoneserver_list;
uint32 numplayers = 0; //this really wants to be a member variable of ClientList... uint32 numplayers = 0; //this really wants to be a member variable of ClientList...
@ -1613,7 +1611,7 @@ void ClientList::OnTick(EQ::Timer *t)
Iterator.Advance(); Iterator.Advance();
} }
web_interface.SendEvent(out); WebInterfaceList::Instance()->SendEvent(out);
} }
/** /**

View File

@ -100,7 +100,6 @@ uint32 numclients = 0;
uint32 numzones = 0; uint32 numzones = 0;
const WorldConfig *Config; const WorldConfig *Config;
WorldContentService content_service; WorldContentService content_service;
WebInterfaceList web_interface;
PlayerEventLogs player_event_logs; PlayerEventLogs player_event_logs;
void CatchSignal(int sig_num); void CatchSignal(int sig_num);
@ -320,7 +319,7 @@ int main(int argc, char **argv)
connection->GetUUID() connection->GetUUID()
); );
web_interface.AddConnection(connection); WebInterfaceList::Instance()->AddConnection(connection);
} }
); );
@ -331,7 +330,7 @@ int main(int argc, char **argv)
connection->GetUUID() connection->GetUUID()
); );
web_interface.RemoveConnection(connection); WebInterfaceList::Instance()->RemoveConnection(connection);
} }
); );

View File

@ -42,6 +42,11 @@ public:
void SendError(const std::string &uuid, const std::string &message); void SendError(const std::string &uuid, const std::string &message);
void SendError(const std::string &uuid, const std::string &message, const std::string &id); void SendError(const std::string &uuid, const std::string &message, const std::string &id);
static WebInterfaceList* Instance()
{
static WebInterfaceList instance;
return &instance;
}
private: private:
std::map<std::string, std::unique_ptr<WebInterface>> m_interfaces; std::map<std::string, std::unique_ptr<WebInterface>> m_interfaces;
}; };

View File

@ -42,7 +42,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "../common/repositories/buyer_repository.h" #include "../common/repositories/buyer_repository.h"
extern uint32 numzones; extern uint32 numzones;
extern WebInterfaceList web_interface;
extern ClientList client_list; extern ClientList client_list;
volatile bool UCSServerAvailable_ = false; volatile bool UCSServerAvailable_ = false;
void CatchSignal(int sig_num); void CatchSignal(int sig_num);
@ -889,7 +888,7 @@ void ZSList::OnTick(EQ::Timer *t)
out["data"].append(outzone); out["data"].append(outzone);
} }
web_interface.SendEvent(out); WebInterfaceList::Instance()->SendEvent(out);
} }
const std::list<std::unique_ptr<ZoneServer>> &ZSList::getZoneServerList() const const std::list<std::unique_ptr<ZoneServer>> &ZSList::getZoneServerList() const