File indexing completed on 2025-01-05 04:47:01
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2013 Volker Krause <vkrause@kde.org> * 0003 * * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later * 0005 ***************************************************************************/ 0006 0007 #pragma once 0008 0009 #include "schematypes.h" 0010 0011 namespace Akonadi 0012 { 0013 namespace Server 0014 { 0015 /** Methods to access the desired database schema (@see DbInspector for accessing 0016 the actual database schema). 0017 */ 0018 class Schema 0019 { 0020 public: 0021 inline virtual ~Schema() = default; 0022 0023 /** List of tables in the schema. */ 0024 virtual QList<TableDescription> tables() = 0; 0025 0026 /** List of relations (N:M helper tables) in the schema. */ 0027 virtual QList<RelationDescription> relations() = 0; 0028 0029 protected: 0030 explicit Schema() = default; 0031 0032 private: 0033 Q_DISABLE_COPY_MOVE(Schema) 0034 }; 0035 0036 } // namespace Server 0037 } // namespace Akonadi