File indexing completed on 2024-04-14 03:50:48

0001 /*
0002   This file is part of the kcalcore library.
0003 
0004   SPDX-FileCopyrightText: 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
0005   SPDX-FileContributor: Alvaro Manera <alvaro.manera@nokia.com>
0006 
0007   SPDX-License-Identifier: LGPL-2.0-or-later
0008 */
0009 #ifndef KCALCORE_SORTING_H
0010 #define KCALCORE_SORTING_H
0011 
0012 #include "event.h"
0013 #include "freebusy.h"
0014 #include "journal.h"
0015 #include "person.h"
0016 #include "todo.h"
0017 
0018 #include "kcalendarcore_export.h"
0019 
0020 namespace KCalendarCore
0021 {
0022 namespace Events
0023 {
0024 KCALENDARCORE_EXPORT bool startDateLessThan(const Event::Ptr &e1, const Event::Ptr &e2);
0025 
0026 KCALENDARCORE_EXPORT bool summaryLessThan(const Event::Ptr &e1, const Event::Ptr &e2);
0027 
0028 KCALENDARCORE_EXPORT bool summaryMoreThan(const Event::Ptr &e1, const Event::Ptr &e2);
0029 
0030 KCALENDARCORE_EXPORT bool startDateMoreThan(const Event::Ptr &e1, const Event::Ptr &e2);
0031 
0032 KCALENDARCORE_EXPORT bool endDateLessThan(const Event::Ptr &e1, const Event::Ptr &e2);
0033 
0034 KCALENDARCORE_EXPORT bool endDateMoreThan(const Event::Ptr &e1, const Event::Ptr &e2);
0035 }
0036 
0037 namespace Todos
0038 {
0039 KCALENDARCORE_EXPORT bool startDateLessThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0040 
0041 KCALENDARCORE_EXPORT bool startDateMoreThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0042 
0043 KCALENDARCORE_EXPORT bool dueDateLessThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0044 
0045 KCALENDARCORE_EXPORT bool dueDateMoreThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0046 
0047 KCALENDARCORE_EXPORT bool priorityLessThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0048 
0049 KCALENDARCORE_EXPORT bool priorityMoreThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0050 
0051 KCALENDARCORE_EXPORT bool percentLessThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0052 
0053 KCALENDARCORE_EXPORT bool percentMoreThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0054 
0055 KCALENDARCORE_EXPORT bool summaryLessThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0056 
0057 KCALENDARCORE_EXPORT bool summaryMoreThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0058 
0059 KCALENDARCORE_EXPORT bool createdLessThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0060 
0061 KCALENDARCORE_EXPORT bool createdMoreThan(const Todo::Ptr &t1, const Todo::Ptr &t2);
0062 }
0063 
0064 namespace Journals
0065 {
0066 KCALENDARCORE_EXPORT bool dateLessThan(const Journal::Ptr &j1, const Journal::Ptr &j2);
0067 
0068 KCALENDARCORE_EXPORT bool dateMoreThan(const Journal::Ptr &j1, const Journal::Ptr &j2);
0069 
0070 KCALENDARCORE_EXPORT bool summaryLessThan(const Journal::Ptr &j1, const Journal::Ptr &j2);
0071 
0072 KCALENDARCORE_EXPORT bool summaryMoreThan(const Journal::Ptr &j1, const Journal::Ptr &j2);
0073 }
0074 
0075 namespace Incidences
0076 {
0077 KCALENDARCORE_EXPORT bool dateLessThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0078 
0079 KCALENDARCORE_EXPORT bool dateMoreThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0080 
0081 KCALENDARCORE_EXPORT bool createdLessThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0082 
0083 KCALENDARCORE_EXPORT bool createdMoreThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0084 
0085 KCALENDARCORE_EXPORT bool summaryLessThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0086 
0087 KCALENDARCORE_EXPORT bool summaryMoreThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0088 
0089 /**
0090  * Compare the categories (tags) of two incidences, as returned by categoriesStr().
0091  * If they are equal, return summaryLessThan().
0092  * @since 5.83
0093  */
0094 KCALENDARCORE_EXPORT bool categoriesLessThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0095 
0096 /**
0097  * Compare the categories (tags) of two incidences, as returned by categoriesStr().
0098  * If they are equal, return summaryMoreThan().
0099  * @since 5.83
0100  */
0101 KCALENDARCORE_EXPORT bool categoriesMoreThan(const Incidence::Ptr &i1, const Incidence::Ptr &i2);
0102 }
0103 
0104 }
0105 
0106 #endif