From 4eec8751a38a155f4f4498dbdd9c0f806d56a54a Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Mon, 22 Feb 2010 16:51:56 -0600 Subject: Change protcol sync to not use opaque pointers --- src/modules/m_spanningtree/protocolinterface.cpp | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/modules/m_spanningtree/protocolinterface.cpp') diff --git a/src/modules/m_spanningtree/protocolinterface.cpp b/src/modules/m_spanningtree/protocolinterface.cpp index a248da474..21913abf7 100644 --- a/src/modules/m_spanningtree/protocolinterface.cpp +++ b/src/modules/m_spanningtree/protocolinterface.cpp @@ -9,6 +9,31 @@ * For documentation on this class, see include/protocol.h. */ +void SpanningTreeSyncTarget::SendMetaData(Extensible* target, const std::string &extname, const std::string &extdata) +{ + User* u = dynamic_cast(target); + Channel* c = dynamic_cast(target); + if (u) + ts.WriteLine(std::string(":")+ServerInstance->Config->GetSID()+" METADATA "+u->uuid+" "+extname+" :"+extdata); + else if (c) + ts.WriteLine(std::string(":")+ServerInstance->Config->GetSID()+" METADATA "+c->name+" "+extname+" :"+extdata); + else if (!target) + ts.WriteLine(std::string(":")+ServerInstance->Config->GetSID()+" METADATA * "+extname+" :"+extdata); +} + +void SpanningTreeSyncTarget::SendEncap(const parameterlist &encap) +{ + std::string line = ":"+ServerInstance->Config->GetSID()+" ENCAP"; + for(parameterlist::const_iterator i = encap.begin(); i != encap.end(); i++) + { + line.push_back(' '); + if (i + 1 == encap.end()) + line.push_back(':'); + line.append(*i); + } + ts.WriteLine(line); +} + void SpanningTreeProtocolInterface::GetServerList(ProtoServerList &sl) { sl.clear(); -- cgit v1.3.1-10-gc9f91