52 lines
1.0 KiB
Objective-C
Executable File
52 lines
1.0 KiB
Objective-C
Executable File
//
|
|
// ALAtomicBoolean.h
|
|
// AppLovinSDK
|
|
//
|
|
// Created by Thomas So on 3/5/17.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* A boolean value that may be updated atomically.
|
|
*
|
|
* NOTE: This class is used by our adapters (ironSource), do not change API.
|
|
*/
|
|
@interface ALAtomicBoolean : NSObject
|
|
|
|
/**
|
|
* Returns the current value.
|
|
*/
|
|
- (BOOL)get;
|
|
|
|
/**
|
|
* Unconditionally sets to the given value.
|
|
*/
|
|
- (void)set:(BOOL)newValue;
|
|
|
|
/**
|
|
* Atomically sets to the given value and returns the previous value.
|
|
*/
|
|
- (BOOL)getAndSet:(BOOL)newValue;
|
|
|
|
/**
|
|
* Atomically sets the value to the given updated value if the current value == the expected value.
|
|
*
|
|
* @param expect The expected value.
|
|
* @param update The new value.
|
|
*
|
|
* @return YES if successful. NO return indicates that the actual value was not equal to the expected value.
|
|
*/
|
|
- (BOOL)compareAndSet:(BOOL)expect update:(BOOL)update;
|
|
|
|
/**
|
|
* Creates an instance with the default BOOL value.
|
|
*/
|
|
- (instancetype)initWithValue:(BOOL)initialValue;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|