Warning, file /network/ruqola/src/core/localdatabase/globaldatabase.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include "libruqolacore_export.h" 0009 #include "localdatabasebase.h" 0010 #include <QObject> 0011 0012 class LIBRUQOLACORE_EXPORT GlobalDatabase : public LocalDatabaseBase 0013 { 0014 public: 0015 enum class TimeStampType { 0016 MessageTimeStamp, 0017 RoomTimeStamp, 0018 AccountTimeStamp, 0019 // Etc. 0020 }; 0021 GlobalDatabase(); 0022 ~GlobalDatabase() override; 0023 0024 void insertOrReplaceTimeStamp(const QString &accountName, const QString &roomName, qint64 timestamp, GlobalDatabase::TimeStampType type); 0025 0026 [[nodiscard]] QString generateIdentifier(const QString &accountName, const QString &roomName, TimeStampType type); 0027 void removeTimeStamp(const QString &accountName, const QString &roomName, TimeStampType type); 0028 0029 [[nodiscard]] qint64 timeStamp(const QString &accountName, const QString &roomName, TimeStampType type); 0030 0031 protected: 0032 [[nodiscard]] LIBRUQOLACORE_NO_EXPORT QString schemaDataBase() const override; 0033 }; 0034 Q_DECLARE_METATYPE(GlobalDatabase::TimeStampType)