diff options
| author | 2010-02-22 16:51:56 -0600 | |
|---|---|---|
| committer | 2010-08-03 17:32:37 -0400 | |
| commit | 4eec8751a38a155f4f4498dbdd9c0f806d56a54a (patch) | |
| tree | 772546d7a926bc34af90b1999bef2f92d1811361 /src/modules/m_spanningtree/protocolinterface.cpp | |
| parent | dynamic_reference does not need a Creator pointer (diff) | |
Change protcol sync to not use opaque pointers
Diffstat (limited to 'src/modules/m_spanningtree/protocolinterface.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/protocolinterface.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
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<User*>(target); + Channel* c = dynamic_cast<Channel*>(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(); |
