Main MRPT website > C++ reference for 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 29 of file CFileSystemWatcher.h.

#include <mrpt/system/CFileSystemWatcher.h>

Classes

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...
 
voidm_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 50 of file CFileSystemWatcher.h.

Constructor & Destructor Documentation

◆ CFileSystemWatcher()

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

Creates the subscription to a specified path.

Parameters
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.

◆ ~CFileSystemWatcher()

CFileSystemWatcher::~CFileSystemWatcher ( )
virtual

Destructor.

Definition at line 90 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 ( )
private

Member Data Documentation

◆ m_hNotif

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

◆ m_queue_events_win32_cs

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

Definition at line 76 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
private

Definition at line 75 of file CFileSystemWatcher.h.

Referenced by getChanges(), and thread_win32_watch().

◆ m_watchedDirectory

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

Ended in "/".

Definition at line 69 of file CFileSystemWatcher.h.

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

◆ m_watchThread

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

Definition at line 72 of file CFileSystemWatcher.h.

Referenced by CFileSystemWatcher().




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST