#include "socket.h"
#include "xline.h"
#include "iohook.h"
-#include "modules/server.h"
#include "resolvers.h"
#include "main.h"
, currmembid(0)
, broadcasteventprov(this, "event/server-broadcast")
, linkeventprov(this, "event/server-link")
+ , messageeventprov(this, "event/server-message")
, synceventprov(this, "event/server-sync")
, sslapi(this)
, DNS(this, "DNS")
for(Extensible::ExtensibleStore::const_iterator i = user->GetExtList().begin(); i != user->GetExtList().end(); i++)
{
ExtensionItem* item = i->first;
- std::string value = item->serialize(FORMAT_NETWORK, user, i->second);
+ std::string value = item->ToNetwork(user, i->second);
if (!value.empty())
ServerInstance->PI->SendMetaData(user, item->name, value);
}
{
TreeServer* server = i->second;
if (!server->IsRoot())
- FOREACH_MOD_CUSTOM(GetLinkEventProvider(), ServerProtocol::LinkEventListener, OnServerSplit, (server));
+ FOREACH_MOD_CUSTOM(GetLinkEventProvider(), ServerProtocol::LinkEventListener, OnServerSplit, (server, false));
}
return;
}
}
}
+void ModuleSpanningTree::OnShutdown(const std::string& reason)
+{
+ const TreeServer::ChildServers& children = Utils->TreeRoot->GetChildren();
+ while (!children.empty())
+ children.front()->SQuit(reason, true);
+}
+
CullResult ModuleSpanningTree::cull()
{
if (Utils)
{
ServerInstance->PI = &ServerInstance->DefaultProtocolInterface;
- Server* newsrv = new Server(ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc);
+ Server* newsrv = new Server(ServerInstance->Config->GetSID(), ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc);
SetLocalUsersServer(newsrv);
delete Utils;