Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }