kio
metainfojob.h
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 
00021 
00022 #ifndef __kio_metainfojob_h__
00023 #define __kio_metainfojob_h__
00024 
00025 #include <kio/job.h>
00026 #include <kfileitem.h>
00027 
00028 namespace KIO {
00035     class KIO_EXPORT MetaInfoJob : public KIO::Job
00036     {
00037         Q_OBJECT
00038     public:
00044         MetaInfoJob(const KFileItemList &items, bool deleteItems = false);
00045         virtual ~MetaInfoJob();
00046 
00052         void removeItem( const KFileItem *item );
00053 
00060         static QStringList availablePlugins();
00061 
00067         static QStringList supportedMimeTypes();
00068 
00069     signals:
00075         void gotMetaInfo( const KFileItem *item );
00082         void failed( const KFileItem *item );
00083 
00084     protected:
00085         void getMetaInfo();
00086 
00087     protected slots:
00088         virtual void slotResult( KIO::Job *job );
00089 
00090     private slots:
00091         void start();
00092         void slotMetaInfo(KIO::Job *, const QByteArray &);
00093 
00094     private:
00095         void determineNextFile();
00096 
00097 
00098     private:
00099         struct MetaInfoJobPrivate *d;
00100     };
00101 
00108     KIO_EXPORT MetaInfoJob* fileMetaInfo(const KFileItemList& items);
00109 
00116     KIO_EXPORT MetaInfoJob* fileMetaInfo(const KURL::List& items);
00117 }
00118 
00119 #endif