aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/main.cpp
diff options
context:
space:
mode:
authorGravatar brain2008-06-01 14:18:07 +0000
committerGravatar brain2008-06-01 14:18:07 +0000
commitada434820d2d81d8e4bcf633ebcbfef20606b51c (patch)
tree945c80ec070f872cd32cb8a8706079b28ce88cbc /src/modules/m_spanningtree/main.cpp
parentForward port r9825: Fix bug found by the atheme migration testing: +V should ... (diff)
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
Diffstat (limited to 'src/modules/m_spanningtree/main.cpp')
-rw-r--r--src/modules/m_spanningtree/main.cpp31
1 files changed, 3 insertions, 28 deletions
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<User*>::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<std::string> 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))