• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdecore
 

tdecore

Public Types | Signals | Public Member Functions | Static Public Member Functions | List of all members
KSimpleDirWatch Class Reference

#include <ksimpledirwatch.h>

Inherits TQObject.

Public Types

enum  Method { FAM , DNotify , Stat , INotify }
 

Signals

void dirty (const TQString &path)
 
void created (const TQString &path)
 
void deleted (const TQString &path)
 

Public Member Functions

 KSimpleDirWatch (TQObject *parent=0, const char *name=0)
 
 ~KSimpleDirWatch ()
 
void addDir (const TQString &path, bool watchFiles=false, bool recursive=false)
 
void addFile (const TQString &file)
 
TQDateTime ctime (const TQString &path)
 
void removeDir (const TQString &path)
 
void removeFile (const TQString &file)
 
bool stopDirScan (const TQString &path)
 
bool restartDirScan (const TQString &path)
 
void startScan (bool notify=false, bool skippedToo=false)
 
void stopScan ()
 
bool isStopped ()
 
bool contains (const TQString &path) const
 
void setCreated (const TQString &path)
 
void setDirty (const TQString &path)
 
void setDeleted (const TQString &path)
 
Method internalMethod ()
 

Static Public Member Functions

static void statistics ()
 
static KSimpleDirWatch * self ()
 
static bool exists ()
 

Detailed Description

KSimpleDirWatch is a basic copy of KDirWatch but with the TDEIO linking requirement removed.

Watch directories and files for changes. The watched directories or files don't have to exist yet.

When a watched directory is changed, i.e. when files therein are created or deleted, KSimpleDirWatch will emit the signal dirty().

When a watched, but previously not existing directory gets created, KSimpleDirWatch will emit the signal created().

When a watched directory gets deleted, KSimpleDirWatch will emit the signal deleted(). The directory is still watched for new creation.

When a watched file is changed, i.e. attributes changed or written to, KSimpleDirWatch will emit the signal dirty().

Scanning of particular directories or files can be stopped temporarily and restarted. The whole class can be stopped and restarted. Directories and files can be added/removed from the list in any state.

The implementation uses the FAM service when available; if FAM is not available, the DNOTIFY functionality is used on LINUX. As a last resort, a regular polling for change of modification times is done; the polling interval is a global config option: DirWatch/PollInterval and DirWatch/NFSPollInterval for NFS mounted directories.

See also
self()

Class for watching directory and file changes.

Author
Sven Radej sven@.nosp@m.lisa.nosp@m..exp..nosp@m.univ.nosp@m.ie.ac.nosp@m..at

Definition at line 66 of file ksimpledirwatch.h.

Member Enumeration Documentation

◆ Method

enum KSimpleDirWatch::Method

Definition at line 224 of file ksimpledirwatch.h.

Constructor & Destructor Documentation

◆ KSimpleDirWatch()

KSimpleDirWatch::KSimpleDirWatch ( TQObject *  parent = 0,
const char *  name = 0 
)

Constructor.

Scanning begins immediately when a dir/file watch is added.

Parameters
parentthe parent of the TQObject (or 0 for parent-less KDataTools)
namethe name of the TQObject, can be 0

Definition at line 1600 of file ksimpledirwatch.cpp.

◆ ~KSimpleDirWatch()

KSimpleDirWatch::~KSimpleDirWatch ( )

Destructor.

Stops scanning and cleans up.

Definition at line 1618 of file ksimpledirwatch.cpp.

Member Function Documentation

◆ addDir()

void KSimpleDirWatch::addDir ( const TQString &  path,
bool  watchFiles = false,
bool  recursive = false 
)

Adds a directory to be watched.

The directory does not have to exist. When watchFiles is false (the default), the signals dirty(), created(), deleted() can be emitted, all for the watched directory. When watchFiles is true, all files in the watched directory are watched for changes, too. Thus, the signals dirty(), created(), deleted() can be emitted.

Parameters
paththe path to watch
watchFilesif true, the KSimpleDirWatch will also watch files - NOT IMPLEMENTED YET
recursiveif true, all sub directories are also watched - NOT IMPLEMENTED YET

Definition at line 1631 of file ksimpledirwatch.cpp.

◆ addFile()

void KSimpleDirWatch::addFile ( const TQString &  file)

Adds a file to be watched.

Parameters
filethe file to watch

Definition at line 1640 of file ksimpledirwatch.cpp.

◆ contains()

bool KSimpleDirWatch::contains ( const TQString &  path) const

Check if a directory is being watched by this KSimpleDirWatch instance.

Parameters
paththe directory to check
Returns
true if the directory is being watched

Definition at line 1700 of file ksimpledirwatch.cpp.

◆ created

void KSimpleDirWatch::created ( const TQString &  path)
signal

Emitted when a file or directory is created.

Parameters
paththe path of the file or directory

◆ ctime()

TQDateTime KSimpleDirWatch::ctime ( const TQString &  path)

Returns the time the directory/file was last changed.

Parameters
paththe file to check
Returns
the date of the last modification

Definition at line 1645 of file ksimpledirwatch.cpp.

◆ deleted

void KSimpleDirWatch::deleted ( const TQString &  path)
signal

Emitted when a file or directory is deleted.

The object is still watched for new creation.

Parameters
paththe path of the file or directory

