-void CoreSession::removeBufferRequested(BufferId bufferId) {
- BufferInfo bufferInfo = Core::getBufferInfo(user(), bufferId);
- if(!bufferInfo.isValid()) {
- qWarning() << "CoreSession::removeBufferRequested(): invalid BufferId:" << bufferId << "for User:" << user();
- return;
- }
-
- if(bufferInfo.type() == BufferInfo::StatusBuffer) {
- qWarning() << "CoreSession::removeBufferRequested(): Status Buffers cannot be removed!";
- return;
- }
-
- if(bufferInfo.type() == BufferInfo::ChannelBuffer) {
- CoreNetwork *net = network(bufferInfo.networkId());
- if(!net) {
- qWarning() << "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();
- return;
- }
- }
- if(Core::removeBuffer(user(), bufferId))
- emit bufferRemoved(bufferId);
-}
-
-// FIXME: use a coreBufferSyncer for this