- void addClient(QIODevice *device);
- void addClient(SignalProxy *proxy);
-
- void msgFromClient(BufferInfo, QString message);
-
- //! Create an identity and propagate the changes to the clients.
- /** \param identity The identity to be created.
- */
- void createIdentity(const Identity &identity);
-
- //! Remove identity and propagate that fact to the clients.
- /** \param identity The identity to be removed.
- */
- void removeIdentity(IdentityId identity);
-
- //! Create a network and propagate the changes to the clients.
- /** \param info The network's settings.
- */
- void createNetwork(const NetworkInfo &info);
-
- //! Remove identity and propagate that fact to the clients.
- /** \param identity The identity to be removed.
- */
- void removeNetwork(NetworkId network);
-
- //! Remove a buffer and it's backlog permanently
- /** \param bufferId The id of the buffer to be removed.
- * emits bufferRemoved(bufferId) on success.
- */
- void removeBufferRequested(BufferId bufferId);
-
- //! Rename a Buffer for a given network
- /* \param networkId The id of the network the buffer belongs to
- * \param newName The new name of the buffer
- * \param oldName The old name of the buffer
- * emits bufferRenamed(bufferId, newName) on success.
- */
- void renameBuffer(const NetworkId &networkId, const QString &newName, const QString &oldName);
-
- QHash<QString, QString> persistentChannels(NetworkId) const;
+ void addClient(RemotePeer *peer);
+ void addClient(InternalPeer *peer);
+
+ void msgFromClient(BufferInfo, QString message);
+
+ //! Create an identity and propagate the changes to the clients.
+ /** \param identity The identity to be created.
+ */
+ void createIdentity(const Identity &identity, const QVariantMap &additional);
+ void createIdentity(const CoreIdentity &identity);
+
+ //! Remove identity and propagate that fact to the clients.
+ /** \param identity The identity to be removed.
+ */
+ void removeIdentity(IdentityId identity);
+
+ //! Create a network and propagate the changes to the clients.
+ /** \param info The network's settings.
+ */
+ void createNetwork(const NetworkInfo &info, const QStringList &persistentChannels = QStringList());
+
+ //! Remove network and propagate that fact to the clients.
+ /** \param network The id of the network to be removed.
+ */
+ void removeNetwork(NetworkId network);
+
+ //! Rename a Buffer for a given network
+ /* \param networkId The id of the network the buffer belongs to
+ * \param newName The new name of the buffer
+ * \param oldName The old name of the buffer
+ */
+ void renameBuffer(const NetworkId &networkId, const QString &newName, const QString &oldName);
+
+ void changePassword(PeerPtr peer, const QString &userName, const QString &oldPassword, const QString &newPassword);
+
+ QHash<QString, QString> persistentChannels(NetworkId) const;
+
+ /**
+ * Marks us away (or unaway) on all networks
+ *
+ * @param[in] msg Away message, or blank to set unaway
+ * @param[in] skipFormatting If true, skip timestamp formatting codes (e.g. if already done)
+ */
+ void globalAway(const QString &msg = QString(), const bool skipFormatting = false);