#include <opennurbs_lock.h>
Public Types | |
| enum | : int { UnlockedValue = 0, DefaultLockedValue = 1, InvalidLockValue = -1 } |
| ON_Lock::InvalidLockValue (= -1) may never be used as a lock value. More... | |
Public Member Functions | |
| ON_Lock ()=default | |
| ON_Lock (const ON_Lock &)=default | |
| ~ON_Lock ()=default | |
| int | BreakLock () |
| bool | GetDefaultLock () |
| bool | GetLock (int lock_value) |
| int | IsLocked () |
| ON_Lock & | operator= (const ON_Lock &)=default |
| bool | ReturnDefaultLock () |
| bool | ReturnLock (int lock_value) |
/ / Copyright (c) 1993-2013 Robert McNeel & Associates. All rights reserved. / OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert / McNeel & Associates. / / THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. / ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF / MERCHANTABILITY ARE HEREBY DISCLAIMED. / / For complete openNURBS copyright information see http://www.opennurbs.org. / ////////////////////////////////////////////////////////////// Description: ON_Lock is a thread safe lock semephore. It is implemented using platform specfic compare and set functions.
| anonymous enum : int |
ON_Lock::InvalidLockValue (= -1) may never be used as a lock value.
| Enumerator | |
|---|---|
| UnlockedValue | |
| DefaultLockedValue | |
| InvalidLockValue | |
|
default |
|
default |
|
default |
| int ON_Lock::BreakLock | ( | ) |
Description: Unconditionally sets the lock value to ON_Lock::UnlockedValue. Returns: previous value of the lock. ON_Lock::UnlockedValue indicates the lock was available otherwise the lock passed to GetLock() is returned
| bool ON_Lock::GetDefaultLock | ( | ) |
Description: Calls GetLock(ON_Lock::DefaultLockedValue); Returns: True if the lock state was unlocked and the current lock value was changed from ON_Lock::UnlockedValue to ON_Lock::DefaultLockedValue. False otherwise.
| bool ON_Lock::GetLock | ( | int | lock_value | ) |
Parameters: lock_value - [in] any value except ON_Lock::UnlockedValue or ON_Lock::InvalidLockValue. Typically ON_Lock::DefaultLockedValue is used. Returns: True if the lock_value parameter was valid and the current lock value was changed from ON_Lock::UnlockedValue to lock_value. False otherwise.
| int ON_Lock::IsLocked | ( | ) |
Returns: Current lock value ON_Lock::UnlockedValue indicates the the resource protected by the lock is available.
| bool ON_Lock::ReturnDefaultLock | ( | ) |
Description: Calls ReturnLock(ON_Lock::DefaultLockedValue); Returns: True if the lock state was locked with a locak value = ON_Lock::DefaultLockedValue and the current lock value was changed from ON_Lock::DefaultLockedValue to ON_Lock::UnlockedValue. False otherwise.
| bool ON_Lock::ReturnLock | ( | int | lock_value | ) |
Parameters: lock_value - [in] any value except ON_Lock::UnlockedValue or ON_Lock::InvalidLockValue. Typically this is the value that was passed to GetLock(). Returns: True if the lock_value parameter was valid and the current lock value was changed from that value to zero. False otherwise.