tdeio/tdeio
chmodjob.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __tdeio_chmodjob_h__
00022 #define __tdeio_chmodjob_h__
00023
00024 #include <kurl.h>
00025 #include <tqstring.h>
00026
00027 #include <tdeio/global.h>
00028 #include <tdeio/job.h>
00029 #include <tdefileitem.h>
00030
00031 namespace TDEIO {
00032
00038 class TDEIO_EXPORT ChmodJob : public TDEIO::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( TDEIO::Job *job );
00055 void slotEntries( TDEIO::Job * , const TDEIO::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 TQValueList<ChmodInfo> m_infos;
00072 protected:
00073 virtual void virtual_hook( int id, void* data );
00074 private:
00075 class ChmodJobPrivate* d;
00076 };
00077
00078
00103 TDEIO_EXPORT ChmodJob * chmod( const KFileItemList& lstItems, int permissions, int mask,
00104 TQString newOwner, TQString newGroup,
00105 bool recursive, bool showProgressInfo = true );
00106
00107 }
00108
00109 #endif