File indexing completed on 2025-02-16 04:59:37
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Kevin Ottens <ervin@kde.org> 0003 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 0007 #ifndef DOMAIN_TASKQUERIES_H 0008 #define DOMAIN_TASKQUERIES_H 0009 0010 #include "context.h" 0011 #include "queryresult.h" 0012 #include "task.h" 0013 #include "project.h" 0014 #include "datasource.h" 0015 0016 namespace Domain { 0017 0018 class TaskQueries 0019 { 0020 public: 0021 typedef QSharedPointer<TaskQueries> Ptr; 0022 0023 TaskQueries(); 0024 virtual ~TaskQueries(); 0025 0026 virtual QueryResult<Task::Ptr>::Ptr findAll() const = 0; 0027 0028 virtual QueryResult<Task::Ptr>::Ptr findChildren(Task::Ptr task) const = 0; 0029 0030 virtual QueryResult<Task::Ptr>::Ptr findTopLevel() const = 0; 0031 0032 virtual QueryResult<Task::Ptr>::Ptr findInboxTopLevel() const = 0; 0033 0034 virtual QueryResult<Task::Ptr>::Ptr findWorkdayTopLevel() const = 0; 0035 0036 virtual QueryResult<Context::Ptr>::Ptr findContexts(Task::Ptr task) const = 0; 0037 0038 virtual QueryResult<Project::Ptr>::Ptr findProject(Task::Ptr task) const = 0; 0039 0040 virtual QueryResult<DataSource::Ptr>::Ptr findDataSource(Task::Ptr task) const = 0; 0041 }; 0042 0043 } 0044 0045 #endif // DOMAIN_TASKQUERIES_H