12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*
- * Copyright (c) 2014, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
- #import "OSSCancellationTokenSource.h"
- #import "OSSCancellationToken.h"
- NS_ASSUME_NONNULL_BEGIN
- @interface OSSCancellationToken (OSSCancellationTokenSource)
- - (void)cancel;
- - (void)cancelAfterDelay:(int)millis;
- - (void)dispose;
- - (void)throwIfDisposed;
- @end
- @implementation OSSCancellationTokenSource
- #pragma mark - Initializer
- - (instancetype)init {
- self = [super init];
- if (!self) return self;
- _token = [OSSCancellationToken new];
- return self;
- }
- + (instancetype)cancellationTokenSource {
- return [OSSCancellationTokenSource new];
- }
- #pragma mark - Custom Setters/Getters
- - (BOOL)isCancellationRequested {
- return _token.isCancellationRequested;
- }
- - (void)cancel {
- [_token cancel];
- }
- - (void)cancelAfterDelay:(int)millis {
- [_token cancelAfterDelay:millis];
- }
- - (void)dispose {
- [_token dispose];
- }
- @end
- NS_ASSUME_NONNULL_END
|