Akonadi

differencesalgorithminterface.h
1 /*
2  SPDX-FileCopyrightText: 2010 KDAB
3  SPDX-FileContributor: Tobias Koenig <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7 
8 #pragma once
9 
10 namespace Akonadi
11 {
12 class AbstractDifferencesReporter;
13 class Item;
14 
15 /**
16  * @short An interface to find out differences between two Akonadi objects.
17  *
18  * @author Tobias Koenig <[email protected]>
19  * @since 4.6
20  */
22 {
23 public:
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 
44 Q_DECLARE_INTERFACE(Akonadi::DifferencesAlgorithmInterface, "org.freedesktop.Akonadi.DifferencesAlgorithmInterface/1.0")
45 
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.
An interface to find out differences between two Akonadi objects.
An interface to report differences between two arbitrary objects.
Represents a PIM item stored in Akonadi storage.
Definition: item.h:104
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Jul 2 2022 06:41:47 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.