Make sure that clients can't access buffers belonging to other users
[quassel.git] / src / core / coreignorelistmanager.cpp
index 0d9901f..c1de5e2 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-09 by the Quassel Project                          *
+ *   Copyright (C) 2005-2013 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
  *   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 "coreignorelistmanager.h"
 #include "coresession.h"
 
 INIT_SYNCABLE_OBJECT(CoreIgnoreListManager)
-
 CoreIgnoreListManager::CoreIgnoreListManager(CoreSession *parent)
-  : IgnoreListManager(parent)
+    : IgnoreListManager(parent)
 {
-  CoreSession *session = qobject_cast<CoreSession *>(parent);
-  if(!session) {
-    qWarning() << "CoreIgnoreListManager: unable to load IgnoreList. Parent is not a Coresession!";
-    //loadDefaults();
-    return;
-  }
+    CoreSession *session = qobject_cast<CoreSession *>(parent);
+    if (!session) {
+        qWarning() << "CoreIgnoreListManager: unable to load IgnoreList. Parent is not a Coresession!";
+        //loadDefaults();
+        return;
+    }
+
+    initSetIgnoreList(Core::getUserSetting(session->user(), "IgnoreList").toMap());
 
-  initSetIgnoreList(Core::getUserSetting(session->user(), "IgnoreList").toMap());
-  //if(isEmpty())
+    // we store our settings whenever they change
+    connect(this, SIGNAL(updatedRemotely()), SLOT(save()));
+
+    //if(isEmpty())
     //loadDefaults();
 }
 
-void CoreIgnoreListManager::save() const {
-  CoreSession *session = qobject_cast<CoreSession *>(parent());
-  if(!session) {
-    qWarning() << "CoreIgnoreListManager: unable to save IgnoreList. Parent is not a Coresession!";
-    return;
-  }
 
-  Core::setUserSetting(session->user(), "IgnoreList", initIgnoreList());
+IgnoreListManager::StrictnessType CoreIgnoreListManager::match(const RawMessage &rawMsg, const QString &networkName)
+{
+    //StrictnessType _match(const QString &msgContents, const QString &msgSender, Message::Type msgType, const QString &network, const QString &bufferName);
+    return _match(rawMsg.text, rawMsg.sender, rawMsg.type, networkName, rawMsg.target);
 }
 
+
+void CoreIgnoreListManager::save() const
+{
+    CoreSession *session = qobject_cast<CoreSession *>(parent());
+    if (!session) {
+        qWarning() << "CoreIgnoreListManager: unable to save IgnoreList. Parent is not a Coresession!";
+        return;
+    }
+
+    Core::setUserSetting(session->user(), "IgnoreList", initIgnoreList());
+}
+
+
 //void CoreIgnoreListManager::loadDefaults() {
 //  foreach(IgnoreListItem item, IgnoreListManager::defaults()) {
 //    addIgnoreListItem(item.ignoreRule, item.isRegEx, item.strictness, item.scope, item.scopeRule);