]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/protocolinterface.cpp
Automatically register and unregister mode watchers
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / protocolinterface.cpp
index afd4633602027ff67396d299e1bbf6d0fa5bf501..7a2b033d93c03875d709ff2cd0f0410c93b1506c 100644 (file)
@@ -56,29 +56,29 @@ bool SpanningTreeProtocolInterface::SendEncapsulatedData(const parameterlist &en
        return params.Unicast(encap[0]);
 }
 
-void SpanningTreeProtocolInterface::SendMetaData(Extensible* target, const std::string &key, const std::string &data)
+void SpanningTreeProtocolInterface::SendMetaData(User* u, const std::string& key, const std::string& data)
 {
-       User* u = dynamic_cast<User*>(target);
-       Channel* c = dynamic_cast<Channel*>(target);
-       if (u)
-               CommandMetadata::Builder(u, key, data).Broadcast();
-       else if (c)
-               CommandMetadata::Builder(c, key, data).Broadcast();
-       else
-               CommandMetadata::Builder(key, data).Broadcast();
+       CommandMetadata::Builder(u, key, data).Broadcast();
 }
 
-void SpanningTreeProtocolInterface::SendTopic(Channel* channel, std::string &topic)
+void SpanningTreeProtocolInterface::SendMetaData(Channel* c, const std::string& key, const std::string& data)
 {
-       CmdBuilder params("FTOPIC");
+       CommandMetadata::Builder(c, key, data).Broadcast();
+}
 
-       params.push_back(channel->name);
-       params.push_back(ConvToStr(channel->age));
-       params.push_back(ConvToStr(ServerInstance->Time()));
-       params.push_back(ServerInstance->Config->ServerName);
-       params.push_last(topic);
+void SpanningTreeProtocolInterface::SendMetaData(const std::string& key, const std::string& data)
+{
+       CommandMetadata::Builder(key, data).Broadcast();
+}
 
-       params.Broadcast();
+void SpanningTreeProtocolInterface::Server::SendMetaData(const std::string& key, const std::string& data)
+{
+       sock->WriteLine(CommandMetadata::Builder(key, data));
+}
+
+void SpanningTreeProtocolInterface::SendTopic(Channel* channel, std::string &topic)
+{
+       CommandFTopic::Builder(ServerInstance->FakeClient, channel).Broadcast();
 }
 
 void SpanningTreeProtocolInterface::SendMode(User* source, User* u, Channel* c, const std::vector<std::string>& modedata, const std::vector<TranslateType>& translate)
@@ -103,7 +103,7 @@ void SpanningTreeProtocolInterface::SendMode(User* source, User* u, Channel* c,
        }
 }
 
-void SpanningTreeProtocolInterface::SendSNONotice(const std::string &snomask, const std::string &text)
+void SpanningTreeProtocolInterface::SendSNONotice(char snomask, const std::string &text)
 {
        CmdBuilder("SNONOTICE").push(snomask).push_last(text).Broadcast();
 }