MRPT  1.9.9
List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
mrpt::system::CFileSystemWatcher Class Reference

Detailed Description

This class subscribes to notifications of file system changes, thus it can be used to efficiently stay informed about changes in a directory tree.

Definition at line 27 of file CFileSystemWatcher.h.

#include <mrpt/system/CFileSystemWatcher.h>


struct  TFileSystemChange
 Each of the changes detected by utils::CFileSystemWatcher. More...

Public Types

using TFileSystemChangeList = std::deque< TFileSystemChange >

Public Member Functions

 CFileSystemWatcher (const std::string &path)
 Creates the subscription to a specified path. More...
virtual ~CFileSystemWatcher ()
 Destructor. More...
void getChanges (TFileSystemChangeList &out_list)
 Call this method sometimes to get the list of changes in the watched directory. More...

Private Member Functions

void thread_win32_watch ()
 Watch thread; only needed in win32. More...

Private Attributes

std::string m_watchedDirectory
 Ended in "/". More...
void * m_hNotif {nullptr}
std::thread m_watchThread
std::queue< TFileSystemChange * > m_queue_events_win32_msgs
std::mutex m_queue_events_win32_cs

Member Typedef Documentation

◆ TFileSystemChangeList

Definition at line 48 of file CFileSystemWatcher.h.

Constructor & Destructor Documentation

◆ CFileSystemWatcher()

CFileSystemWatcher::CFileSystemWatcher ( const std::string &  path)

Creates the subscription to a specified path.

pathThe file or directory to watch.

Definition at line 41 of file CFileSystemWatcher.cpp.

References ASSERT_, m_hNotif, m_watchedDirectory, m_watchThread, MRPT_END, MRPT_START, thread_win32_watch(), and THROW_EXCEPTION.

Here is the call graph for this function:

◆ ~CFileSystemWatcher()

CFileSystemWatcher::~CFileSystemWatcher ( )


Definition at line 91 of file CFileSystemWatcher.cpp.

References m_hNotif.

Member Function Documentation

◆ getChanges()

void CFileSystemWatcher::getChanges ( TFileSystemChangeList out_list)

◆ thread_win32_watch()

void CFileSystemWatcher::thread_win32_watch ( )

Watch thread; only needed in win32.

Definition at line 257 of file CFileSystemWatcher.cpp.

References ASSERTMSG_, mrpt::system::directoryExists(), mrpt::system::CFileSystemWatcher::TFileSystemChange::eventCreated, mrpt::system::CFileSystemWatcher::TFileSystemChange::eventDeleted, mrpt::system::CFileSystemWatcher::TFileSystemChange::eventModified, mrpt::system::CFileSystemWatcher::TFileSystemChange::eventMovedFrom, mrpt::system::CFileSystemWatcher::TFileSystemChange::eventMovedTo, mrpt::system::CFileSystemWatcher::TFileSystemChange::isDir, m_hNotif, m_queue_events_win32_cs, m_queue_events_win32_msgs, m_watchedDirectory, and mrpt::system::CFileSystemWatcher::TFileSystemChange::path.

Referenced by CFileSystemWatcher().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_hNotif

void* mrpt::system::CFileSystemWatcher::m_hNotif {nullptr}

◆ m_queue_events_win32_cs

std::mutex mrpt::system::CFileSystemWatcher::m_queue_events_win32_cs

Definition at line 74 of file CFileSystemWatcher.h.

Referenced by getChanges(), and thread_win32_watch().

◆ m_queue_events_win32_msgs

std::queue<TFileSystemChange*> mrpt::system::CFileSystemWatcher::m_queue_events_win32_msgs

Definition at line 73 of file CFileSystemWatcher.h.

Referenced by getChanges(), and thread_win32_watch().

◆ m_watchedDirectory

std::string mrpt::system::CFileSystemWatcher::m_watchedDirectory

Ended in "/".

Definition at line 67 of file CFileSystemWatcher.h.

Referenced by CFileSystemWatcher(), getChanges(), and thread_win32_watch().

◆ m_watchThread

std::thread mrpt::system::CFileSystemWatcher::m_watchThread

Definition at line 70 of file CFileSystemWatcher.h.

Referenced by CFileSystemWatcher().

Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 24b95e159 Thu Jan 23 01:15:46 2020 +0100 at jue ene 23 01:30:10 CET 2020