enroll(uint userId, UF_ENROLL_OPTION option, ref uint enrolledUserId, ref uint imageQuality) { UF_RET_CODE result; result = supremaEngine.UF_Enroll(userId, option, ref enrolledUserId, ref imageQuality); return(result); }
enroll(uint userId, UF_ENROLL_OPTION option, uint templateSize, byte[] templateData, ref uint enrolledUserId) { UF_RET_CODE result; result = supremaEngine.UF_EnrollTemplate(userId, option, templateSize, templateData, ref enrolledUserId); return(result); }
enrollByTemplate(uint userId, object option, uint templateSize, byte[] templateData, Action <uint> callback) { uint enrolledUserId = 0; UF_ENROLL_OPTION options = (UF_ENROLL_OPTION)option; UF_RET_CODE result = deviceAgent.enroll(userId, options, templateSize, templateData, ref enrolledUserId); callback?.Invoke(enrolledUserId); return(result); }
doCommandEnrollTemplate(string[] dataStr, NetServerClient sender) { if (dataStr.Length != 4) { return; } string str = dataStr[1]; string uId = dataStr[2]; byte[] data = Convert.FromBase64String(dataStr[3]); FingerPrintAgent agent = agentManger.getAgetns() .Where(x => x.deviceModel.name == str) .FirstOrDefault(); Action <uint> action = (userId) => { sender.write($"{C_ENROLL_TEMPLATE}\n{userId}"); }; UF_ENROLL_OPTION options = UF_ENROLL_OPTION.UF_ENROLL_NONE; object[] obj = new object[] { Convert.ToUInt32(uId), options, data, action }; agent?.runCommand(AgentsManager.EnumCommands.EnrollTemplate, obj); }
runCommand(AgentsManager.EnumCommands command, object[] data) { switch (command) { case AgentsManager.EnumCommands.ReadTemplate: if (data.Length == 2) { return(readTemplate(Convert.ToUInt32(data[0]), (Action <uint, byte[]>)data[1])); } return(-1); case AgentsManager.EnumCommands.Enroll: if (data.Length == 3) { UF_ENROLL_OPTION options = UF_ENROLL_OPTION.UF_ENROLL_NONE; return(enroll(Convert.ToUInt32(data[0]), options, (Action <uint, uint>)data[2])); } return(-1); case AgentsManager.EnumCommands.EnrollTemplate: if (data.Length == 4) { byte[] template = (byte[])data[2]; return(enrollByTemplate(Convert.ToUInt32(data[0]), data[1], (uint)template.Length, template, (Action <uint>)data[3])); } return(-1); case AgentsManager.EnumCommands.Identify: if (data.Length == 1) { return(identify((Action <uint, byte>)data[0])); } return(-1); case AgentsManager.EnumCommands.IdentifyTemplate: if (data.Length == 2) { byte[] template = (byte[])data[0]; return(identifyByTemplate((uint)template.Length, template, (Action <uint, byte>)data[1])); } return(-1); case AgentsManager.EnumCommands.Start: if (data.Length == 2) { return(connect(data[0].ToString(), Convert.ToInt32(data[1]))); } else if (data.Length == 3) { return(connect(data[0].ToString(), Convert.ToInt32(data[1]), Convert.ToBoolean(data[2]))); } return(-1); case AgentsManager.EnumCommands.Finish: return(disconnect()); } return(null); }