KIO
kfilewriteplugin.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
00020 #include "kfilemetainfo_p.h"
00021 #include "kglobal.h"
00022 #include "kservicetypetrader.h"
00023 #include <QHash>
00024 #include <QDebug>
00025
00026 KFileWritePlugin::KFileWritePlugin(QObject* parent, const QStringList&)
00027 :QObject(parent), d(0)
00028 {
00029 }
00030
00031 KFileWritePlugin::~KFileWritePlugin() {
00032 }
00033
00034 K_GLOBAL_STATIC(KFileWriterProvider, staticKFileWriterProvider)
00035
00036 KFileWriterProvider*
00037 KFileWriterProvider::self() {
00038 return staticKFileWriterProvider;
00039 }
00040
00041 KFileWriterProvider::~KFileWriterProvider() {
00042 qDeleteAll(plugins);
00043 plugins.clear();
00044 }
00045
00046 KFileWritePlugin*
00047 KFileWriterProvider::loadPlugin(const QString& key) {
00048
00049 const QString constraint = QString::fromLatin1("'%1' in MetaDataKeys")
00050 .arg(key);
00051 KService::List offers = KServiceTypeTrader::self()->query(
00052 "KFileWrite", constraint);
00053 if (offers.isEmpty()) {
00054 return 0;
00055 }
00056 return offers.first()->createInstance<KFileWritePlugin>();
00057 }
00058
00059 #include "kfilewriteplugin.moc"
00060