From ee44af8d04f23b4a16c9b377764f930d69e575f7 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 27 Nov 2022 07:32:42 +0000 Subject: Refactor the internals of the oper system. - Allow overriding privileges from the blocks in the and blocks. - Separate oper types from oper accounts in the code. This enables moving some core stuff out of the config tag later. - Merge the config tags together to make a synthetic tag that can have getXXX called on it instead of using getConfig and then converting it. - Move the details of Have*Permission into the oper type class. - Improve oper events to allow modules to easily hook into the oper system. --- src/modules/m_opermodes.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/modules/m_opermodes.cpp') diff --git a/src/modules/m_opermodes.cpp b/src/modules/m_opermodes.cpp index 2d7c39539..e0911986c 100644 --- a/src/modules/m_opermodes.cpp +++ b/src/modules/m_opermodes.cpp @@ -35,12 +35,12 @@ public: { } - void OnPostOper(User* user) override + void OnPostOperLogin(User* user) override { if (!IS_LOCAL(user)) return; // We don't handle remote users. - const std::string opermodes = user->oper->getConfig("modes"); + const std::string opermodes = user->oper->GetConfig()->getString("modes"); if (opermodes.empty()) return; // We don't have any modes to set. -- cgit v1.3.1-10-gc9f91