Akonadi

differencesalgorithminterface.h
1/*
2 SPDX-FileCopyrightText: 2010 KDAB
3 SPDX-FileContributor: Tobias Koenig <tokoe@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#pragma once
9
10namespace Akonadi
11{
12class AbstractDifferencesReporter;
13class Item;
14
15/**
16 * @short An interface to find out differences between two Akonadi objects.
17 *
18 * @author Tobias Koenig <tokoe@kde.org>
19 * @since 4.6
20 */
22{
23public:
24 /**
25 * Destroys the differences algorithm interface.
26 */
28 {
29 }
30
31 /**
32 * Calculates the differences between two Akonadi objects and reports
33 * them to a reporter object.
34 *
35 * @param reporter The reporter object that will be used for reporting the differences.
36 * @param leftItem The left-hand side item that will be compared.
37 * @param rightItem The right-hand side item that will be compared.
38 */
39 virtual void compare(AbstractDifferencesReporter *reporter, const Akonadi::Item &leftItem, const Akonadi::Item &rightItem) = 0;
40};
41
42}
43
44Q_DECLARE_INTERFACE(Akonadi::DifferencesAlgorithmInterface, "org.freedesktop.Akonadi.DifferencesAlgorithmInterface/1.0")
An interface to report differences between two arbitrary objects.
An interface to find out differences between two Akonadi objects.
virtual ~DifferencesAlgorithmInterface()
Destroys the differences algorithm interface.
virtual void compare(AbstractDifferencesReporter *reporter, const Akonadi::Item &leftItem, const Akonadi::Item &rightItem)=0
Calculates the differences between two Akonadi objects and reports them to a reporter object.
Represents a PIM item stored in Akonadi storage.
Definition item.h:101
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:13:38 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.