X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresession.h;h=b8da03c513f23f3cd22e724edff904d4dd420088;hp=dade24b371e108f69edb21600be4918db4d41972;hb=c1cf157116de7fc3da96203aa6f03c38c7ebb650;hpb=30b159cb876a9495de42e9a3e70ca050516f0805 diff --git a/src/core/coresession.h b/src/core/coresession.h index dade24b3..b8da03c5 100644 --- a/src/core/coresession.h +++ b/src/core/coresession.h @@ -20,19 +20,20 @@ #pragma once +#include + #include #include #include #include -#include -#include "coreinfo.h" #include "corealiasmanager.h" #include "corehighlightrulemanager.h" #include "coreignorelistmanager.h" +#include "coreinfo.h" +#include "message.h" #include "peer.h" #include "protocol.h" -#include "message.h" #include "storage.h" class CoreBacklogManager; @@ -64,12 +65,12 @@ class CoreSession : public QObject Q_OBJECT public: - CoreSession(UserId, bool restoreState, bool strictIdentEnabled, QObject *parent = nullptr); + CoreSession(UserId, bool restoreState, bool strictIdentEnabled, QObject* parent = nullptr); QList buffers() const; inline UserId user() const { return _user; } - CoreNetwork *network(NetworkId) const; - CoreIdentity *identity(IdentityId) const; + CoreNetwork* network(NetworkId) const; + CoreIdentity* identity(IdentityId) const; /** * Returns the optionally strict-compliant ident for the given user identity @@ -79,39 +80,39 @@ public: * * @return The user's ident, compliant with strict mode (when enabled) */ - const QString strictCompliantIdent(const CoreIdentity *identity); + const QString strictCompliantIdent(const CoreIdentity* identity); - inline CoreNetworkConfig *networkConfig() const { return _networkConfig; } - NetworkConnection *networkConnection(NetworkId) const; + inline CoreNetworkConfig* networkConfig() const { return _networkConfig; } + NetworkConnection* networkConnection(NetworkId) const; Protocol::SessionState sessionState() const; - inline SignalProxy *signalProxy() const { return _signalProxy; } + inline SignalProxy* signalProxy() const { return _signalProxy; } - const AliasManager &aliasManager() const { return _aliasManager; } - AliasManager &aliasManager() { return _aliasManager; } + const AliasManager& aliasManager() const { return _aliasManager; } + AliasManager& aliasManager() { return _aliasManager; } - inline EventManager *eventManager() const { return _eventManager; } - inline EventStringifier *eventStringifier() const { return _eventStringifier; } - inline CoreSessionEventProcessor *sessionEventProcessor() const { return _sessionEventProcessor; } - inline CtcpParser *ctcpParser() const { return _ctcpParser; } - inline IrcParser *ircParser() const { return _ircParser; } + inline EventManager* eventManager() const { return _eventManager; } + inline EventStringifier* eventStringifier() const { return _eventStringifier; } + inline CoreSessionEventProcessor* sessionEventProcessor() const { return _sessionEventProcessor; } + inline CtcpParser* ctcpParser() const { return _ctcpParser; } + inline IrcParser* ircParser() const { return _ircParser; } - inline CoreIrcListHelper *ircListHelper() const { return _ircListHelper; } + inline CoreIrcListHelper* ircListHelper() const { return _ircListHelper; } - inline CoreIgnoreListManager *ignoreListManager() { return &_ignoreListManager; } - inline HighlightRuleManager *highlightRuleManager() { return &_highlightRuleManager; } - inline CoreTransferManager *transferManager() const { return _transferManager; } - inline CoreDccConfig *dccConfig() const { return _dccConfig; } + inline CoreIgnoreListManager* ignoreListManager() { return &_ignoreListManager; } + inline HighlightRuleManager* highlightRuleManager() { return &_highlightRuleManager; } + inline CoreTransferManager* transferManager() const { return _transferManager; } + inline CoreDccConfig* dccConfig() const { return _dccConfig; } -// void attachNetworkConnection(NetworkConnection *conn); + // void attachNetworkConnection(NetworkConnection *conn); //! Return necessary data for restoring the session after restarting the core void restoreSessionState(); public slots: - void addClient(RemotePeer *peer); - void addClient(InternalPeer *peer); + void addClient(RemotePeer* peer); + void addClient(InternalPeer* peer); /** * Shuts down the session and deletes itself afterwards. @@ -123,8 +124,8 @@ public slots: //! 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); + 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. @@ -134,7 +135,7 @@ public slots: //! 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()); + 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. @@ -146,16 +147,16 @@ public slots: * \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 renameBuffer(const NetworkId& networkId, const QString& newName, const QString& oldName); - void changePassword(PeerPtr peer, const QString &userName, const QString &oldPassword, const QString &newPassword); + void changePassword(PeerPtr peer, const QString& userName, const QString& oldPassword, const QString& newPassword); void kickClient(int peerId); QHash persistentChannels(NetworkId) const; QHash bufferCiphers(NetworkId id) const; - void setBufferCipher(NetworkId id, const QString &bufferName, const QByteArray &cipher) const; + void setBufferCipher(NetworkId id, const QString& bufferName, const QByteArray& cipher) const; /** * Marks us away (or unaway) on all networks @@ -163,13 +164,13 @@ public slots: * @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); + void globalAway(const QString& msg = QString(), const bool skipFormatting = false); signals: void initialized(); - void sessionStateReceived(const Protocol::SessionState &sessionState); + void sessionStateReceived(const Protocol::SessionState& sessionState); - //void msgFromGui(uint netid, QString buf, QString message); + // void msgFromGui(uint netid, QString buf, QString message); void displayMsg(Message message); void displayStatusMsg(QString, QString); @@ -179,7 +180,7 @@ signals: /** This signal is propagated to the clients to tell them that the given identity has been created. * \param identity The new identity. */ - void identityCreated(const Identity &identity); + void identityCreated(const Identity& identity); //! Identity has been removed. /** This signal is propagated to the clients to inform them about the removal of the given identity. @@ -196,13 +197,19 @@ signals: void disconnectFromCore(); protected: - void customEvent(QEvent *event) override; + void customEvent(QEvent* event) override; private slots: - void removeClient(Peer *peer); + void removeClient(Peer* peer); void recvStatusMsgFromServer(QString msg); - void recvMessageFromServer(NetworkId networkId, Message::Type, BufferInfo::Type, const QString &target, const QString &text, const QString &sender = "", Message::Flags flags = Message::None); + void recvMessageFromServer(NetworkId networkId, + Message::Type, + BufferInfo::Type, + const QString& target, + const QString& text, + const QString& sender = "", + Message::Flags flags = Message::None); void destroyNetwork(NetworkId); @@ -224,36 +231,36 @@ private: void initScriptEngine(); /// Hook for converting events to the old displayMsg() handlers - Q_INVOKABLE void processMessageEvent(MessageEvent *event); + Q_INVOKABLE void processMessageEvent(MessageEvent* event); UserId _user; /// Whether or not strict ident mode is enabled, locking users' idents to Quassel username bool _strictIdentEnabled; - SignalProxy *_signalProxy; + SignalProxy* _signalProxy; CoreAliasManager _aliasManager; - QHash _identities; - QHash _networks; + QHash _identities; + QHash _networks; QSet _networksPendingDisconnect; - CoreBufferSyncer *_bufferSyncer; - CoreBacklogManager *_backlogManager; - CoreBufferViewManager *_bufferViewManager; - CoreDccConfig *_dccConfig; - CoreIrcListHelper *_ircListHelper; - CoreNetworkConfig *_networkConfig; - CoreInfo *_coreInfo; - CoreTransferManager *_transferManager; + CoreBufferSyncer* _bufferSyncer; + CoreBacklogManager* _backlogManager; + CoreBufferViewManager* _bufferViewManager; + CoreDccConfig* _dccConfig; + CoreIrcListHelper* _ircListHelper; + CoreNetworkConfig* _networkConfig; + CoreInfo* _coreInfo; + CoreTransferManager* _transferManager; - EventManager *_eventManager; - EventStringifier *_eventStringifier; // should eventually move into client - CoreSessionEventProcessor *_sessionEventProcessor; - CtcpParser *_ctcpParser; - IrcParser *_ircParser; + EventManager* _eventManager; + EventStringifier* _eventStringifier; // should eventually move into client + CoreSessionEventProcessor* _sessionEventProcessor; + CtcpParser* _ctcpParser; + IrcParser* _ircParser; - QScriptEngine *scriptEngine; + QScriptEngine* scriptEngine; /** * This method obtains the prefixes of the message's sender within a channel, by looking up their channelmodes, and @@ -261,29 +268,29 @@ private: * @param sender The hostmask of the sender * @param bufferInfo The BufferInfo object of the buffer */ - QString senderPrefixes(const QString &sender, const BufferInfo &bufferInfo) const; + QString senderPrefixes(const QString& sender, const BufferInfo& bufferInfo) const; /** * This method obtains the realname of the message's sender. * @param sender The hostmask of the sender * @param networkId The network the user is on */ - QString realName(const QString &sender, NetworkId networkId) const; + QString realName(const QString& sender, NetworkId networkId) const; /** * This method obtains the avatar of the message's sender. * @param sender The hostmask of the sender * @param networkId The network the user is on */ - QString avatarUrl(const QString &sender, NetworkId networkId) const; + QString avatarUrl(const QString& sender, NetworkId networkId) const; QList _messageQueue; bool _processMessages; CoreIgnoreListManager _ignoreListManager; CoreHighlightRuleManager _highlightRuleManager; }; - -struct RawMessage { +struct RawMessage +{ NetworkId networkId; Message::Type type; BufferInfo::Type bufferType; @@ -291,6 +298,14 @@ struct RawMessage { QString text; QString sender; Message::Flags flags; - RawMessage(NetworkId networkId, Message::Type type, BufferInfo::Type bufferType, QString target, QString text, QString sender, Message::Flags flags) - : networkId(networkId), type(type), bufferType(bufferType), target(std::move(target)), text(std::move(text)), sender(std::move(sender)), flags(flags) {} + RawMessage( + NetworkId networkId, Message::Type type, BufferInfo::Type bufferType, QString target, QString text, QString sender, Message::Flags flags) + : networkId(networkId) + , type(type) + , bufferType(bufferType) + , target(std::move(target)) + , text(std::move(text)) + , sender(std::move(sender)) + , flags(flags) + {} };