单军华
2018-07-11 7b02207537d35bfa1714bf8beafc921f717d100a
screendisplay/Pods/UMengUShare/UShareSDK/UMSocialSDK/UMSocialNetwork.framework/Headers/UMSocialTask.h
New file
@@ -0,0 +1,65 @@
//
//  UMSocialTask.h
//  UMSocialSDK
//
//  Created by 张军华 on 16/8/11.
//  Copyright © 2016年 dongjianxiong. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "UMSocialTaskConfig.h"
@class UMSocialTaskOperation;
@class UMSocialTask;
NS_ASSUME_NONNULL_BEGIN
/**
 *  task的回调代理
 */
@protocol UMSocialTaskDelegate <NSObject>
-(void)handleTask:(UMSocialTask*)task withError:(NSError*) error;
@end
/**
 *  所有网络请求的基本任务类
 */
@interface UMSocialTask : NSObject<NSCopying,NSCoding>
@property(nonatomic,assign)UMSocialHttpMethodType httpMethodType; //http请求类型
@property(nonatomic,copy)NSString* hostUrlPath;//http请求的host
@property(nonatomic,copy)NSString* relatedUrlPath;  //http请求的相对url
@property(nonatomic,strong)NSDictionary* paramDic;  //post或者get请求需要的字典
@property(nonatomic,copy)UMSocialTaskCompletion completion;//回调
@property(nonatomic,readonly,assign)NSInteger taskIdentifier; //唯一id
@property(nonatomic,readonly,assign)NSInteger retryCount;//retryCount
@property(nonatomic,readonly,assign)UMSoicalTaskState taskState;//task的状态
#pragma mark - override
/**
 *  创建的NSURLRequest
 *
 *  @return @see NSURLRequest
 *  @discuss 用户可以重载此函数,自己实现makeURLRequest的逻辑,
 *  如果不重载此函数会用
 *  默认会用httpMethodType,relatedUrlPath,paramDic来产生对应的NSURLRequest
 */
-(NSURLRequest*)makeURLRequest;
#pragma mark - private
/**
 *  在指定的operationTaskQueue的执行对应task的任务
 *
 *  @param operationTaskQueue @see NSOperationQueue
 *  @discuss 本函数不需要直接调用,UMSocialNetworkCore会自动调用
 *  @see  UMSocialTaskManager -(void)addAndExcuteSocialTask:(UMSocialTask*)task
 */
-(void)executeTaskWithOperationQueue:(NSOperationQueue*)operationTaskQueue;
@end
NS_ASSUME_NONNULL_END