-ModeAction ModeChannelLimit::OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding)
+ModePair ModeChannelLimit::ModeSet(User*, User*, Channel* channel, const std::string ¶meter)
+{
+ std::string climit = channel->GetModeParameter('l');
+ if (!climit.empty())
+ {
+ return std::make_pair(true, climit);
+ }
+ else
+ {
+ return std::make_pair(false, parameter);
+ }
+}
+
+bool ModeChannelLimit::CheckTimeStamp(time_t, time_t, const std::string &their_param, const std::string &our_param, Channel*)
+{
+ /* When TS is equal, the higher channel limit wins */
+ return (atoi(their_param.c_str()) < atoi(our_param.c_str()));
+}
+
+ModeAction ModeChannelLimit::OnModeChange(User*, User*, Channel* channel, std::string ¶meter, bool adding, bool servermode)