From ecabf153d01b4cb48944155a638e1cf4c1d80d98 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sun, 9 May 2021 22:45:40 +0100 Subject: Add a new map-based method for building link data. The new link data is not currently used but will be in the near future. --- src/modules/m_cloaking.cpp | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'src/modules/m_cloaking.cpp') diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp index 6462a1ef3..f665ce3dc 100644 --- a/src/modules/m_cloaking.cpp +++ b/src/modules/m_cloaking.cpp @@ -411,12 +411,11 @@ class ModuleCloaking : public Module cu.active = false; } - void GetLinkData(std::string& data) override + std::string GetCompatLinkData(const CloakInfo& info) { - data = "broken"; - if (Hash && !cloaks.empty()) + std::string data = "broken"; + if (Hash) { - const CloakInfo& info = cloaks.front(); switch (info.mode) { case MODE_HALF_CLOAK: @@ -434,6 +433,31 @@ class ModuleCloaking : public Module data = info.prefix + SegmentCloak(info, "*", 4, 8) + info.suffix + (info.ignorecase ? "-ci" : ""); } } + return data; + } + + void GetLinkData(LinkData& data, std::string& compatdata) override + { + if (cloaks.empty()) + return; + + const CloakInfo& info = cloaks.front(); + switch (info.mode) + { + case MODE_HALF_CLOAK: + data["mode"] = "half"; + break; + case MODE_OPAQUE: + data["mode"] = "full"; + break; + } + data["domain-parts"] = ConvToStr(info.domainparts); + data["hash"] = Hash ? Hash->name : "broken"; + data["ignore-case"] = info.ignorecase ? "yes" : "no"; + data["key"] = info.key; + data["prefix"] = info.prefix; + data["suffix"] = info.suffix; + compatdata = GetCompatLinkData(info); } void ReadConfig(ConfigStatus& status) override -- cgit v1.3.1-10-gc9f91