DataStreamPeer: Optimize the InitData message
[quassel.git] / src / common / ctcpevent.cpp
index 1c6546f..5fbfdb2 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2012 by the Quassel Project                        *
+ *   Copyright (C) 2005-2014 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
 #include "ctcpevent.h"
+
+Event *CtcpEvent::create(EventManager::EventType type, QVariantMap &map, Network *network)
+{
+    if (type == EventManager::CtcpEvent || type == EventManager::CtcpEventFlush)
+        return new CtcpEvent(type, map, network);
+
+    return 0;
+}
+
+
+CtcpEvent::CtcpEvent(EventManager::EventType type, QVariantMap &map, Network *network)
+    : IrcEvent(type, map, network)
+{
+    _ctcpType = static_cast<CtcpType>(map.take("ctcpType").toInt());
+    _ctcpCmd = map.take("ctcpCmd").toString();
+    _target = map.take("target").toString();
+    _param = map.take("param").toString();
+    _reply = map.take("repy").toString();
+    _uuid = map.take("uuid").toString();
+}
+
+
+void CtcpEvent::toVariantMap(QVariantMap &map) const
+{
+    IrcEvent::toVariantMap(map);
+    map["ctcpType"] = ctcpType();
+    map["ctcpCmd"] = ctcpCmd();
+    map["target"] = target();
+    map["param"] = param();
+    map["reply"] = reply();
+    map["uuid"] = uuid().toString();
+}