Networks can now be removed even when they're connected.
[quassel.git] / src / core / coresession.h
index 9726f4c..51c14a7 100644 (file)
@@ -88,7 +88,7 @@ public slots:
   //! Create a network and propagate the changes to the clients.
   /** \param info The network's settings.
    */
-  void createNetwork(const NetworkInfo &info, bool useId = false);
+  void createNetwork(const NetworkInfo &info);
 
   //! Update a network and propagate the changes to the clients.
   /** \param info The updated network settings.
@@ -133,10 +133,12 @@ signals:
 
 private slots:
   void recvStatusMsgFromServer(QString msg);
-  void recvMessageFromServer(Message::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None);
+  void recvMessageFromServer(Message::Type, BufferInfo::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None);
   void networkConnected(NetworkId networkid);
   void networkDisconnected(NetworkId networkid);
 
+  void destroyNetwork(NetworkId);
+
   //! Called when storage updated a BufferInfo.
   /** This emits bufferInfoUpdated() via SignalProxy, iff it's one of our buffers.
    *  \param user       The buffer's owner (not necessarily us)
@@ -155,6 +157,7 @@ private:
   SignalProxy *_signalProxy;
   QHash<NetworkId, NetworkConnection *> _connections;
   QHash<NetworkId, Network *> _networks;
+  QHash<NetworkId, Network *> _networksToRemove;
   QHash<IdentityId, Identity *> _identities;
 
   QScriptEngine *scriptEngine;