From ada434820d2d81d8e4bcf633ebcbfef20606b51c Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 1 Jun 2008 14:18:07 +0000 Subject: Add ProtocolInterface::Introduce() to prevent confusion over event ordering, and allow for more flexible protocol use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9827 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree/main.cpp | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) (limited to 'src/modules/m_spanningtree/main.cpp') diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 585af8fe4..b91d76836 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -50,19 +50,19 @@ ModuleSpanningTree::ModuleSpanningTree(InspIRCd* Me) { I_OnPreCommand, I_OnGetServerDescription, I_OnUserInvite, I_OnPostLocalTopicChange, I_OnWallops, I_OnUserNotice, I_OnUserMessage, I_OnBackgroundTimer, - I_OnUserJoin, I_OnChangeHost, I_OnChangeName, I_OnUserPart, I_OnPostConnect, + I_OnUserJoin, I_OnChangeHost, I_OnChangeName, I_OnUserPart, I_OnUserQuit, I_OnUserPostNick, I_OnUserKick, I_OnRemoteKill, I_OnRehash, I_OnOper, I_OnAddLine, I_OnDelLine, I_ProtoSendMode, I_OnMode, I_OnStats, I_ProtoSendMetaData, I_OnEvent, I_OnSetAway, I_OnPostCommand }; - ServerInstance->Modules->Attach(eventlist, this, 28); + ServerInstance->Modules->Attach(eventlist, this, 27); delete ServerInstance->PI; ServerInstance->PI = new SpanningTreeProtocolInterface(this, Utils, ServerInstance); for (std::vector::const_iterator i = ServerInstance->Users->local_users.begin(); i != ServerInstance->Users->local_users.end(); i++) { - this->OnPostConnect((*i)); + ServerInstance->PI->Introduce(*i); } } @@ -622,31 +622,6 @@ void ModuleSpanningTree::OnUserPart(User* user, Channel* channel, const std::str } } -void ModuleSpanningTree::OnPostConnect(User* user) -{ - if (IS_LOCAL(user)) - { - std::deque params; - params.push_back(user->uuid); - params.push_back(ConvToStr(user->age)); - params.push_back(user->nick); - params.push_back(user->host); - params.push_back(user->dhost); - params.push_back(user->ident); - params.push_back("+"+std::string(user->FormatModes())); - params.push_back(user->GetIPString()); - params.push_back(ConvToStr(user->signon)); - params.push_back(":"+std::string(user->fullname)); - Utils->DoOneToMany(ServerInstance->Config->GetSID(), "UID", params); - } - - TreeServer* SourceServer = Utils->FindServer(user->server); - if (SourceServer) - { - SourceServer->SetUserCount(1); // increment by 1 - } -} - void ModuleSpanningTree::OnUserQuit(User* user, const std::string &reason, const std::string &oper_message) { if ((IS_LOCAL(user)) && (user->registered == REG_ALL)) -- cgit v1.3.1-10-gc9f91