From 9b39d3ebea493773c77e4d7028cc59009dfad031 2012-04-09 09:16:23 From: HanzZ Date: 2012-04-09 09:16:23 Subject: [PATCH] Preparation for PluginConfig --- diff --git a/include/transport/networkplugin.h b/include/transport/networkplugin.h index 9a0dfb9be64c7bb1c1b644edbecdc21951e1c649..9f440152a6111e2e6ceb61ccd1d6a6508b0a1590 100644 --- a/include/transport/networkplugin.h +++ b/include/transport/networkplugin.h @@ -34,6 +34,22 @@ namespace Transport { /// development. class NetworkPlugin { public: + + class PluginConfig { + public: + PluginConfig() : m_needPassword(true) {} + virtual ~PluginConfig() {} + + void setNeedPassword(bool needPassword = true) { m_needPassword = needPassword; } + void setExtraFields(const std::vector &fields) { m_extraFields = fields; } + + private: + bool m_needPassword; + std::vector m_extraFields; + + friend class NetworkPlugin; + }; + /// Creates new NetworkPlugin and connects the Spectrum2 NetworkPluginServer. /// \param loop Event loop. /// \param host Host where Spectrum2 NetworkPluginServer runs. @@ -43,6 +59,8 @@ class NetworkPlugin { /// Destructor. virtual ~NetworkPlugin(); + void sendConfig(const PluginConfig &cfg); + /// Call this function when legacy network buddy changed. /// \param user XMPP JID of user for which this event occurs. You can get it from NetworkPlugin::handleLoginRequest(). (eg. "user%gmail.com@xmpp.domain.tld") /// \param buddyName Name of legacy network buddy. (eg. "user2@gmail.com") diff --git a/plugin/cpp/networkplugin.cpp b/plugin/cpp/networkplugin.cpp index 179b2f0829ad7a9cb782b3971fcd7851b7ae6993..1b2436cac3404bbb3fae6aa90cd33a911deac3b7 100644 --- a/plugin/cpp/networkplugin.cpp +++ b/plugin/cpp/networkplugin.cpp @@ -60,6 +60,11 @@ NetworkPlugin::NetworkPlugin() { NetworkPlugin::~NetworkPlugin() { } +void NetworkPlugin::sendConfig(const PluginConfig &cfg) { + std::string data = "[registration]"; + data += std::string("needPassword=") + (cfg.m_needPassword ? "1" : "0"); +} + void NetworkPlugin::handleMessage(const std::string &user, const std::string &legacyName, const std::string &msg, const std::string &nickname, const std::string &xhtml) { pbnetwork::ConversationMessage m; m.set_username(user);