X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fquassel.h;h=85660afc8edfa311165d54e20242934f7fe099d9;hp=890836552de6324af08024a00339c7ef60ce04cd;hb=c27d5bfbe80bfeb583a25404f4ccee4b70b010e0;hpb=6a835281b265df6a06b7f41109ad2d449899fed0 diff --git a/src/common/quassel.h b/src/common/quassel.h index 89083655..85660afc 100644 --- a/src/common/quassel.h +++ b/src/common/quassel.h @@ -35,6 +35,8 @@ class QFile; +class Logger; + class Quassel : public QObject { // TODO Qt5: Use Q_GADGET @@ -131,13 +133,14 @@ public: SenderPrefixes, ///< Show prefixes for senders in backlog RemoteDisconnect, ///< Allow this peer to be remotely disconnected ExtendedFeatures, ///< Extended features - LongMessageTime, ///< Serialize message time as 64-bit + LongTime, ///< Serialize time as 64-bit values RichMessages, ///< Real Name and Avatar URL in backlog BacklogFilterType, ///< BacklogManager supports filtering backlog by MessageType #if QT_VERSION >= 0x050500 EcdsaCertfpKeys, ///< ECDSA keys for CertFP in identities #endif LongMessageId, ///< 64-bit IDs for messages + SyncedCoreInfo, ///< CoreInfo dynamically updated using signals }; Q_ENUMS(Feature) @@ -145,6 +148,13 @@ public: static Quassel *instance(); + /** + * Provides access to the Logger instance. + * + * @returns The Logger instance + */ + Logger *logger() const; + static void setupBuildInfo(); static const BuildInfo &buildInfo(); static RunMode runMode(); @@ -181,20 +191,6 @@ public: static QString optionValue(const QString &option); static bool isOptionSet(const QString &option); - enum LogLevel { - DebugLevel, - InfoLevel, - WarningLevel, - ErrorLevel - }; - - static LogLevel logLevel(); - static void setLogLevel(LogLevel logLevel); - static QFile *logFile(); - static bool logToSyslog(); - - static void logFatalMessage(const char *msg); - using ReloadHandler = std::function; static void registerReloadHandler(ReloadHandler handler); @@ -203,6 +199,11 @@ public: static void registerQuitHandler(QuitHandler quitHandler); + const QString &coreDumpFileName(); + +signals: + void messageLogged(const QDateTime &timeStamp, const QString &msg); + protected: static bool init(); static void destroy(); @@ -222,8 +223,6 @@ private: void setupEnvironment(); void registerMetaTypes(); - const QString &coreDumpFileName(); - /** * Requests a reload of relevant runtime configuration. * @@ -256,12 +255,10 @@ private: QStringList _dataDirPaths; QString _translationDirPath; - LogLevel _logLevel{InfoLevel}; - bool _logToSyslog{false}; - std::unique_ptr _logFile; - std::shared_ptr _cliParser; + Logger *_logger; + std::vector _reloadHandlers; std::vector _quitHandlers; };