kio
chmodjob.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 #ifndef __kio_chmodjob_h__
00022 #define __kio_chmodjob_h__
00023
00024 #include <kurl.h>
00025 #include <qstring.h>
00026
00027 #include <kio/global.h>
00028 #include <kio/job.h>
00029 #include <kfileitem.h>
00030
00031 namespace KIO {
00032
00038 class KIO_EXPORT ChmodJob : public KIO::Job
00039 {
00040 Q_OBJECT
00041 public:
00045 ChmodJob( const KFileItemList & lstItems, int permissions, int mask,
00046 int newOwner, int newGroup,
00047 bool recursive, bool showProgressInfo );
00048
00049 protected:
00050 void chmodNextFile();
00051
00052 protected slots:
00053
00054 virtual void slotResult( KIO::Job *job );
00055 void slotEntries( KIO::Job * , const KIO::UDSEntryList & );
00056 void processList();
00057
00058 private:
00059 struct ChmodInfo
00060 {
00061 KURL url;
00062 int permissions;
00063 };
00064 enum { STATE_LISTING, STATE_CHMODING } state;
00065 int m_permissions;
00066 int m_mask;
00067 int m_newOwner;
00068 int m_newGroup;
00069 bool m_recursive;
00070 KFileItemList m_lstItems;
00071 QValueList<ChmodInfo> m_infos;
00072 protected:
00073 virtual void virtual_hook( int id, void* data );
00074 private:
00075 class ChmodJobPrivate* d;
00076 };
00077
00078
00103 KIO_EXPORT ChmodJob * chmod( const KFileItemList& lstItems, int permissions, int mask,
00104 QString newOwner, QString newGroup,
00105 bool recursive, bool showProgressInfo = true );
00106
00107 }
00108
00109 #endif