UMSocialTaskConfig.h 1.72 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
//
//  UMSocialTaskConfig.h
//  UMSocialSDK
//
//  Created by 张军华 on 16/8/12.
//  Copyright © 2016年 dongjianxiong. All rights reserved.
//

#import <Foundation/Foundation.h>

//task的网络请求
typedef NS_ENUM(NSInteger, UMSocialHttpMethodType)
{
    UMSocialHttpMethodTypeGet,
    UMSocialHttpMethodTypePut,
    UMSocialHttpMethodTypePost,
    UMSocialHttpMethodTypeMultipartPost,
    UMSocialHttpMethodTypeMultipartPut,
    UMSocialHttpMethodTypeDelete
};

//task的状态
typedef NS_ENUM(NSInteger, UMSoicalTaskState)
{
    UMSoicalTaskState_Paused                = -1,//目前没用
    UMSoicalTaskState_Ready                 = 1,
    UMSoicalTaskState_Executing             = 2,
    UMSoicalTaskState_ExecutingDependency   = 3,
    UMSoicalTaskState_Finished              = 4,
    UMSoicalTaskState_Canceled              = 5,//目前没有用
    UMSoicalTaskState_Error                 = 6,
};


/**
 *  task完成的回调
 *
 *  @param result 返回的数据
 *  @param error  @see NSError
 */
typedef void (^UMSocialTaskCompletion)(id result,NSError* error);


/**
 *  task error
 */
extern NSString* const UMSoicalTaskErrorDomain;
extern NSString* const UMSoicalTaskErrorUserInfoKey;
typedef NS_ENUM(NSInteger, UMSoicalTaskErrorType)
{
    UMSoicalTaskErrorType_UnKnown,
    UMSoicalTaskErrorType_ParameterError,//参数错误 例如没有设置OperationQueue等
    UMSoicalTaskErrorType_CFNetworkErrors, //http的请求的错误 @see CFNetworkErrors,该错误放在UMSoicalTaskErrorUserInfoKey为key的字典中
    UMSoicalTaskErrorType_UMSoicalServerCode,//服务器的错误,根据当前UMSocial服务器的错误码文档来区分
};

extern NSError* errorWithSoicalTaskError(UMSoicalTaskErrorType taskErrorType,id userInfo);