summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/commands.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree/commands.h')
-rw-r--r--src/modules/m_spanningtree/commands.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/commands.h b/src/modules/m_spanningtree/commands.h
index c0043f0a4..d901d69e0 100644
--- a/src/modules/m_spanningtree/commands.h
+++ b/src/modules/m_spanningtree/commands.h
@@ -143,10 +143,22 @@ class CommandFJoin : public ServerCommand
static const size_t maxline = 480;
std::string::size_type pos;
+ protected:
+ void add(Membership* memb, std::string::const_iterator mbegin, std::string::const_iterator mend);
+ bool has_room(std::string::size_type nummodes) const;
+
public:
Builder(Channel* chan, TreeServer* source = Utils->TreeRoot);
- void add(Membership* memb);
- bool has_room(Membership* memb) const;
+ void add(Membership* memb)
+ {
+ add(memb, memb->modes.begin(), memb->modes.end());
+ }
+
+ bool has_room(Membership* memb) const
+ {
+ return has_room(memb->modes.size());
+ }
+
void clear();
const std::string& finalize();
};