Pen Li 9 лет назад
Родитель
Сommit
e3dcdd1b95
2 измененных файлов с 16 добавлено и 0 удалено
  1. 10 0
      common/upload/RAUploadManager.h
  2. 6 0
      common/upload/RAUploadManager.m

+ 10 - 0
common/upload/RAUploadManager.h

@@ -9,6 +9,14 @@
 #import <Foundation/Foundation.h>
 #import "RAUploadOperation.h"
 
+@class RAUploadManager;
+@protocol RAUploadManagerDelegate <NSObject>
+
+@required
+- (void)uploadManager:(RAUploadManager *)manager didRemoveTasks:(NSArray *)tasks;
+
+@end
+
 @interface RAUploadManager : NSObject
 @property (assign) int maxThread;
 @property (assign) int activeThread;
@@ -25,4 +33,6 @@
 
 @property (strong,nonatomic) NSOperationQueue* operation_queue;
 
+@property (nonatomic,weak) id <RAUploadManagerDelegate> delegate;
+
 @end

+ 6 - 0
common/upload/RAUploadManager.m

@@ -89,6 +89,9 @@
         [fmanager removeItemAtPath:task[@"file_path"] error:&error];
     }
     [[self mutableArrayValueForKey:@"arr_queue"] removeObjectsInArray:tasks];
+    if (self.delegate && [self.delegate respondsToSelector:@selector(uploadManager:didRemoveTasks:)]) {
+        [self.delegate uploadManager:self didRemoveTasks:tasks];
+    }
 }
 
 -(void) removeTask:(NSMutableDictionary*) task
@@ -100,6 +103,9 @@
     [fmanager removeItemAtPath:task[@"file_path"] error:&error];
     
     [[self mutableArrayValueForKey:@"arr_queue"] removeObject:task];
+    if (self.delegate && [self.delegate respondsToSelector:@selector(uploadManager:didRemoveTasks:)]) {
+        [self.delegate uploadManager:self didRemoveTasks:@[task]];
+    }