igor::iTaskWatchFilesystem Class Reference

#include <iTaskWatchFilesystem.h>

Inherits igor::iTask.

Public Member Functions

 iTaskWatchFilesystem (const iaString &path, bool recursive)
 
virtual ~iTaskWatchFilesystem ()=default
 
void abort () override
 
- Public Member Functions inherited from igor::iTask
 iTask (iWindowPtr window=nullptr, uint32 priority=iTask::TASK_PRIORITY_DEFAULT, bool isRepeating=false, iTaskContext taskContext=iTaskContext::Default)
 
virtual ~iTask ()=default
 
virtual void abort ()
 
bool isRunning ()
 
iTaskContext getContext ()
 
uint32 getPriority ()
 
void setPriority (uint32 priority)
 
bool isRepeating ()
 
iTaskID getID ()
 
uint64 getWorldID ()
 
void setWorldID (uint64 worldID)
 
iWindowPtr getWindow ()
 

Protected Member Functions

void run () override
 
int watchDir (const iaDirectory &dir)
 
bool onWatchDir (const iaString &dir)
 
- Protected Member Functions inherited from igor::iTask
void setRepeating (bool repeat)
 
virtual void run ()=0
 

Protected Attributes

iaString _path
 
bool _recursive
 
std::unordered_map< int, iaString_subdirs
 
bool _running
 
int _inotify
 

Additional Inherited Members

- Static Public Attributes inherited from igor::iTask
static const iTaskID INVALID_TASK_ID = 0
 
static const uint32 TASK_PRIORITY_MAX = 0
 
static const uint32 TASK_PRIORITY_HIGH = 5
 
static const uint32 TASK_PRIORITY_DEFAULT = 10
 
static const uint32 TASK_PRIORITY_LOW = 20
 

Detailed Description

task to watch changes in filesystem

Constructor & Destructor Documentation

◆ iTaskWatchFilesystem()

igor::iTaskWatchFilesystem::iTaskWatchFilesystem ( const iaString path,
bool  recursive 
)

initializes member variables

Parameters
paththe path to watch recursively
recursiveif true watch recursively

◆ ~iTaskWatchFilesystem()

virtual igor::iTaskWatchFilesystem::~iTaskWatchFilesystem ( )
virtualdefault

does nothing

Member Function Documentation

◆ abort()

void igor::iTaskWatchFilesystem::abort ( )
overridevirtual

aborts the task

Reimplemented from igor::iTask.

◆ onWatchDir()

bool igor::iTaskWatchFilesystem::onWatchDir ( const iaString dir)
protected

handle created directory event

Parameters
dirthe created directory
Returns
true if successful

◆ run()

void igor::iTaskWatchFilesystem::run ( )
overrideprotectedvirtual

runs the task

Implements igor::iTask.

◆ watchDir()

int igor::iTaskWatchFilesystem::watchDir ( const iaDirectory dir)
protected

watch given directory for changes

Parameters
dirthe given directory

Member Data Documentation

◆ _inotify

int igor::iTaskWatchFilesystem::_inotify
protected

inotify handle

◆ _path

iaString igor::iTaskWatchFilesystem::_path
protected

path to watch

◆ _recursive

bool igor::iTaskWatchFilesystem::_recursive
protected

if true watch path recursively

◆ _running

bool igor::iTaskWatchFilesystem::_running
protected

if true this task keeps running

◆ _subdirs

std::unordered_map<int, iaString> igor::iTaskWatchFilesystem::_subdirs
protected

subdirectories to watch


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