X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fprotocolinterface.cpp;h=843361e9e43d7043b55cdbddb8d118efe169dfe3;hb=de69e28a4a1aea89e410b693bbbb67890ecb0bd3;hp=989e8b3e41a9c5de4db1f996255a1661eb67f2a4;hpb=5d67a5fff127bf95bca69b436ef7f645f2fe3281;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/protocolinterface.cpp b/src/modules/m_spanningtree/protocolinterface.cpp index 989e8b3e4..843361e9e 100644 --- a/src/modules/m_spanningtree/protocolinterface.cpp +++ b/src/modules/m_spanningtree/protocolinterface.cpp @@ -31,25 +31,19 @@ void SpanningTreeProtocolInterface::SendEncapsulatedData(parameterlist &encap) Utils->DoOneToMany(ServerInstance->Config->GetSID(), "ENCAP", encap); } -void SpanningTreeProtocolInterface::SendMetaData(void* target, TargetTypeFlags type, const std::string &key, const std::string &data) +void SpanningTreeProtocolInterface::SendMetaData(Extensible* target, const std::string &key, const std::string &data) { parameterlist params; - switch (type) - { - case TYPE_USER: - params.push_back(((User*)target)->uuid); - break; - case TYPE_CHANNEL: - params.push_back(((Channel*)target)->name); - break; - case TYPE_SERVER: - params.push_back("*"); - break; - default: - throw CoreException("I don't know how to handle TYPE_OTHER."); - break; - } + User* u = dynamic_cast(target); + Channel* c = dynamic_cast(target); + if (u) + params.push_back(u->uuid); + else if (c) + params.push_back(c->name); + else + params.push_back("*"); + params.push_back(key); params.push_back(":" + data); @@ -100,14 +94,6 @@ void SpanningTreeProtocolInterface::SendMode(const std::string &target, const pa } } -void SpanningTreeProtocolInterface::SendModeNotice(const std::string &modes, const std::string &text) -{ - parameterlist p; - p.push_back(modes); - p.push_back(":" + text); - Utils->DoOneToMany(ServerInstance->Config->GetSID(), "MODENOTICE", p); -} - void SpanningTreeProtocolInterface::SendSNONotice(const std::string &snomask, const std::string &text) { parameterlist p; @@ -120,7 +106,7 @@ void SpanningTreeProtocolInterface::PushToClient(User* target, const std::string { parameterlist p; p.push_back(target->uuid); - p.push_back(rawline); + p.push_back(":" + rawline); Utils->DoOneToOne(ServerInstance->Config->GetSID(), "PUSH", p, target->server); }