Removed some whitespaces..
[quassel.git] / src / core / coresession.cpp
index 4b47121..73369a9 100644 (file)
 #include "buffersyncer.h"
 #include "corebacklogmanager.h"
 #include "corebufferviewmanager.h"
+#include "coreirclisthelper.h"
 #include "storage.h"
 
-#include "network.h"
+#include "corenetwork.h"
 #include "ircuser.h"
 #include "ircchannel.h"
 #include "identity.h"
 
 #include "util.h"
 #include "coreusersettings.h"
+#include "logger.h"
 
 CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent)
   : QObject(parent),
     _user(uid),
     _signalProxy(new SignalProxy(SignalProxy::Server, 0, this)),
+    _aliasManager(this),
     _bufferSyncer(new BufferSyncer(this)),
     _backlogManager(new CoreBacklogManager(this)),
     _bufferViewManager(new CoreBufferViewManager(_signalProxy, this)),
+    _ircListHelper(new CoreIrcListHelper(this)),
+    _coreInfo(this),
     scriptEngine(new QScriptEngine(this))
 {
 
@@ -85,9 +90,18 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent)
   p->synchronize(_bufferSyncer);
 
 
-  // init BacklogManager;
+  // init alias manager
+  p->synchronize(&aliasManager());
+  
+  // init BacklogManager
   p->synchronize(_backlogManager);
-    
+
+  // init IrcListHelper
+  p->synchronize(ircListHelper());
+  
+  // init CoreInfo
+  p->synchronize(&_coreInfo);
+  
   // Restore session state
   if(restoreState) restoreSessionState();
 
