summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/protocolinterface.cpp
diff options
context:
space:
mode:
authorGravatar Daniel De Graaf2010-02-22 16:51:56 -0600
committerGravatar Daniel De Graaf2010-08-03 17:32:37 -0400
commit4eec8751a38a155f4f4498dbdd9c0f806d56a54a (patch)
tree772546d7a926bc34af90b1999bef2f92d1811361 /src/modules/m_spanningtree/protocolinterface.cpp
parentdynamic_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.cpp25
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();