Exemple #1
0
        doCommandEnroll(string[] dataStr,
                        NetServerClient sender)
        {
            if (dataStr.Length != 4)
            {
                return;
            }


            string str = dataStr[1];
            string uId = dataStr[2];
            string sId = dataStr[3];

            FingerPrintAgent agent = agentManger.getAgetns()
                                     .Where(x => x.deviceModel.name == str)
                                     .FirstOrDefault();

            Action <uint, uint> action = (userId, subId) =>
            {
                sender.write($"{C_ENROLL}\n{userId}\n{subId}");
            };

            object[] obj = new object[]
            {
                Convert.ToUInt32(uId),
                Convert.ToByte(sId),
                action
            };


            agent.runCommand(AgentsManager.EnumCommands.Enroll,
                             obj);
        }
Exemple #2
0
        doCommandIdentify(string[] dataStr,
                          NetServerClient sender)
        {
            if (dataStr.Length != 2)
            {
                return;
            }


            string str = dataStr[1];

            FingerPrintAgent agent = agentManger.getAgetns()
                                     .Where(x => x.deviceModel.name == str)
                                     .FirstOrDefault();

            Action <uint, byte> action = (userId, subId) =>
            {
                sender.write($"{C_IDENTIFY}\n{userId}\n{subId}");
            };

            object[] obj = new object[]
            {
                action
            };

            agent.runCommand(AgentsManager.EnumCommands.Identify,
                             obj);
        }
Exemple #3
0
        doCommandIdentifyTemplate(string[] dataStr,
                                  NetServerClient sender)
        {
            if (dataStr.Length != 3)
            {
                return;
            }


            string str = dataStr[1];

            byte[] data = Convert.FromBase64String(dataStr[2]);

            FingerPrintAgent agent = agentManger.getAgetns()
                                     .Where(x => x.deviceModel.name == str)
                                     .FirstOrDefault();

            Action <uint, byte> action = (userId, subId) =>
            {
                sender.write($"{C_IDENTIFY_TEMPLATE}\n{userId}\n{subId}");
            };

            object[] obj = new object[]
            {
                data,
                action
            };

            agent?.runCommand(AgentsManager.EnumCommands.IdentifyTemplate,
                              obj);
        }
Exemple #4
0
        doCommandReadTemplate(string[] dataStr,
                              NetServerClient sender)
        {
            if (dataStr.Length != 3)
            {
                return;
            }


            string str = dataStr[1];
            string uId = dataStr[2];

            FingerPrintAgent agent = agentManger.getAgetns()
                                     .Where(x => x.deviceModel.name == str)
                                     .FirstOrDefault();

            Action <uint, byte[]> action = (userId, data) =>
            {
                sender.write($"{C_READ_TEMPLATE}\n{userId}\n{data.Length}\n{Convert.ToBase64String (data)}");
            };

            object[] obj = new object[]
            {
                Convert.ToUInt32(uId),
                action
            };

            agent?.runCommand(AgentsManager.EnumCommands.ReadTemplate,
                              obj);
        }
Exemple #5
0
        doCommandDeviceList(string[] dataStr,
                            NetServerClient sender)
        {
            string[] str = agentManger.getAgetns()
                           .Select(x => x.deviceModel.name)
                           .ToArray();

            string result = string.Join(C_SEPARATOR.ToString(),
                                        str);

            sender.write($"{C_DEVICES_LIST}\n{result}");
        }
Exemple #6
0
        onServerDataReceived(NetServerClient sender,
                             byte[] data,
                             int len)
        {
            string[] dataStr = data.toStringUTF8()
                               .Split(C_SEPARATOR);

            if (dataStr.Length == 0)
            {
                return;
            }


            if (dataStr[0] == C_IDENTIFY_TEMPLATE)
            {
                doCommandIdentifyTemplate(dataStr,
                                          sender);
            }

            else if (dataStr[0] == C_ENROLL_TEMPLATE)
            {
                doCommandEnrollTemplate(dataStr,
                                        sender);
            }

            else if (dataStr[0] == C_READ_TEMPLATE)
            {
                doCommandReadTemplate(dataStr,
                                      sender);
            }

            else if (dataStr[0] == C_DEVICES_LIST)
            {
                doCommandDeviceList(dataStr,
                                    sender);
            }

            else if (dataStr[0] == C_ENROLL)
            {
                doCommandEnroll(dataStr,
                                sender);
            }

            else if (dataStr[0] == C_IDENTIFY)
            {
                doCommandIdentify(dataStr,
                                  sender);
            }
        }
Exemple #7
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);
        }
Exemple #8
0
 onServerClientDisconnected(NetServerClient sender)
 {
     //throw new NotImplementedException ();
 }
Exemple #9
0
 parse(NetServerClient client,
       byte[] data,
       int len)
 {
     /// Parse the command
 }