// // RAUploadManager.h // test_autolayout // // Created by Ray on 02/05/2017. // Copyright © 2017 USAI. All rights reserved. // #import #import "RAUploadOperation.h" #import "Reachability.h" //@class RAUploadManager; ////@protocol RAUploadManagerDelegate // ////@required ////- (void)uploadManager:(RAUploadManager *)manager didRemoveTasks:(NSArray *)tasks; // //@end typedef NS_ENUM(NSInteger, QueueStatus) { QueueStatusDefault = 0, QueueStatusAdd = 1, QueueStatusError = 2, QueueStatusFinishWithError = 3, QueueStatusFinish = 4 }; @interface RAUploadManager : NSObject @property (assign) int maxThread; @property (assign) int activeThread; @property (assign) int maxRetry; @property (nonatomic,assign) int retryTimeInterval; @property (assign) TaskStatus newtaskStatus; @property (strong,nonatomic) NSMutableArray* arr_queue; //-(void) upload:(NSString*) url; -(void) addTask:(NSMutableDictionary*) task; -(void) addTasks:(NSMutableArray*) tasks; @property (nonatomic,assign) BOOL onlyWiFi; //@property (assign) bool removeFinish; //@property (assign) bool removeError; @property (assign) bool autoStart; @property (assign) QueueStatus queue_status; @property (nonatomic,strong) Reachability *reach; //@property (strong,nonatomic) NSLock* arr_queue_lock; @property (strong,nonatomic) NSOperationQueue* operation_queue; -(void) startTask:(NSMutableDictionary*) task; -(void) removeTask:(NSMutableDictionary*) task; -(void) removeTasks:(NSMutableArray*) tasks; -(void) stopAllTasks; -(void) saveTasks; //@property (nonatomic,weak) id delegate; - (BOOL)canUpload; - (void)addRetryOperation:(RAUploadOperation *)operation; @end