X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoresession.h;h=849575fe651e4627c8035c56ad7c4c547e0cb1ea;hb=07473582d22eddd934ee52127cad2baa11943d59;hp=019d5b331f48cf584012141ebfda3b0e2efc188c;hpb=fd25e92f19d6afd4eb02844bcbf20ba132868303;p=quassel.git diff --git a/src/core/coresession.h b/src/core/coresession.h index 019d5b33..849575fe 100644 --- a/src/core/coresession.h +++ b/src/core/coresession.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -27,23 +27,26 @@ #include "corecoreinfo.h" #include "corealiasmanager.h" #include "coreignorelistmanager.h" +#include "peer.h" +#include "protocol.h" #include "message.h" #include "storage.h" class CoreBacklogManager; class CoreBufferSyncer; class CoreBufferViewManager; +class CoreDccConfig; class CoreIdentity; class CoreIrcListHelper; class CoreNetwork; class CoreNetworkConfig; class CoreSessionEventProcessor; +class CoreTransferManager; class CtcpParser; class EventManager; class EventStringifier; class InternalPeer; class IrcParser; -class Peer; class MessageEvent; class NetworkConnection; class RemotePeer; @@ -68,7 +71,7 @@ public: inline CoreNetworkConfig *networkConfig() const { return _networkConfig; } NetworkConnection *networkConnection(NetworkId) const; - QVariant sessionState(); + Protocol::SessionState sessionState() const; inline SignalProxy *signalProxy() const { return _signalProxy; } @@ -84,6 +87,9 @@ public: inline CoreIrcListHelper *ircListHelper() const { return _ircListHelper; } inline CoreIgnoreListManager *ignoreListManager() { return &_ignoreListManager; } + inline CoreTransferManager *transferManager() const { return _transferManager; } + inline CoreDccConfig *dccConfig() const { return _dccConfig; } + // void attachNetworkConnection(NetworkConnection *conn); //! Return necessary data for restoring the session after restarting the core @@ -123,14 +129,21 @@ public slots: */ 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 persistentChannels(NetworkId) const; - //! Marks us away (or unaway) on all networks - void globalAway(const QString &msg = QString()); + /** + * 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); signals: void initialized(); - void sessionState(const QVariant &); + void sessionState(const Protocol::SessionState &sessionState); //void msgFromGui(uint netid, QString buf, QString message); void displayMsg(Message message); @@ -154,6 +167,8 @@ signals: void networkRemoved(NetworkId); void networkDisconnected(NetworkId); + void passwordChanged(PeerPtr peer, bool success); + protected: virtual void customEvent(QEvent *event); @@ -195,9 +210,11 @@ private: CoreBufferSyncer *_bufferSyncer; CoreBacklogManager *_backlogManager; CoreBufferViewManager *_bufferViewManager; + CoreDccConfig *_dccConfig; CoreIrcListHelper *_ircListHelper; CoreNetworkConfig *_networkConfig; CoreCoreInfo _coreInfo; + CoreTransferManager *_transferManager; EventManager *_eventManager; EventStringifier *_eventStringifier; // should eventually move into client