3#include "system/object.h"
4#include "system/threading/wait_handle.h"
7namespace System {
namespace Threading {
24 ASPOSECPP_SHARED_API
Semaphore(
int initialCount,
int maximumCount);
29 ASPOSECPP_SHARED_API
Semaphore(
int initialCount,
int maximumCount,
const String& name);
35 ASPOSECPP_SHARED_API
Semaphore(
int initialCount,
int maximumCount,
const String& name,
bool& createdNew);
38 virtual ASPOSECPP_SHARED_API
bool Reset();
40 virtual ASPOSECPP_SHARED_API
bool Set();
44 virtual ASPOSECPP_SHARED_API
bool WaitOne()
override;
48 virtual ASPOSECPP_SHARED_API
bool WaitOne(
int millisecondsTimeout)
override;
55 ASPOSECPP_SHARED_API
int Release(
int releaseCount);
59 std::shared_ptr<SemaphoreHandler> m_semaphore_handler;
66 void CheckArguments(
int initialCount,
int maximumCount);
72 void ConstructNamed(
int initialCount,
int maximumCount,
const String &name,
bool &createdNew);
String class used across the library. Is a substitute for C# System.String when translating code....
Definition: string.h:122
Semaphore implementation. Objects of this class should only be allocated using System::MakeObject() f...
Definition: semaphore.h:16
int Release()
Releases lock on semaphore.
int Release(int releaseCount)
Releases multiple locks on semaphore.
Semaphore(int initialCount, int maximumCount, const String &name)
Creates named semaphore.
virtual bool Reset()
Sets semaphore to non-signalled state. Not supported.
virtual bool WaitOne() override
Locks semaphore. Performs unlimited waiting if neccessary.
virtual bool WaitOne(int millisecondsTimeout) override
Locks semaphore. Performs waiting if neccessary.
virtual bool Set()
Sets semaphore to signalled state. Not supported.
Semaphore(int initialCount, int maximumCount, const String &name, bool &createdNew)
Creates named semaphore.
Semaphore(int initialCount, int maximumCount)
Creates unnamed semaphore.
Waiting primitive base class. Objects of this class should only be allocated using System::MakeObject...
Definition: wait_handle.h:20
Definition: db_command.h:9