1/*
2 This file is part of the Nepomuk KDE project.
3 Copyright (C) 2011 Vishesh Handa <handa.vish@gmail.com>
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) version 3, or any
9 later version accepted by the membership of KDE e.V. (or its
10 successor approved by the membership of KDE e.V.), which shall
11 act as a proxy defined in Section 6 of version 3 of the license.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22
23#ifndef STORERESOURCEJOB_H
24#define STORERESOURCEJOB_H
25
26#include <KJob>
27#include "nepomuk_export.h"
28#include "datamanagement.h"
29
30class QDBusPendingCallWatcher;
31
32namespace Nepomuk2 {
33
34 class NEPOMUK_EXPORT StoreResourcesJob : public KJob
35 {
36 Q_OBJECT
37 public:
38 ~StoreResourcesJob();
39
40 QHash<QUrl, QUrl> mappings() const;
41
42 private:
43 StoreResourcesJob(const Nepomuk2::SimpleResourceGraph& resources,
44 Nepomuk2::StoreIdentificationMode identificationMode,
45 Nepomuk2::StoreResourcesFlags flags,
46 const QHash<QUrl, QVariant>& additionalMetadata,
47 const KComponentData& component);
48 class Private;
49 Private *d;
50
51 // We do not want to change the order of the functions. This has been done
52 // in order to preserve binary compatibility
53 public:
54 void start();
55 private:
56
57 Q_PRIVATE_SLOT( d, void _k_slotDBusCallFinished( QDBusPendingCallWatcher* ) )
58
59 friend Nepomuk2::StoreResourcesJob* storeResources(const SimpleResourceGraph&,
60 StoreIdentificationMode,
61 StoreResourcesFlags,
62 const QHash<QUrl, QVariant>&,
63 const KComponentData& );
64 };
65
66}
67#endif // STORERESOURCEJOB_H
68