Sese Framework  3.0.0
A cross-platform framework
Loading...
Searching...
No Matches
sese::system::FileNotifier::Impl Class Reference

Public Types

using Ptr = std::unique_ptr<Impl>
 

Public Member Functions

 ~Impl () noexcept
 
void start () noexcept
 
void shutdown () noexcept
 
 ~Impl () noexcept
 
void start () noexcept
 
void shutdown () noexcept
 
 ~Impl () noexcept
 
void shutdown ()
 
void start ()
 

Static Public Member Functions

static void callback (ConstFSEventStreamRef stream, void *this__, size_t num_events, void *event_paths, const FSEventStreamEventFlags event_flags[], const FSEventStreamEventId event_ids[])
 
static Ptr create (const std::string &path) noexcept
 
static std::unique_ptr< Implcreate (const std::string &path) noexcept
 
static std::unique_ptr< Implcreate (const std::string &path) noexcept
 

Public Attributes

FSEventStreamRef stream = nullptr
 
dispatch_queue_t queue = nullptr
 
OnCreateCallback on_create
 
OnMoveCallback on_move
 
OnModifyCallback on_modify
 
OnDeleteCallback on_delete
 
int inotify_fd = -1
 
int watch_fd = -1
 
std::atomic_bool is_shutdown = false
 
Thread::Ptr th = nullptr
 
void * file_handle = nullptr
 
void * overlapped = nullptr
 

Member Typedef Documentation

◆ Ptr

using sese::system::FileNotifier::Impl::Ptr = std::unique_ptr<Impl>

Constructor & Destructor Documentation

◆ ~Impl() [1/3]

sese::system::FileNotifier::Impl::~Impl ( )
inlinenoexcept

◆ ~Impl() [2/3]

sese::system::FileNotifier::Impl::~Impl ( )
inlinenoexcept

◆ ~Impl() [3/3]

sese::system::FileNotifier::Impl::~Impl ( )
inlinenoexcept

Member Function Documentation

◆ callback()

static void sese::system::FileNotifier::Impl::callback ( ConstFSEventStreamRef stream,
void * this__,
size_t num_events,
void * event_paths,
const FSEventStreamEventFlags event_flags[],
const FSEventStreamEventId event_ids[] )
inlinestatic

◆ create() [1/3]

static Ptr sese::system::FileNotifier::Impl::create ( const std::string & path)
inlinestaticnoexcept

◆ create() [2/3]

static std::unique_ptr< Impl > sese::system::FileNotifier::Impl::create ( const std::string & path)
inlinestaticnoexcept

◆ create() [3/3]

static std::unique_ptr< Impl > sese::system::FileNotifier::Impl::create ( const std::string & path)
inlinestaticnoexcept

◆ shutdown() [1/3]

◆ shutdown() [2/3]

void sese::system::FileNotifier::Impl::shutdown ( )
inlinenoexcept

◆ shutdown() [3/3]

void sese::system::FileNotifier::Impl::shutdown ( )
inlinenoexcept

◆ start() [1/3]

◆ start() [2/3]

void sese::system::FileNotifier::Impl::start ( )
inlinenoexcept

◆ start() [3/3]

Member Data Documentation

◆ file_handle

void* sese::system::FileNotifier::Impl::file_handle = nullptr

◆ inotify_fd

◆ is_shutdown

◆ on_create

OnCreateCallback sese::system::FileNotifier::Impl::on_create

◆ on_delete

OnDeleteCallback sese::system::FileNotifier::Impl::on_delete

◆ on_modify

OnModifyCallback sese::system::FileNotifier::Impl::on_modify

◆ on_move

OnMoveCallback sese::system::FileNotifier::Impl::on_move

◆ overlapped

void* sese::system::FileNotifier::Impl::overlapped = nullptr

◆ queue

dispatch_queue_t sese::system::FileNotifier::Impl::queue = nullptr

◆ stream

FSEventStreamRef sese::system::FileNotifier::Impl::stream = nullptr

◆ th

◆ watch_fd

int sese::system::FileNotifier::Impl::watch_fd = -1

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