◆ dirty

void KSimpleDirWatch::dirty ( const TQString &  path)
signal

Emitted when a watched object is changed.

For a directory this signal is emitted when files therein are created or deleted. For a file this signal is emitted when its size or attributes change.

When you watch a directory, changes in the size or attributes of contained files may or may not trigger this signal to be emitted depending on which backend is used by KSimpleDirWatch.

The new ctime is set before the signal is emitted.

Parameters
paththe path of the file or directory

◆ exists()

bool KSimpleDirWatch::exists ( )
static

Returns true if there is an instance of KSimpleDirWatch.

Returns
true if there is an instance of KSimpleDirWatch.
See also
KSimpleDirWatch::self()
Since
3.1

Definition at line 1595 of file ksimpledirwatch.cpp.

◆ internalMethod()

KSimpleDirWatch::Method KSimpleDirWatch::internalMethod ( )

Returns the preferred internal method to watch for changes.

Since
3.2

Definition at line 1741 of file ksimpledirwatch.cpp.

◆ isStopped()

bool KSimpleDirWatch::isStopped ( )
inline

Is scanning stopped? After creation of a KSimpleDirWatch instance, this is false.

Returns
true when scanning stopped

Definition at line 193 of file ksimpledirwatch.h.

◆ removeDir()

void KSimpleDirWatch::removeDir ( const TQString &  path)

Removes a directory from the list of scanned directories.

If specified path is not in the list this does nothing.

Parameters
paththe path of the dir to be removed from the list

Definition at line 1657 of file ksimpledirwatch.cpp.

◆ removeFile()

void KSimpleDirWatch::removeFile ( const TQString &  file)

Removes a file from the list of watched files.

If specified path is not in the list this does nothing.

Parameters
filethe file to be removed from the list

Definition at line 1662 of file ksimpledirwatch.cpp.

◆ restartDirScan()

bool KSimpleDirWatch::restartDirScan ( const TQString &  path)

Restarts scanning for specified path.

Resets ctime. It doesn't notify the change (by emitted a signal), since the ctime value is reset.

Call it when you are finished with big operations on that path, and when you have refreshed that path.

Parameters
paththe path to restart scanning
Returns
true if the path is being watched, otherwise false
See also
stopDirScanning()

Definition at line 1676 of file ksimpledirwatch.cpp.

◆ self()

KSimpleDirWatch * KSimpleDirWatch::self ( )
static

The KSimpleDirWatch instance usually globally used in an application.

It is automatically deleted when the application exits.

However, you can create an arbitrary number of KSimpleDirWatch instances aside from this one - for those you have to take care of memory management.

This function returns an instance of KSimpleDirWatch. If there is none, it will be created.

Returns
a KSimpleDirWatch instance

Definition at line 1586 of file ksimpledirwatch.cpp.

◆ setCreated()

void KSimpleDirWatch::setCreated ( const TQString &  path)

Emits created().

Parameters
paththe path of the file or directory

Definition at line 1723 of file ksimpledirwatch.cpp.

◆ setDeleted()

void KSimpleDirWatch::setDeleted ( const TQString &  path)

Emits deleted().

Parameters
paththe path of the file or directory

Definition at line 1735 of file ksimpledirwatch.cpp.

◆ setDirty()

void KSimpleDirWatch::setDirty ( const TQString &  path)

Emits dirty().

Parameters
paththe path of the file or directory

Definition at line 1729 of file ksimpledirwatch.cpp.

◆ startScan()

void KSimpleDirWatch::startScan ( bool  notify = false,
bool  skippedToo = false 
)

Starts scanning of all dirs in list.

Parameters
notifyIf true, all changed directories (since stopScan() call) will be notified for refresh. If notify is false, all ctimes will be reset (except those who are stopped, but only if skippedToo is false) and changed dirs won't be notified. You can start scanning even if the list is empty. First call should be called with false or else all directories in list will be notified.
skippedTooif true, the skipped directoris (scanning of which was stopped with stopDirScan() ) will be reset and notified for change. Otherwise, stopped directories will continue to be unnotified.

Definition at line 1693 of file ksimpledirwatch.cpp.

◆ statistics()

void KSimpleDirWatch::statistics ( )
static

Dump statistic information about all KSimpleDirWatch instances.

This checks for consistency, too.

Definition at line 1713 of file ksimpledirwatch.cpp.

◆ stopDirScan()

bool KSimpleDirWatch::stopDirScan ( const TQString &  path)

Stops scanning the specified path.

The path is not deleted from the interal just, it is just skipped. Call this function when you perform an huge operation on this directory (copy/move big files or many files). When finished, call restartDirScan(path).

Parameters
paththe path to skip
Returns
true if the path is being watched, otherwise false
See also
restartDirScanning()

Definition at line 1667 of file ksimpledirwatch.cpp.

◆ stopScan()

void KSimpleDirWatch::stopScan ( )

Stops scanning of all directories in internal list.

The timer is stopped, but the list is not cleared.

Definition at line 1687 of file ksimpledirwatch.cpp.


The documentation for this class was generated from the following files:
  • ksimpledirwatch.h
  • ksimpledirwatch.cpp

tdecore

Skip menu "tdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdecore

Skip menu "tdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.9.4
This website is maintained by Timothy Pearson.