//
//  THIDMCHTJCViewManger.h
//  THIDMCHTJCViewManger
//
//  Created by golang on 2017/3/9.
//  Copyright © 2017年 hisign. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface HTJCFaceLiveDetectManager : NSObject

/*  加载活检控制器的方式 0 和 2 方式隐藏了导航栏.活检结束后请根据自身需求修改导航栏.
 *  0:(默认方式):直接使用当前控制器(addSubview);
 *  1:(推荐使用):present方式弹出一个新控制器加载活体检测;
 *  2: push方式弹出一个新控制器加载活体检测.
 */
@property (nonatomic, assign) NSInteger navType;

/*
 *  配置动作数组(有默认动作)
 */
@property (nonatomic, strong) NSArray *liveDetectTypeArray;

/*
 *  设置是否使用后置摄像头 默认否
 */
@property (nonatomic, assign) BOOL isCameraBack;


/*  获取实例对象
 *
 *  _vc : 传入当前控制器
 */
+ (HTJCFaceLiveDetectManager *)sharedManager:(UIViewController*)_vc;

/*      活体检测
 *
 *      _completion:成功回调
 *      _cancel:取消回调
 *      _failed:失败回调
 */
- (void)getLiveDetectCompletion:(void (^)(BOOL success, NSData * imageData))_completion
                         cancel:(void (^)(BOOL success, NSError* error))_cancel
                         failed:(void (^)(NSError *error, NSData *imageData))_failed;

/**
 *  退出活体 
 */
- (void)dismissTakeCaptureSessionViewController;


/**
 *  界面代理设置   需要实现 HTJCLiveDetectViewDelegate 代理方法
 *
 *  @param delegate 代理
 */
- (void)setDetectViewListener:(id)delegate;


#pragma mark -
#pragma mark 内部版本记录
/**
 *  获取framework版本号
 *
 *  @return 版本号
 */
- (NSString *)getBundleVersion;

/**
 *  获取算法SDK版本号
 *
 *  @return 版本号
 */
- (NSString *)getSDKVersion;

@end
