You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

58 lines
2.6 KiB

// Copyright 2019 Google
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#import "FIRCLSFABAsyncOperation.h"
/**
* If the compound operation is sent a @c -[cancel] message while executing, it will attempt to
* cancel all operations on its internal queue, and will return an error in its @c asyncCompletion
* block with this value as its code.
*/
FOUNDATION_EXPORT const NSUInteger FIRCLSCompoundOperationErrorCodeCancelled;
/**
* If one or more of the operations on the @c compoundQueue fail, this operation returns an error
* in its @c asyncCompletion block with this code, and an array of @c NSErrors keyed on @c
* FIRCLSCompoundOperationErrorUserInfoKeyUnderlyingErrors in the @c userInfo dictionary.
*/
FOUNDATION_EXPORT const NSUInteger FIRCLSCompoundOperationErrorCodeSuboperationFailed;
/**
* When all the operations complete, this @c FIRCLSCompoundOperation instance's @c asyncCompletion
* block is called. If any errors were passed by the suboperations' @c asyncCompletion blocks, they
* are put in an array which can be accessed in the @c userInfo dictionary in the error parameter
* for this instance's @c asyncCompletion block.
*/
FOUNDATION_EXPORT NSString *const FIRCLSCompoundOperationErrorUserInfoKeyUnderlyingErrors;
/**
* An operation that executes a collection of suboperations on an internal private queue. Any
* instance of @c FIRCLSFABAsyncOperation passed into this instance's @c operations property has the
* potential to return an @c NSError in its @c asyncCompletion block. This instance's @c
* asyncCompletion block will put all such errors in an @c NSArray and return an @c NSError whose @c
* userInfo contains that array keyed by @c FIRCLSCompoundOperationErrorUserInfoKeyUnderlyingErrors.
*/
@interface FIRCLSCompoundOperation : FIRCLSFABAsyncOperation
/**
* An array of @c NSOperations to execute, which can include instances of @c FIRCLSFABAsyncOperation
* or
* @c FIRCLSCompoundOperation. This operation will not be marked as finished until all suboperations
* are marked as finished.
*/
@property(copy, nonatomic) NSArray<NSOperation *> *operations;
@property(strong, nonatomic, readonly) NSOperationQueue *compoundQueue;
@end