diff options
| author | 2015-01-09 14:56:28 +0100 | |
|---|---|---|
| committer | 2015-01-09 14:56:28 +0100 | |
| commit | a0c90ee606ad4ddc49440a5157a13d4ab6f54e2b (patch) | |
| tree | 3b79a02963d73a3e6349cebcbac5637a6d6a1961 /src/modules/m_spanningtree/commands.h | |
| parent | m_spanningtree Add CmdBuilder::push_raw() overload for ranges (diff) | |
m_spanningtree Add overload for add() and has_room(), giving more flexibility to subclasses of CommandFJoin::Builder
Diffstat (limited to 'src/modules/m_spanningtree/commands.h')
| -rw-r--r-- | src/modules/m_spanningtree/commands.h | 16 |
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(); }; |
