diff options
Diffstat (limited to 'kio/kio/kdirwatch_p.h')
-rw-r--r-- | kio/kio/kdirwatch_p.h | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/kio/kio/kdirwatch_p.h b/kio/kio/kdirwatch_p.h deleted file mode 100644 index 8777f56b2..000000000 --- a/kio/kio/kdirwatch_p.h +++ /dev/null @@ -1,158 +0,0 @@ -/* Private Header for class of KDirWatchPrivate - * - * this separate header file is needed for MOC processing - * because KDirWatchPrivate has signals and slots - */ - -#ifndef _KDIRWATCH_P_H -#define _KDIRWATCH_P_H - -#ifdef HAVE_FAM -#include <fam.h> -#endif - -#include <ctime> - -#define invalid_ctime ((time_t)-1) - -/* KDirWatchPrivate is a singleton and does the watching - * for every KDirWatch instance in the application. - */ -class KDirWatchPrivate : public TQObject -{ - Q_OBJECT -public: - - enum entryStatus { Normal = 0, NonExistent }; - enum entryMode { UnknownMode = 0, StatMode, DNotifyMode, INotifyMode, FAMMode }; - enum { NoChange=0, Changed=1, Created=2, Deleted=4 }; - - struct Client { - KDirWatch* instance; - int count; - // did the instance stop watching - bool watchingStopped; - // events blocked when stopped - int pending; - }; - - class Entry - { - public: - // the last observed modification time - time_t m_ctime; - // the last observed link count - int m_nlink; - entryStatus m_status; - entryMode m_mode; - bool isDir; - // instances interested in events - TQPtrList<Client> m_clients; - // nonexistent entries of this directory - TQPtrList<Entry> m_entries; - TQString path; - - int msecLeft, freq; - - void addClient(KDirWatch*); - void removeClient(KDirWatch*); - int clients(); - bool isValid() { return m_clients.count() || m_entries.count(); } - - bool dirty; - void propagate_dirty(); - -#ifdef HAVE_FAM - FAMRequest fr; -#endif - -#ifdef HAVE_DNOTIFY - int dn_fd; -#endif -#ifdef HAVE_INOTIFY - int wd; -#endif - }; - - typedef TQMap<TQString,Entry> EntryMap; - - KDirWatchPrivate(); - ~KDirWatchPrivate(); - - void resetList (KDirWatch*,bool); - void useFreq(Entry* e, int newFreq); - void addEntry(KDirWatch*,const TQString&, Entry*, bool); - void removeEntry(KDirWatch*,const TQString&, Entry*); - bool stopEntryScan(KDirWatch*, Entry*); - bool restartEntryScan(KDirWatch*, Entry*, bool ); - void stopScan(KDirWatch*); - void startScan(KDirWatch*, bool, bool); - - void removeEntries(KDirWatch*); - void statistics(); - - Entry* entry(const TQString&); - int scanEntry(Entry* e); - void emitEvent(Entry* e, int event, const TQString &fileName = TQString::null); - - // Memory management - delete when last KDirWatch gets deleted - void ref() { m_ref++; } - bool deref() { return ( --m_ref == 0 ); } - - static bool isNoisyFile( const char *filename ); - -public slots: - void slotRescan(); - void famEventReceived(); // for FAM - void slotActivated(); // for DNOTIFY - void slotRemoveDelayed(); - -public: - TQTimer *timer; - EntryMap m_mapEntries; - - int freq; - int statEntries; - int m_nfsPollInterval, m_PollInterval; - int m_ref; - bool useStat(Entry*); - - bool delayRemove; - TQPtrList<Entry> removeList; - - bool rescan_all; - TQTimer rescan_timer; - -#ifdef HAVE_FAM - TQSocketNotifier *sn; - FAMConnection fc; - bool use_fam; - - void checkFAMEvent(FAMEvent*); - bool useFAM(Entry*); -#endif - -#if defined(HAVE_DNOTIFY) || defined(HAVE_INOTIFY) - TQSocketNotifier *mSn; -#endif - -#ifdef HAVE_DNOTIFY - bool supports_dnotify; - int mPipe[2]; - TQIntDict<Entry> fd_Entry; - - static void dnotify_handler(int, siginfo_t *si, void *); - static void dnotify_sigio_handler(int, siginfo_t *si, void *); - bool useDNotify(Entry*); -#endif - -#ifdef HAVE_INOTIFY - bool supports_inotify; - int m_inotify_fd; - - bool useINotify(Entry*); -#endif -}; - -#endif // KDIRWATCH_P_H - |