Urho3D
Public Member Functions | Private Member Functions | Private Attributes
Urho3D::FileWatcher Class Reference

Watches a directory and its subdirectories for files being modified. More...

#include <FileWatcher.h>

Inheritance diagram for Urho3D::FileWatcher:
Urho3D::Object Urho3D::Thread Urho3D::RefCounted

List of all members.

Public Member Functions

 FileWatcher (Context *context)
 Construct.
virtual ~FileWatcher ()
 Destruct.
virtual void ThreadFunction ()
 Directory watching loop.
bool StartWatching (const String &pathName, bool watchSubDirs)
 Start watching a directory. Return true if successful.
void StopWatching ()
 Stop watching the directory.
bool GetNextChange (String &dest)
 Return a file change (true if was found, false if not.)
const StringGetPath () const
 Return the path being watched, or empty if not watching.
- Public Member Functions inherited from Urho3D::Object
 Object (Context *context)
 Construct.
virtual ~Object ()
 Destruct. Clean up self from event sender & receiver structures.
virtual ShortStringHash GetType () const =0
 Return type hash.
virtual const StringGetTypeName () const =0
 Return type name.
virtual void OnEvent (Object *sender, StringHash eventType, VariantMap &eventData)
 Handle event.
void SubscribeToEvent (StringHash eventType, EventHandler *handler)
 Subscribe to an event that can be sent by any sender.
void SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler)
 Subscribe to a specific sender's event.
void UnsubscribeFromEvent (StringHash eventType)
 Unsubscribe from an event.
void UnsubscribeFromEvent (Object *sender, StringHash eventType)
 Unsubscribe from a specific sender's event.
void UnsubscribeFromEvents (Object *sender)
 Unsubscribe from a specific sender's events.
void UnsubscribeFromAllEvents ()
 Unsubscribe from all events.
void UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData)
 Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.)
void SendEvent (StringHash eventType)
 Send event to all subscribers.
void SendEvent (StringHash eventType, VariantMap &eventData)
 Send event with parameters to all subscribers.
ContextGetContext () const
 Return execution context.
ObjectGetSubsystem (ShortStringHash type) const
 Return subsystem by type.
ObjectGetEventSender () const
 Return active event sender. Null outside event handling.
EventHandlerGetEventHandler () const
 Return active event handler. Null outside event handling.
bool HasSubscribedToEvent (StringHash eventType) const
 Return whether has subscribed to an event without specific sender.
bool HasSubscribedToEvent (Object *sender, StringHash eventType) const
 Return whether has subscribed to a specific sender's event.
template<class T >
T * GetSubsystem () const
 Template version of returning a subsystem.
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
void AddRef ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
int Refs () const
 Return reference count.
int WeakRefs () const
 Return weak reference count.
RefCountRefCountPtr ()
 Return pointer to the reference count structure.
- Public Member Functions inherited from Urho3D::Thread
 Thread ()
 Construct. Does not start the thread yet.
virtual ~Thread ()
 Destruct. If running, stop and wait for thread to finish.
bool Start ()
 Start running the thread. Return true if successful, or false if already running or if can not create the thread.
void Stop ()
 Set the running flag to false and wait for the thread to finish.
void SetPriority (int priority)
 Set thread priority. The thread must have been started first.
bool IsStarted () const
 Return whether thread exists.

Private Member Functions

 OBJECT (FileWatcher)

Private Attributes

SharedPtr< FileSystemfileSystem_
 Filesystem.
String path_
 The path being watched.
List< Stringchanges_
 Buffered file changes.
Mutex changesMutex_
 Mutex for the change buffer.
bool watchSubDirs_
 Watch subdirectories flag.

Additional Inherited Members

- Protected Attributes inherited from Urho3D::Object
Contextcontext_
 Execution context.
- Protected Attributes inherited from Urho3D::Thread
void * handle_
 Thread handle.
volatile bool shouldRun_
 Running flag.

Detailed Description

Watches a directory and its subdirectories for files being modified.


Member Function Documentation

bool Urho3D::FileWatcher::StartWatching ( const String pathName,
bool  watchSubDirs 
)

Start watching a directory. Return true if successful.

Todo:
Implement on Unix-like systems

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