NepomukDaemons
desktopontologyupdatejob.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "desktopontologyupdatejob.h"
00020
00021 #include <KDebug>
00022 #include <KConfigGroup>
00023 #include <KDesktopFile>
00024
00025 #include <Soprano/StatementIterator>
00026 #include <Soprano/PluginManager>
00027 #include <Soprano/Parser>
00028
00029
00030 Nepomuk::DesktopOntologyUpdateJob::DesktopOntologyUpdateJob( Soprano::Model* mainModel, QObject* parent )
00031 : OntologyUpdateJob( mainModel, parent )
00032 {
00033 }
00034
00035
00036 Nepomuk::DesktopOntologyUpdateJob::~DesktopOntologyUpdateJob()
00037 {
00038 }
00039
00040
00041 void Nepomuk::DesktopOntologyUpdateJob::setOntologyDesktopFile( const QString& df )
00042 {
00043 m_desktopFilePath = df;
00044 }
00045
00046
00047 Soprano::StatementIterator Nepomuk::DesktopOntologyUpdateJob::data()
00048 {
00049 kDebug() << "Updating ontology" << m_desktopFilePath;
00050
00051 KDesktopFile df( m_desktopFilePath );
00052
00053
00054
00055 QString mimeType = df.desktopGroup().readEntry( "MimeType", QString() );
00056 const Soprano::Parser* parser
00057 = Soprano::PluginManager::instance()->discoverParserForSerialization( Soprano::mimeTypeToSerialization( mimeType ),
00058 mimeType );
00059 if ( !parser ) {
00060 kDebug() << "No parser to handle" << df.readName() << "(" << mimeType << ")";
00061 return 0;
00062 }
00063
00064 kDebug() << "Parsing" << df.readPath();
00065
00066 return parser->parseFile( df.readPath(),
00067 df.readUrl(),
00068 Soprano::mimeTypeToSerialization( mimeType ),
00069 mimeType );
00070 }
00071
00072 #include "desktopontologyupdatejob.moc"