diff --git a/backends/libircclient-qt/ircnetworkplugin.h b/backends/libircclient-qt/ircnetworkplugin.h new file mode 100644 index 0000000000000000000000000000000000000000..c15dc9a151157090986f3cb04c315652fd87031d --- /dev/null +++ b/backends/libircclient-qt/ircnetworkplugin.h @@ -0,0 +1,38 @@ + +#pragma once + +#include "transport/config.h" +#include "transport/networkplugin.h" +#include "session.h" +#include +#include +#include "Swiften/EventLoop/Qt/QtEventLoop.h" +#include "ircnetworkplugin.h" + + +class IRCNetworkPlugin : public QObject, public NetworkPlugin { + Q_OBJECT + + public: + IRCNetworkPlugin(Config *config, Swift::QtEventLoop *loop, const std::string &host, int port); + + void handleLoginRequest(const std::string &user, const std::string &legacyName, const std::string &password); + + void handleLogoutRequest(const std::string &user, const std::string &legacyName); + + void handleMessageSendRequest(const std::string &user, const std::string &legacyName, const std::string &message, const std::string &/*xhtml*/); + + void handleJoinRoomRequest(const std::string &user, const std::string &room, const std::string &nickname, const std::string &password); + + void handleLeaveRoomRequest(const std::string &user, const std::string &room); + + std::map m_sessions; + + public slots: + void readData(); + void sendData(const std::string &string); + + private: + Config *config; + QTcpSocket *m_socket; +}; \ No newline at end of file