X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fcommandbuilder.h;h=4bbb60e47ee52e418930975271ad579c088328a2;hb=b4599531f97a9e6207b6bb8d728d7523b6995523;hp=cd627227aec649d568cbaf2bb005c64cb3513596;hpb=f71e6bf9cb41811f18864f5d4eecb26e29d03f25;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/commandbuilder.h b/src/modules/m_spanningtree/commandbuilder.h index cd627227a..4bbb60e47 100644 --- a/src/modules/m_spanningtree/commandbuilder.h +++ b/src/modules/m_spanningtree/commandbuilder.h @@ -68,6 +68,20 @@ class CmdBuilder return *this; } + template + CmdBuilder& push_raw_int(T i) + { + content.append(ConvToStr(i)); + return *this; + } + + template + CmdBuilder& push_raw(InputIterator first, InputIterator last) + { + content.append(first, last); + return *this; + } + CmdBuilder& push(const std::string& s) { content.push_back(' '); @@ -105,6 +119,30 @@ class CmdBuilder return *this; } + CmdBuilder& push_tags(const ClientProtocol::TagMap& tags) + { + if (!tags.empty()) + { + char separator = '@'; + std::string taglist; + for (ClientProtocol::TagMap::const_iterator iter = tags.begin(); iter != tags.end(); ++iter) + { + taglist.push_back(separator); + separator = ';'; + + taglist.append(iter->first); + if (!iter->second.value.empty()) + { + taglist.push_back('='); + taglist.append(iter->second.value); + } + } + taglist.push_back(' '); + content.insert(0, taglist); + } + return *this; + } + template CmdBuilder& insert(const T& cont) { @@ -128,11 +166,6 @@ class CmdBuilder Utils->DoOneToAllButSender(*this, omit); } - bool Unicast(const std::string& target) const - { - return Utils->DoOneToOne(*this, target); - } - void Unicast(User* target) const { Utils->DoOneToOne(*this, target->server);