libcommonc++  0.7
DirectoryWatcher Class Referenceabstract

A class that watches for changes in a given directory. More...

#include <DirectoryWatcher.h++>

Inheritance diagram for DirectoryWatcher:
Collaboration diagram for DirectoryWatcher:

Public Member Functions

virtual ~DirectoryWatcher ()
 Destructor. More...
 
void init ()
 Initialize the watcher. More...
 
virtual void start ()
 Start executing the thread. More...
 
virtual void stop ()
 Stop execution of the thread. More...
 
bool join ()
 Wait for the thread to terminate. More...
 
bool isRunning () const
 Test if the thread is currently running. More...
 
bool isDetached () const
 Test if the thread is detached. More...
 
void setPriority (Priority priority)
 Set the thread priority. More...
 
Priority getPriority () const
 Get the thread priority. More...
 
void setName (const String &name)
 Set the name of this thread. More...
 
String getName () const
 Get the name of this thread. More...
 

Static Public Member Functions

static void sleep (timespan_ms_t msec)
 Suspend the calling thread for the given time interval. More...
 
static ThreadcurrentThread ()
 Obtain a pointer to the Thread object for the calling thread. More...
 
static ThreadID currentThreadID ()
 Get the calling thread's thread ID. More...
 

Protected Member Functions

 DirectoryWatcher (const String &directory)
 Construct a new DirectoryWatcher that will watch the specified directory. More...
 
void run ()
 Main function. More...
 
virtual void fileCreated (const String &path)=0
 Called when a file is created in the watched directory. More...
 
virtual void fileDeleted (const String &path)=0
 Called when a file is deleted in the watched directory. More...
 
virtual void fileModified (const String &path)=0
 Called when a file is modified in the watched directory. More...
 
virtual void fileRenamed (const String &oldPath, const String &newPath)=0
 Called when a file is renamed in the watched directory. More...
 
virtual void cleanup ()
 Cleanup function. More...
 
bool trySleep (timespan_ms_t msec)
 Suspend the thread for the given time interval, returning early if the thread was cancelled via a call to stop(). More...
 
bool testCancel ()
 Test for asynchronous cancellation requests. More...
 
void yield ()
 Yield the CPU to (potentially) another thread. More...
 

Static Protected Member Functions

static void exit ()
 Exit (terminate) the calling thread. More...
 

Detailed Description

A class that watches for changes in a given directory.

When a file within the watched directory is created, deleted, modified, or renamed, the corresponding handler method is called. This is an abstract class which must be subclassed to implement the handler methods. A watcher must run in its own thread.

NOTE: This class is currently not implemented on Mac OS X.

Author
Mark Lindner

Constructor & Destructor Documentation

◆ ~DirectoryWatcher()

~DirectoryWatcher ( )
virtual

Destructor.

◆ DirectoryWatcher()

DirectoryWatcher ( const String directory)
protected

Construct a new DirectoryWatcher that will watch the specified directory.

Parameters
directoryThe directory to watch.

Member Function Documentation

◆ cleanup()

void cleanup ( )
protectedvirtualinherited

Cleanup function.

This function will be executed by the thread just prior to termination. The default implementation is a no-op.

Reimplemented in SocketSelector, and PulseTimer.

◆ currentThread()

Thread * currentThread ( )
staticinherited

Obtain a pointer to the Thread object for the calling thread.

If the calling thread is the main thread, or some other thread that was not created via commonc++, a NULL pointer is returned. Never delete the object returned by this method.

◆ currentThreadID()

ccxx::ThreadID currentThreadID ( )
staticinherited

Get the calling thread's thread ID.

◆ exit()

void exit ( )
staticprotectedinherited

Exit (terminate) the calling thread.

◆ fileCreated()

virtual void fileCreated ( const String path)
protectedpure virtual

Called when a file is created in the watched directory.

Parameters
pathThe path (relative to the watched directory) of the new file.

◆ fileDeleted()

virtual void fileDeleted ( const String path)
protectedpure virtual

Called when a file is deleted in the watched directory.

Parameters
pathThe path (relative to the watched directory) of the deleted file.

◆ fileModified()

virtual void fileModified ( const String path)
protectedpure virtual

Called when a file is modified in the watched directory.

Parameters
pathThe path (relative to the watched directory) of the modified file.

◆ fileRenamed()

virtual void fileRenamed ( const String oldPath,
const String newPath 
)
protectedpure virtual

Called when a file is renamed in the watched directory.

Parameters
oldPathThe old path (relative to the watched directory) of the renamed file.
newPathThe new path (relative to the watched directory) of the renamed file.

◆ getName()

String getName ( ) const
inlineinherited

Get the name of this thread.

◆ getPriority()

Priority getPriority ( ) const
inherited

Get the thread priority.

◆ init()

void init ( )

Initialize the watcher.

Exceptions
SystemExceptionIf an error occurs.

◆ isDetached()

bool isDetached ( ) const
inlineinherited

Test if the thread is detached.

◆ isRunning()

bool isRunning ( ) const
inherited

Test if the thread is currently running.

◆ join()

bool join ( )
inherited

Wait for the thread to terminate.

Returns
true if the join was successful, false otherwise. Note that threads which were created in a detached state are not joinable.

◆ run()

void run ( )
protectedvirtual

Main function.

Thread execution begins in this function. The default implementation does nothing.

Reimplemented from Thread.

◆ setName()

void setName ( const String name)
inlineinherited

Set the name of this thread.

◆ setPriority()

void setPriority ( Priority  priority)
inherited

Set the thread priority.

◆ sleep()

void sleep ( timespan_ms_t  msec)
staticinherited

Suspend the calling thread for the given time interval.

Parameters
msecThe number of milliseconds to sleep.

◆ start()

void start ( )
virtualinherited

Start executing the thread.

If a Runnable object was supplied in the constructor, its run() method is invoked; otherwise the thread object's run() method is called. If the thread is already running, the call has no effect.

◆ stop()

void stop ( )
virtualinherited

Stop execution of the thread.

The thread is not forcibly killed; instead, an asynchronous cancellation request is posted to the thread. If the thread is not running, the call has no effect.

◆ testCancel()

bool testCancel ( )
protectedinherited

Test for asynchronous cancellation requests.

Returns
true If a cancellation request has been posted to the calling thread.

◆ trySleep()

bool trySleep ( timespan_ms_t  msec)
protectedinherited

Suspend the thread for the given time interval, returning early if the thread was cancelled via a call to stop().

Parameters
msecThe number of milliseconds to sleep.
Returns
true if the full interval elapsed, false if the thread was cancelled during the sleep.

◆ yield()

void yield ( )
protectedinherited

Yield the CPU to (potentially) another thread.


The documentation for this class was generated from the following files: