add more spacing
[personal-kdebase.git] / runtime / nepomuk / services / ontologyloader / ontologyloader.h
blob16df7b34f7cfe844e6ed38910b1ebb5e6715f7e3
1 /* This file is part of the KDE Project
2 Copyright (c) 2007 Sebastian Trueg <trueg@kde.org>
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License version 2 as published by the Free Software Foundation.
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
13 You should have received a copy of the GNU Library General Public License
14 along with this library; see the file COPYING.LIB. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
19 #ifndef _NEPOMUK_SERVER_ONTOLOGY_LOADER_H_
20 #define _NEPOMUK_SERVER_ONTOLOGY_LOADER_H_
22 #include <Nepomuk/Service>
23 #include <QtCore/QUrl>
25 namespace Soprano {
26 class Model;
29 class KJob;
32 // Hint: Using QString instead of QUrl for URIs since this API will be exported via DBus and not used otherwise
33 namespace Nepomuk {
34 class OntologyLoader : public Nepomuk::Service
36 Q_OBJECT
38 public:
39 OntologyLoader( QObject* parent = 0, const QList<QVariant>& args = QList<QVariant>() );
40 ~OntologyLoader();
42 public Q_SLOTS:
43 /**
44 * Tries to find the ontology \p uri in the local Nepomuk store.
45 * \return The context (named graph) storing the ontology's statements
46 * or an invalid URI if the ontology could not be found.
48 QString findOntologyContext( const QString& uri );
50 /**
51 * Update all installed ontologies that changed since the last update.
53 void updateLocalOntologies();
55 /**
56 * Update all installed ontologies, independently of their status.
58 void updateAllLocalOntologies();
60 /**
61 * Try to retrieve an ontology from the web.
62 * On success ontologyUpdated will be emitted. If the
63 * retrieval failed, ontologyUpdateFailed will be
64 * emitted.
66 void importOntology( const QString& url );
68 Q_SIGNALS:
69 /**
70 * Emitted once an ontology has been updated. This holds for both
71 * locally installed ontology files (which are read automaticall)
72 * and those retrieved from the web via importOntology
74 void ontologyUpdated( const QString& uri );
76 /**
77 * Emitted if updating an ontology failed. This holds for both
78 * locally installed ontology files (parsing may fail) and for
79 * those imported via importOntology.
81 void ontologyUpdateFailed( const QString& uri, const QString& error );
83 private Q_SLOTS:
84 // a little async updating
85 void updateNextOntology();
86 void slotGraphRetrieverResult( KJob* job );
88 private:
89 class Private;
90 Private* const d;
94 #endif