Introduce a compat level for the index.
[kdepim.git] / nepomuk_email_feeder / nepomukemailfeeder.h
blobccd4b4631a1248cb644e8eec45e7b6bc831f2177
1 /*
2 Copyright (c) 2006 Volker Krause <vkrause@kde.org>
3 Copyright (c) 2008 Sebastian Trueg <trueg@kde.org>
5 This library is free software; you can redistribute it and/or modify it
6 under the terms of the GNU Library General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or (at your
8 option) any later version.
10 This library is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 License for more details.
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to the
17 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 02110-1301, USA.
21 #ifndef AKONADI_NEPOMUK_EMAIL_FEEDER_H
22 #define AKONADI_NEPOMUK_EMAIL_FEEDER_H
24 #include <nepomukfeederagent.h>
26 #include <mailbox.h>
27 #include <contact.h>
29 #include <QtCore/QList>
30 #include <akonadi/agentsearchinterface.h>
31 #include <kmime/kmime_header_parsing.h>
33 namespace Akonadi {
35 class NepomukEMailFeeder : public NepomukFeederAgent<NepomukFast::Mailbox>, public AgentSearchInterface
37 Q_OBJECT
38 public:
39 NepomukEMailFeeder( const QString &id );
40 void configure(WId windowId);
42 void updateItem( const Akonadi::Item &item, const QUrl &graphUri );
44 void addSearch(const QString& query, const QString& queryLanguage, const Akonadi::Collection& resultCollection);
45 void removeSearch(const Akonadi::Collection& resultCollection);
47 protected:
48 ItemFetchScope fetchScopeForcollection(const Akonadi::Collection& collection);
50 private:
51 bool needsReIndexing() const;
53 private slots:
54 void slotFullyIndexed();
59 #endif