aboutsummaryrefslogtreecommitdiffstats
path: root/modules/spanningtree/msgbuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/spanningtree/msgbuilder.cpp')
-rw-r--r--modules/spanningtree/msgbuilder.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/spanningtree/msgbuilder.cpp b/modules/spanningtree/msgbuilder.cpp
index 69ea37288..b3445b2b5 100644
--- a/modules/spanningtree/msgbuilder.cpp
+++ b/modules/spanningtree/msgbuilder.cpp
@@ -46,6 +46,21 @@ MessageBuilder& MessageBuilder::PushTags(ClientProtocol::TagMap newtags)
return *this;
}
+MessageBuilder& MessageBuilder::PushServerTags(std::initializer_list<std::pair<std::string, std::string>>&& tags)
+{
+ ClientProtocol::TagMap newtags;
+ for (const auto& [tname, tvalue] : tags)
+ {
+ ClientProtocol::MessageTagData tdata(&Utils->Creator->servertags, ClientProtocol::Message::EscapeTag(tvalue));
+ newtags.insert(std::make_pair(tname, tdata));
+ }
+
+ auto& oldtags = this->parameters.GetTags();
+ newtags.insert(oldtags.begin(), oldtags.end());
+ std::swap(oldtags, newtags);
+ return *this;
+}
+
void MessageBuilder::Finalize()
{
if (!Utils || this->finalized)