001package net.gdface.mtfsdk;
002
003/**
004 * SDK初始化状态
005 * @author guyadong
006 *
007 */
008public enum SdkStatus {
009        SDK_UNINITIALIZED("sdk uninitialized(未初始化)"),
010        SDK_INIT_OK(0,"init ok(初始化成功)"),
011        SDK_INVALID_ARG(-51,"invalid argument(参数为空)"),
012        SDK_NOT_FOUND_FILE(-52,"not found file(文件找不到)"),
013        SDK_NOT_EXIST_FILE(-53,"not exist file(文件不存在)"),
014        SDK_NOT_FOUND_RECON_MODEL(-60,"not found model file(识别模型文件找不到)"),
015        SDK_FAIL_LOAD_RECON_MODEL(-61,"fail to load model file(人脸识别模型加载失败)"),
016        SDK_FAIL_INIT_RECON_MODULE(-62,"fail to init recon module(识别模块初始化失败)"),
017        SDK_FAIL_INIT_DETECT_MODULE(-63,"fail to init detect module(人脸检测模块初始化失败)"),
018        SDK_NULL_HANDLE(-64,"null handle(句柄为空)"),
019        SDK_IMG_ARG_ERROR(-65,"null handle(图像参数错误)"),
020        SDK_AUTHOR_ERROR (-66,"AUTHOR ERROR"),
021        SDK_UNREGISTERED_DEVICE(-67,"unregistered device(设备未注册,请联系管理员)"),
022        SDK_COMMUNICATION_ERROR(-68,"communication error(通讯异常)"),
023        SDK_SN_ERROR(-401,"serial number error(获取系列号失败)"),
024        SDK_LICENSE_DECRYPT_ERROR(-402,"unlocal license decode error(非本地授权文件中的授权码解码失败)"),
025        SDK_TIMEOUT(-403,"time out(适用时间限制)"),
026        SDK_LOCAL_LICENSE_DECRYPT_ERROR(-404,"local license decode error(本地授权文件中的授权码解码失败)"),
027        SDK_NO_EXIST_LOCAL_LICENSE(-405,"not exist local license(本地授权文件不存在或者为空或者无权限)"),
028        SDK_FAIL_LICENSE_COMPARE(-406,"fail to compare license(授权码与当前设备信息不吻合)"),
029        SDK_FAIL_GET_MAC(-407,"fail to compare license(获取不到MAC地址)"),
030        SDK_CHANNEL_ID_EXCEED(-408,"channel id exceed (超出最大路数ID)"),
031        SDK_UNINITIZLIED_CHANNEL(-501,"uninitizlied channel(当前通道未初始化)"),
032        SDK_INPUT_DATA_ERROR(-502,"input data error(输入数据不正确)"),
033        LICENSE_ERROR("License error(在线授权异常)"),
034        UNKNOW_ERROR("Unknown result(未知错误)"),
035        OTHER_EXCEPTION("Exception");
036        /** 状态描述信息 */
037        final String msg;
038        /** 状态码 */
039        final int error;
040        private SdkStatus(String msg){
041                this(-1, msg);
042        }
043        private SdkStatus(int error,String msg){
044                this.error = error;
045                this.msg = msg;         
046        }
047        /**
048         * 根据SDK jni调用返回的状态码返回{@link SdkStatus}实例
049         * @param code
050         * @return
051         */
052        static SdkStatus jniCode(int code){
053                switch(code){
054                case 0 :
055                        return SDK_INIT_OK;
056                case -51:
057                        return SDK_INVALID_ARG;
058                case -52:
059                        return SDK_NOT_FOUND_FILE;
060                case -53:
061                        return SDK_NOT_EXIST_FILE;
062                case -60:
063                        return SDK_NOT_FOUND_RECON_MODEL;
064                case -61:
065                        return SDK_FAIL_LOAD_RECON_MODEL;
066                case -62:
067                        return SDK_FAIL_INIT_RECON_MODULE;
068                case -63:
069                        return SDK_FAIL_INIT_DETECT_MODULE;
070                case -64:
071                        return SDK_NULL_HANDLE;
072                case -65:
073                        return SDK_IMG_ARG_ERROR;
074                case -66:
075                        return SDK_AUTHOR_ERROR;
076                case -67:
077                        return SDK_UNREGISTERED_DEVICE;
078                case -68:
079                        return SDK_COMMUNICATION_ERROR;
080                case -401:
081                        return SDK_SN_ERROR;
082                case -402:
083                        return SDK_LICENSE_DECRYPT_ERROR;
084                case -403:
085                        return SDK_TIMEOUT;
086                case -404:
087                        return SDK_LOCAL_LICENSE_DECRYPT_ERROR;
088                case -405:
089                        return SDK_NO_EXIST_LOCAL_LICENSE;
090                case -406:
091                        return SDK_FAIL_LICENSE_COMPARE;
092                case -407:
093                        return SDK_FAIL_GET_MAC;
094                case -408:
095                        return SDK_CHANNEL_ID_EXCEED;
096                case -501:
097                        return SDK_UNINITIZLIED_CHANNEL;
098                case -502:
099                        return SDK_INPUT_DATA_ERROR;
100                default:
101                        return UNKNOW_ERROR;
102                }
103        }
104}