From 1f421861e6cc5d6e497ebb5aabba8d04d74fd4e5 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 1 Jun 2021 02:30:31 +0100 Subject: Convert simple modes to use Simple{Channel,User}Mode. --- src/modules/m_permchannels.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/modules/m_permchannels.cpp') diff --git a/src/modules/m_permchannels.cpp b/src/modules/m_permchannels.cpp index 33c8abbe1..dc3fbd0d1 100644 --- a/src/modules/m_permchannels.cpp +++ b/src/modules/m_permchannels.cpp @@ -32,25 +32,26 @@ /** Handles the +P channel mode */ -class PermChannel : public ModeHandler +class PermChannel final + : public SimpleChannelMode { public: PermChannel(Module* Creator) - : ModeHandler(Creator, "permanent", 'P', PARAM_NONE, MODETYPE_CHANNEL) + : SimpleChannelMode(Creator, "permanent", 'P', true) { - oper = true; } ModeAction OnModeChange(User* source, User* dest, Channel* channel, Modes::Change& change) override { - if (change.adding == channel->IsModeSet(this)) - return MODEACTION_DENY; + if (SimpleChannelMode::OnModeChange(source, dest, channel, change)) + { + if (!change.adding) + channel->CheckDestroy(); - channel->SetMode(this, change.adding); - if (!change.adding) - channel->CheckDestroy(); + return MODEACTION_ALLOW; + } - return MODEACTION_ALLOW; + return MODEACTION_DENY; } }; -- cgit v1.3.1-10-gc9f91