//
//  WXCOMacros.h
//  WXDownloadingKit
//
//  Created by Davinci.Pi on 2020/3/5.
//  Copyright © 2020 Davinci.Pi. All rights reserved.
//

#ifndef WXCOMacros_h
#define WXCOMacros_h

/// 是否是空的判断，在下载管理模块中有大量使用
#define WXCOIsNilOrNull(_ref)   (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]))

//字符串是否为空
#define WXCOStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO )

/// 节点下载状态（针对视频、直接打开的PDF等）
typedef NS_ENUM (NSInteger, DownloadState) {
    /// 未下载
    stateNoDownload,
    /// 正在下载中
    stateDownloading,
    /// 等待下载
    stateWaiting,
    /// 下载暂停
    statePaused,
    /// 下载完成
    stateCompleted,
    /// 下载异常
    stateInterupt,
    /// 下载完成一部分（讲义库）
    stateCompletedPart
};

/// 课件类型。1:直播；2:回放；3:视频；4:文档；5:讲义；6:服务
typedef NS_ENUM(NSUInteger, COLessonType) {
    /// 1:直播（19课堂、中公直播）
    COLessonTypeLive = 1,
    /// 2:回放（19课堂、中公直播）
    COLessonTypePlayback,
    /// 3:视频课件
    COLessonTypeVideo,
    /// 4:文档(pdf)
    COLessonTypePdf,
    /// 5:讲义库
    COLessonTypeFold,
    /// 6:服务(外部链接)
    COLessonTypeLink,
    /// 占位用 1:资料课件（不明格式的文档，app不支持下载）
    COLessonTypeDocument,
    /// 占位用 3:直播课程（19课堂直播）
    COLessonTypeLive19,
    /// 占位用 4:练习
    COLessonTypeExercise,
    /// 占位用 8:占位用
    COLessonTypeUnknow1,
    /// 占位用 9:小雨直播
    COLessonTypeOffcnLive
};

/// 直播/回放类型。1:中公直播；2:19课堂；3:展示互动
typedef NS_ENUM(NSUInteger, COLiveType) {
    /// 1:中公直播
    COLiveTypeOffcnLive = 1,
    /// 2:19课堂
    COLiveTypeLive19,
    /// 3:展示互动
    COLiveTypeGenseeLive
};

/// PDF文档的类型
typedef NS_ENUM(NSUInteger, COPdfType) {
    /// 讲义类型的PDF
    COPdfTypeHandouts,
    /// 试卷类型的PDF
    COPdfTypePaper
};


#endif /* WXCOMacros_h */
