Akonadi

agentsearchinterface.h
1 /*
2  Copyright (c) 2009 Volker Krause <[email protected]>
3 
4  This library is free software; you can redistribute it and/or modify it
5  under the terms of the GNU Library General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or (at your
7  option) any later version.
8 
9  This library is distributed in the hope that it will be useful, but WITHOUT
10  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12  License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to the
16  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  02110-1301, USA.
18 */
19 
20 #ifndef AKONADI_AGENTSEARCHINTERFACE_H
21 #define AKONADI_AGENTSEARCHINTERFACE_H
22 
23 #include "akonadiagentbase_export.h"
24 #include <QString>
25 
26 namespace Akonadi
27 {
28 
29 class Collection;
30 class AgentSearchInterfacePrivate;
31 class ImapSet;
32 
43 class AKONADIAGENTBASE_EXPORT AgentSearchInterface
44 {
45 public:
46  enum ResultScope {
47  Uid,
48  Rid
49  };
50 
55 
59  virtual ~AgentSearchInterface();
60 
69  virtual void addSearch(const QString &query, const QString &queryLanguage, const Akonadi::Collection &resultCollection) = 0;
70 
77  virtual void removeSearch(const Akonadi::Collection &resultCollection) = 0;
78 
84  virtual void search(const QString &query, const Collection &collection) = 0;
85 
86  void searchFinished(const QVector<qint64> &result, ResultScope scope);
87  void searchFinished(const ImapSet &result, ResultScope scope);
88  void searchFinished(const QVector<QByteArray> &result);
89 private:
90  //@cond PRIVATE
91  AgentSearchInterfacePrivate *const d;
92  //@endcond
93 };
94 
95 }
96 
97 #endif
An interface for agents (or resources) that support searching in their backend.
Represents a collection of PIM items.
Definition: collection.h:76
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Jun 5 2020 23:08:53 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.