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

Public Types

using Ptr = std::unique_ptr<Impl>
 
using Ptr = std::unique_ptr<Impl>
 

Public Member Functions

 Impl (sem_t *sem, std::string name)
 
 ~Impl ()
 
bool lock ()
 
bool unlock ()
 
bool tryLock (std::chrono::milliseconds ms)
 
 Impl (HANDLE handle)
 
 ~Impl ()
 
bool lock ()
 
bool unlock ()
 
bool tryLock (std::chrono::milliseconds ms)
 

Static Public Member Functions

static Ptr create (std::string name, uint32_t initial_count)
 
static Ptr create (std::string name, uint32_t initial_count)
 

Public Attributes

sem_t * semaphore
 
std::string sem_name
 
HANDLE hSemaphore = nullptr
 

Member Typedef Documentation

◆ Ptr [1/2]

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

◆ Ptr [2/2]

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

Constructor & Destructor Documentation

◆ Impl() [1/2]

sese::system::Semaphore::Impl::Impl ( sem_t * sem,
std::string name )
inline

◆ ~Impl() [1/2]

sese::system::Semaphore::Impl::~Impl ( )
inline

◆ Impl() [2/2]

sese::system::Semaphore::Impl::Impl ( HANDLE handle)
inlineexplicit

◆ ~Impl() [2/2]

sese::system::Semaphore::Impl::~Impl ( )
inline

Member Function Documentation

◆ create() [1/2]

static Ptr sese::system::Semaphore::Impl::create ( std::string name,
uint32_t initial_count )
inlinestatic

◆ create() [2/2]

static Ptr sese::system::Semaphore::Impl::create ( std::string name,
uint32_t initial_count )
inlinestatic

◆ lock() [1/2]

bool sese::system::Semaphore::Impl::lock ( )
inline

◆ lock() [2/2]

bool sese::system::Semaphore::Impl::lock ( )
inline

◆ tryLock() [1/2]

bool sese::system::Semaphore::Impl::tryLock ( std::chrono::milliseconds ms)
inline

◆ tryLock() [2/2]

bool sese::system::Semaphore::Impl::tryLock ( std::chrono::milliseconds ms)
inline

References count().

◆ unlock() [1/2]

bool sese::system::Semaphore::Impl::unlock ( )
inline

◆ unlock() [2/2]

bool sese::system::Semaphore::Impl::unlock ( )
inline

Member Data Documentation

◆ hSemaphore

HANDLE sese::system::Semaphore::Impl::hSemaphore = nullptr

◆ sem_name

std::string sese::system::Semaphore::Impl::sem_name

◆ semaphore

sem_t* sese::system::Semaphore::Impl::semaphore

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