Rhino C++ API  7.21
Public Types | Public Member Functions | List of all members
ON_Lock Class Reference

#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_Lockoperator= (const ON_Lock &)=default
 
bool ReturnDefaultLock ()
 
bool ReturnLock (int lock_value)
 

Detailed Description

NoKeywords

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

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : int

ON_Lock::InvalidLockValue (= -1) may never be used as a lock value.

Enumerator
UnlockedValue 
DefaultLockedValue 
InvalidLockValue 

Constructor & Destructor Documentation

◆ ON_Lock() [1/2]

ON_Lock::ON_Lock ( )
default

◆ ~ON_Lock()

ON_Lock::~ON_Lock ( )
default

◆ ON_Lock() [2/2]

ON_Lock::ON_Lock ( const ON_Lock )
default

Member Function Documentation

◆ BreakLock()

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

◆ GetDefaultLock()

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.

◆ GetLock()

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.

◆ IsLocked()

int ON_Lock::IsLocked ( )

Returns: Current lock value ON_Lock::UnlockedValue indicates the the resource protected by the lock is available.

◆ operator=()

ON_Lock& ON_Lock::operator= ( const ON_Lock )
default

◆ ReturnDefaultLock()

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.

◆ ReturnLock()

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.