PINOperationGroup.h 847 B

123456789101112131415161718192021222324252627282930313233343536
  1. //
  2. // PINOperationGroup.h
  3. // PINCache
  4. //
  5. // Created by Garrett Moon on 10/8/16.
  6. // Copyright © 2016 Pinterest. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "PINOperationQueue.h"
  10. NS_ASSUME_NONNULL_BEGIN
  11. @protocol PINGroupOperationReference;
  12. @interface PINOperationGroup : NSObject
  13. - (instancetype)init NS_UNAVAILABLE;
  14. + (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue;
  15. - (nullable id <PINGroupOperationReference>)addOperation:(dispatch_block_t)operation;
  16. - (nullable id <PINGroupOperationReference>)addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority;
  17. - (void)start;
  18. - (void)cancel;
  19. - (void)setCompletion:(dispatch_block_t)completion;
  20. - (void)waitUntilComplete;
  21. @end
  22. @protocol PINGroupOperationReference <NSObject>
  23. @end
  24. NS_ASSUME_NONNULL_END