aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules.cpp
diff options
context:
space:
mode:
authorGravatar Daniel De Graaf2010-02-09 12:04:42 -0600
committerGravatar Daniel De Graaf2010-08-03 17:32:34 -0400
commit5545f57998a013fbe8fedf02974586dc6a8b1fea (patch)
treed2d107fde217103cc4fb51ed5dec8e5ee0f72831 /src/modules.cpp
parentModule compilation fixups (diff)
Update InspIRCd::SendMode to take a modestacker
Diffstat (limited to 'src/modules.cpp')
-rw-r--r--src/modules.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index 0e4e9c7c9..1f9d1a49b 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -518,15 +518,28 @@ dynamic_reference_base::operator bool()
return value;
}
-void InspIRCd::SendMode(const std::vector<std::string>& parameters, User *user)
+void InspIRCd::SendMode(const std::vector<std::string>& parameters, User *src)
{
- this->Modes->Process(parameters, user);
+ Extensible* target;
+ irc::modestacker modes;
+ Modes->Parse(parameters, src, target, modes);
+ Modes->Process(src, target, modes);
}
-void InspIRCd::SendGlobalMode(const std::vector<std::string>& parameters, User *user)
+void InspIRCd::SendGlobalMode(const std::vector<std::string>& parameters, User *src)
{
- Modes->Process(parameters, user);
- // TODO
+ Extensible* target;
+ irc::modestacker modes;
+ Modes->Parse(parameters, src, target, modes);
+ Modes->Process(src, target, modes);
+ PI->SendMode(src, target, modes);
+}
+
+void InspIRCd::SendMode(User *src, Extensible* target, irc::modestacker& modes, bool global)
+{
+ Modes->Process(src, target, modes);
+ if (global)
+ PI->SendMode(src, target, modes);
}
bool InspIRCd::AddResolver(Resolver* r, bool cached)