X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=97725ddcde46fbfd0b721d1bdb61c7dc7d747252;hp=7f1f9c20195dad0426663c09a7677c9dbbe51083;hb=cd99779fe4a4817283882ba65ddb08533d2ce6f2;hpb=d3ea803d8977692f95bbe31fbaba3686fc2ce5a9 diff --git a/src/core/core.h b/src/core/core.h index 7f1f9c20..97725ddc 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -102,10 +102,11 @@ class Core : public QObject { * * \param user The core user who owns this buffername * \param networkId The network id + * \param type The type of the buffer (StatusBuffer, Channel, etc.) * \param buffer The buffer name (if empty, the net's status buffer is returned) * \return The BufferInfo corresponding to the given network and buffer name, or 0 if not found */ - static BufferInfo bufferInfo(UserId user, const NetworkId &networkId, const QString &buffer = ""); + static BufferInfo bufferInfo(UserId user, const NetworkId &networkId, BufferInfo::Type, const QString &buffer = ""); //! Store a Message in the backlog. /** \note This method is threadsafe. @@ -157,6 +158,34 @@ class Core : public QObject { */ static QList requestBuffers(UserId user, QDateTime since = QDateTime()); + //! Remove permanently a buffer and it's content from the storage backend + /** This call cannot be reverted! + * \note This method is threadsafe. + * + * \param user The user who is the owner of the buffer + * \param bufferId The bufferId + * \return true if successfull + */ + static bool removeBuffer(const UserId &user, const BufferId &bufferId); + + //! Update the LastSeenDate for a Buffer + /** This Method is used to make the LastSeenDate of a Buffer persistent + * \note This method is threadsafe. + * + * \param user The Owner of that Buffer + * \param bufferId The buffer id + * \param seenDate Time the Buffer has been visited the last time + */ + static void setBufferLastSeen(UserId user, const BufferId &bufferId, const QDateTime &seenDate); + + //! Get a Hash of all last seen dates. + /** This Method is called when the Quassel Core is started to restore the lastSeenDates + * \note This method is threadsafe. + * + * \param user The Owner of the buffers + */ + static QHash bufferLastSeenDates(UserId user); + public slots: //! Make storage data persistent /** \note This method is threadsafe.