]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Add a human-readable version of the cloak list.
authorSadie Powell <sadie@witchery.services>
Tue, 9 Mar 2021 10:26:19 +0000 (10:26 +0000)
committerSadie Powell <sadie@witchery.services>
Tue, 9 Mar 2021 10:27:53 +0000 (10:27 +0000)
src/modules/m_cloaking.cpp

index 1e266908cbbbf08dfe1f7b5c346be42152af4f98..b964dedca65ec56fd4260693ef0f309a020d3995 100644 (file)
@@ -81,13 +81,25 @@ struct CloakInfo
 
 typedef std::vector<std::string> CloakList;
 
-/** Handles user mode +x
- */
+class CloakExtItem : public SimpleExtItem<CloakList>
+{
+ public:
+       CloakExtItem(Module* Creator)
+               : SimpleExtItem("cloaks", ExtensionItem::EXT_USER, Creator)
+       {
+       }
+
+       std::string ToHuman(const Extensible* container, void* item) const override
+       {
+               return stdalgo::string::join(*static_cast<CloakList*>(item), ' ');
+       }
+};
+
 class CloakUser : public ModeHandler
 {
  public:
        bool active;
-       SimpleExtItem<CloakList> ext;
+       CloakExtItem ext;
        std::string debounce_uid;
        time_t debounce_ts;
        int debounce_count;
@@ -95,7 +107,7 @@ class CloakUser : public ModeHandler
        CloakUser(Module* source)
                : ModeHandler(source, "cloak", 'x', PARAM_NONE, MODETYPE_USER)
                , active(false)
-               , ext("cloaked_host", ExtensionItem::EXT_USER, source)
+               , ext(source)
                , debounce_ts(0)
                , debounce_count(0)
        {