#pragma once
-class SpanningTreeUtilities;
-class ModuleSpanningTree;
-
class SpanningTreeProtocolInterface : public ProtocolInterface
{
- SpanningTreeUtilities* Utils;
- void SendChannel(Channel* target, char status, const std::string &text);
public:
- SpanningTreeProtocolInterface(SpanningTreeUtilities* util) : Utils(util) { }
+ class Server : public ProtocolInterface::Server
+ {
+ TreeSocket* const sock;
+
+ public:
+ Server(TreeSocket* s) : sock(s) { }
+ void SendMetaData(const std::string& key, const std::string& data) CXX11_OVERRIDE;
+ };
bool SendEncapsulatedData(const parameterlist &encap);
- void SendMetaData(Extensible* target, const std::string &key, const std::string &data);
+ void SendMetaData(User* user, const std::string& key, const std::string& data) CXX11_OVERRIDE;
+ void SendMetaData(Channel* chan, const std::string& key, const std::string& data) CXX11_OVERRIDE;
+ void SendMetaData(const std::string& key, const std::string& data) CXX11_OVERRIDE;
void SendTopic(Channel* channel, std::string &topic);
- void SendMode(const std::string &target, const parameterlist &modedata, const std::vector<TranslateType> &types);
- void SendSNONotice(const std::string &snomask, const std::string &text);
+ void SendMode(User* source, User* usertarget, Channel* chantarget, const parameterlist& modedata, const std::vector<TranslateType>& types);
+ void SendSNONotice(char snomask, const std::string& text) CXX11_OVERRIDE;
void PushToClient(User* target, const std::string &rawline);
- void SendChannelPrivmsg(Channel* target, char status, const std::string &text);
- void SendChannelNotice(Channel* target, char status, const std::string &text);
- void SendUserPrivmsg(User* target, const std::string &text);
- void SendUserNotice(User* target, const std::string &text);
- void GetServerList(ProtoServerList &sl);
+ void SendMessage(Channel* target, char status, const std::string& text, MessageType msgtype);
+ void SendMessage(User* target, const std::string& text, MessageType msgtype);
+ void GetServerList(ServerList& sl);
};