@@ -99,7 +113,7 @@ CoreSession::~CoreSession() {
   foreach(NetworkConnection *conn, _connections.values()) {
     delete conn;
   }
-  foreach(Network *net, _networks.values()) {
+  foreach(CoreNetwork *net, _networks.values()) {
     delete net;
   }
 }
@@ -108,7 +122,7 @@ UserId CoreSession::user() const {
   return _user;
 }
 
-Network *CoreSession::network(NetworkId id) const {
+CoreNetwork *CoreSession::network(NetworkId id) const {
   if(_networks.contains(id)) return _networks[id];
   return 0;
 }
@@ -129,13 +143,13 @@ void CoreSession::loadSettings() {
   foreach(IdentityId id, s.identityIds()) {
     Identity *i = new Identity(s.identity(id), this);
     if(!i->isValid()) {
-      qWarning() << QString("Invalid identity! Removing...");
+      quWarning() << "Invalid identity! Removing...";
       s.removeIdentity(id);
       delete i;
       continue;
     }
     if(_identities.contains(i->id())) {
-      qWarning() << "Duplicate identity, ignoring!";
+      quWarning() << "Duplicate identity, ignoring!";
       delete i;
       continue;
     }
@@ -170,9 +184,9 @@ void CoreSession::updateBufferInfo(UserId uid, const BufferInfo &bufinfo) {
 }
 
 void CoreSession::connectToNetwork(NetworkId id) {
-  Network *net = network(id);
+  CoreNetwork *net = network(id);
   if(!net) {
-    qWarning() << "Connect to unknown network requested! net:" << id << "user:" << user();
+    quWarning() << "Connect to unknown network requested! net:" << id << "user:" << user();
     return;
   }
 
@@ -219,7 +233,7 @@ void CoreSession::networkStateRequested() {
 void CoreSession::addClient(QObject *dev) { // this is QObject* so we can use it in signal connections
   QIODevice *device = qobject_cast<QIODevice *>(dev);
   if(!device) {
-    qWarning() << "Invoking CoreSession::addClient with a QObject that is not a QIODevice!";
+    quError() << "Invoking CoreSession::addClient with a QObject that is not a QIODevice!";
   } else {
     signalProxy()->addPeer(device);
     QVariantMap reply;
@@ -233,9 +247,9 @@ void CoreSession::removeClient(QIODevice *iodev) {
   // no checks for validity check - privateslot...
   QTcpSocket *socket = qobject_cast<QTcpSocket *>(iodev);
   if(socket)
-    qDebug() << qPrintable(tr("Client %1 disconnected (UserId: %2).").arg(socket->peerAddress().toString()).arg(user().toInt()));
+    quInfo() << qPrintable(tr("Client")) << qPrintable(socket->peerAddress().toString()) << qPrintable(tr("disconnected (UserId: %1).").arg(user().toInt()));
   else
-    qDebug() << "Local client disconnedted.";
+    quInfo() << "Local client disconnedted.";
   disconnect(socket, 0, this, 0);
   socket->deleteLater();
 }
@@ -280,7 +294,7 @@ void CoreSession::msgFromClient(BufferInfo bufinfo, QString msg) {
   if(conn) {
     conn->userInput(bufinfo, msg);
   } else {
-    qWarning() << "Trying to send to unconnected network:" << msg;
+    quWarning() << "Trying to send to unconnected network:" << msg;
   }
 }
 
@@ -373,7 +387,7 @@ void CoreSession::createIdentity(const Identity &id) {
 
 void CoreSession::updateIdentity(const Identity &id) {
   if(!_identities.contains(id.id())) {
-    qWarning() << "Update request for unknown identity received!";
+    quWarning() << "Update request for unknown identity received!";
     return;
   }
   _identities[id.id()]->update(id);
@@ -402,13 +416,13 @@ void CoreSession::createNetwork(const NetworkInfo &info_) {
     Core::createNetwork(user(), info);
 
   if(!info.networkId.isValid()) {
-    qWarning() << qPrintable(tr("CoreSession::createNetwork(): Got invalid networkId from Core when trying to create network %1!").arg(info.networkName));
+    quWarning() << qPrintable(tr("CoreSession::createNetwork(): Got invalid networkId from Core when trying to create network %1!").arg(info.networkName));
     return;
   }
 
   id = info.networkId.toInt();
   if(!_networks.contains(id)) {
-    Network *net = new Network(id, this);
+    CoreNetwork *net = new CoreNetwork(id, this);
     connect(net, SIGNAL(connectRequested(NetworkId)), this, SLOT(connectToNetwork(NetworkId)));
     connect(net, SIGNAL(disconnectRequested(NetworkId)), this, SLOT(disconnectFromNetwork(NetworkId)));
     net->setNetworkInfo(info);
@@ -417,14 +431,15 @@ void CoreSession::createNetwork(const NetworkInfo &info_) {
     signalProxy()->synchronize(net);
     emit networkCreated(id);
   } else {
-    qWarning() << qPrintable(tr("CoreSession::createNetwork(): Trying to create a network that already exists, updating instead!"));
+    quWarning() << qPrintable(tr("CoreSession::createNetwork(): Trying to create a network that already exists, updating instead!"));
     updateNetwork(info);
   }
 }
 
+// FIXME: move to CoreNetwork
 void CoreSession::updateNetwork(const NetworkInfo &info) {
   if(!_networks.contains(info.networkId)) {
-    qWarning() << "Update request for unknown network received!";
+    quWarning() << "Update request for unknown network received!";
     return;
   }
   _networks[info.networkId]->setNetworkInfo(info);
@@ -452,8 +467,12 @@ void CoreSession::destroyNetwork(NetworkId id) {
     // this can happen if the network was reconnecting while being removed
     _connections.take(id)->deleteLater();
   }
+  QList<BufferId> removedBuffers = Core::requestBufferIdsForNetwork(user(), id);
   Network *net = _networks.take(id);
   if(net && Core::removeNetwork(user(), id)) {
+    foreach(BufferId bufferId, removedBuffers) {
+      _bufferSyncer->removeBuffer(bufferId);
+    }
     emit networkRemoved(id);
     net->deleteLater();
   }
@@ -462,24 +481,24 @@ void CoreSession::destroyNetwork(NetworkId id) {
 void CoreSession::removeBufferRequested(BufferId bufferId) {
   BufferInfo bufferInfo = Core::getBufferInfo(user(), bufferId);
   if(!bufferInfo.isValid()) {
-    qWarning() << "CoreSession::removeBufferRequested(): invalid BufferId:" << bufferId << "for User:" << user();
+    quWarning() << "CoreSession::removeBufferRequested(): invalid BufferId:" << bufferId << "for User:" << user();
     return;
   }
   
   if(bufferInfo.type() == BufferInfo::StatusBuffer) {
-    qWarning() << "CoreSession::removeBufferRequested(): Status Buffers cannot be removed!";
+    quWarning() << "CoreSession::removeBufferRequested(): Status Buffers cannot be removed!";
     return;
   }
   
   if(bufferInfo.type() == BufferInfo::ChannelBuffer) {
-    Network *net = network(bufferInfo.networkId());
+    CoreNetwork *net = network(bufferInfo.networkId());
     if(!net) {
-      qWarning() << "CoreSession::removeBufferRequested(): Received BufferInfo with unknown networkId!";
+      quWarning() << "CoreSession::removeBufferRequested(): Received BufferInfo with unknown networkId!";
       return;
     }
     IrcChannel *chan = net->ircChannel(bufferInfo.bufferName());
     if(chan) {
-      qWarning() << "CoreSession::removeBufferRequested(): Unable to remove Buffer for joined Channel:" << bufferInfo.bufferName();
+      quWarning() << "CoreSession::removeBufferRequested(): Unable to remove Buffer for joined Channel:" << bufferInfo.bufferName();
       return;
     }
   }