X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=fb2602808b307f29c70be9eb8f3a358ed5670f3a;hb=04754cf669dd295205226b744bc769b94693866a;hp=67b3a55312b319d14d5e04aff4b5372a04eea529;hpb=5b560ec1a01349562ac58051ca7e7fa899d4b994;p=quassel.git diff --git a/src/core/core.h b/src/core/core.h index 67b3a553..fb260280 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -108,6 +108,15 @@ class Core : public QObject { */ static BufferInfo bufferInfo(UserId user, const NetworkId &networkId, BufferInfo::Type, const QString &buffer = ""); + //! Get the unique BufferInfo for a bufferId + /** \note This method is threadsafe + * \param user The core user who owns this buffername + * \param bufferId The id of the buffer + * \return The BufferInfo corresponding to the given buffer id, or an invalid BufferInfo if not found. + */ + static BufferInfo getBufferInfo(UserId user, const BufferId &bufferId); + + //! Store a Message in the backlog. /** \note This method is threadsafe. * @@ -158,6 +167,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.